Catálogo de publicaciones - libros
Este recurso está disponible en las siguientes plataformas
Tabla de contenidos
The Need for Web Engineering: An Introduction
Emilia Mendes; Nile Mosley; Steve Counsell
The objective of this chapter is three-fold. First, it provides an overview of differences between Web and software development with respect to their development processes, technologies, quality factors, and measures. Second, it provides definitions for terms used throughout the book. Third, it discusses the need for empirical investigations in Web engineering and presents the three main types of empirical investigations — surveys, case studies, and formal experiments.
Web Effort Estimation
Emilia Mendes; Nile Mosley; Steve Counsell
Software effort models and effort estimates help project managers allocate resources, control costs, and schedule and improve current practices, leading to projects that are finished on time and within budget. In the context of Web development and maintenance, these issues are also crucial, and very challenging, given that Web projects have short schedules and a highly fluidic scope. Therefore this chapter has two main objectives. The first is to introduce the concepts related to effort estimation and in particular Web effort estimation. The second is to present a case study where a real effort prediction model based on data from completed industrial Web projects is constructed step by step.
Web Productivity Measurement and Benchmarking
Emilia Mendes; Barbara Kitchenham
Project managers use software productivity measures to assess software development efficiency. Productivity is commonly measured as the ratio of output to input. Within the context of software development, output is often assumed to be product size and input to be effort. However, Web applications are often characterised using several different size measures and there is no standard model for aggregating those measures into a single size measure. This makes it difficult to measure Web application productivity.
In this chapter, we present a productivity measurement method, which allows for the use of different size measures. An advantage of the method is that it has a built-in interpretation scale. It ensures that each project has an expected productivity value of one. Values between zero and one indicate lower than expected productivity; values greater than one indicate higher than expected productivity. We demonstrate how to use the method by analysing the productivity of Web projects from the Tukutuku database.
Luis Olsina; Guillermo Covella; Gustavo Rossi
In this chapter we analyse the different quality perspectives of software and Web applications. In particular, we review quality taking into account the ISO (International Organization for Standardization) standards for software product, and discuss the distinction between quality and quality in use, and how different requirements, from different users’ standpoints, should be considered as well. Moreover, we also describe Web quality and how it can be measured and evaluated. In order to illustrate the specific procedures and processes of an inspection evaluation methodology, a case study on the external quality of the shopping cart component of two typical e-commerce Web applications is presented.
Web Usability: Principles and Evaluation Methods
Maristella Matera; Francesca Rizzo; Giovanni Toffetti Carughi
Current Web applications are very complex and highly sophisticated software products, whose usability can greatly determine their success or failure. Defining methods for ensuring usability is one of the current goals of Web engineering research. Also, much attention is currently paid to usability by industry, recognising the importance of adopting methods for usability evaluation before and after application deployment. This chapter introduces principles and evaluation methods to be adopted during the whole application lifecycle for promoting usability. For each evaluation method, the main features, as well as the emerging advantages and drawbacks, are illustrated so as to support the choice of an evaluation plan that best fits the goals to be pursued and the available resources. The design and evaluation of a real application is also described for exemplifying the concepts and methods introduced.
Web System Reliability and Performance
Mauro Andreolini; Michele Colajanni; Riccardo Lancellotti
Modern Web applications provide multiple services that are deployed through complex technologies. The importance and the economic impact of consumer-oriented Web applications introduce significant requirements in terms of performance and reliability. This chapter presents several methods to design new, and improve existing, Web applications that, even within a context of unpredictable load variations, must satisfy performance requirements. The chapter also provides a case study that describes the application of the proposed methods to a typical consumeroriented Web application.
Web Application Testing
Giuseppe A. Di Lucca; Anna Rita Fasolino
Web applications are characterised by peculiarities that differentiate them from any other software application. These peculiarities affect their testing in several ways, which may result in harder than traditional application testing. Suitable methods and techniques have to be defined and used to test Web applications effectively. This chapter will present the main differences between Web applications and traditional ones, and how these differences impact the testing of Web applications. It also discusses relevant contributions in the field of Web application testing, proposed recently. The focus of the chapter is mainly on testing the functionality of a Web application, although discussions about the testing of non-functional requirements are provided too. Readers are required to have a general knowledge of software testing and Web technologies.
An Overview of Process Improvement in Small Settings
Khaled El Emam
Existing software process improvement approaches can be applied successfully to small projects and small organisations. However, they need to customised and the techniques used have to be adapted for small settings. This chapter provides a pragmatic discussion of issues requires to implement software process improvement in small settings, covering the practical obstacles that are likely to be faced and ways to address them.
Conceptual Modelling of Web Applications: The OOWS Approach
Oscar Pastor; Joan Fons; Vicente Pelechano; Silvia Abrahão
This chapter introduces a method that integrates navigational and presentational designs to object-oriented conceptual modelling, and also provides systematic code generation. The essential expressiveness is provided using graphical schemas that specify navigation and presentation features, and use high-level abstraction primitives. Using conceptual schemas as input, a methodology is defined to systematically take a problem space to the solution space by defining a set of correspondences between conceptual modelling abstractions and the final software components. We also provide a case study that details the application of the proposed methodology.
Model-Based Web Application Development
Gustavo Rossi; Daniel Schwabe
In this chapter we present our experience with the Object-Oriented Hypermedia Design Method (OOHDM), a model-based approach for developing Web applications. We first describe the main activities in OOHDM and then we illustrate the application of the method with a simple example, a CD store.
W2000: A Modelling Notation for Complex Web Applications
Luciano Baresi; Sebastiano Colazzo; Luca Mainetti; Sandro Morasca
This chapter presents W2000, a complete notation for modelling complex Web applications. All W2000 concepts are based on a precise meta-model that characterises the different notation elements and identifies the relationships between them. After introducing the modelling concepts and the hierarchical organisation of W2000 models, the chapter exemplifies the main modelling features through a case study and clarifies some design alternatives. The chapter also describes the tool support offered by W2000.
What You Need To Know About Statistics
Katrina D. Maxwell
How do you measure the value of data? Not by the amount you have, but by what you can learn from it. Statistics provides a way to extract valuable information from your data. It is a science concerned with the collection, classification, and interpretation of data according to well-defined procedures. For a manager, however, statistics is simply one of many diverse techniques that may improve decision-making.
The purpose of this chapter is to develop a deeper understanding of the statistical methods used to analyse software project data. The methods used to analyse software project data come from the branch of statistics known as multivariate statistical analysis. These methods investigate relationships between two or more variables. However, before we delve into detailed explanations of chi-square tests, correlation analysis, regression analysis, and analysis of variance, you need to understand some basic concepts.
Empirical Research Methods in Web and Software Engineering
Claes Wohlin; Martin Höst; Kennet Henningsson
Web and software engineering are not only about technical solutions. They are to a large extent also concerned with organisational issues, project management and human behaviour. For disciplines like Web and software engineering, empirical methods are crucial, since they allow for incorporating human behaviour into the research approach taken. Empirical methods are common practice in many other disciplines. This chapter provides a motivation for the use of empirical methods in Web and software engineering research. The main motivation is that it is needed from an engineering perspective to allow for informed and well-grounded decisions. The chapter continues with a brief introduction to four research methods: controlled experiments, case studies, surveys and post-mortem analyses. These methods are then put into an improvement context. The four methods are presented with the objective to introduce the reader to the methods to a level where it is possible to select the most suitable method at a specific instance. The methods have in common that they all are concerned with quantitative data. However, several of them are also suitable for qualitative data. Finally, it is concluded that the methods are not competing. On the contrary, the different research methods can preferably be used together to obtain more sources of information that hopefully lead to more informed engineering decisions in Web and software engineering.