The previous eighteen chapters cover a spectrum of topics on the theme of metrics and models in software quality engineering. Beginning with the definition of software quality and the need to measure and drive improvement via metrics and models, we surveyed the major existing software development process models, examined the fundamentals in measurement theory, provided an overview of major software quality metrics that cover the entire software life cycle, and looked into the application of techniques from traditional quality engineering (e.g., as the seven basic quality tools) in software development. Then we examined the concept of defect removal effectiveness, which is central to software development, and its measurements. We then discussed and presented two categories of model in software quality engineering: reliability models for quality projection and estimation, and quality management models. We discussed in-process metrics supporting the models. We illustrated with examples the effort/outcome model in interpreting in-process metrics and in managing in-process quality. We then discussed the third category of models ”the complexity metrics and models. We discussed metrics for objected-oriented projects from both perspectives of design and complexity metrics and quality management metrics. Our focus then moved on to the fourth category of metrics and model ”the customer view of quality. We discussed the availability and outage metrics and the measurement and analysis of customer satisfaction.
This coverage of the entire spectrum of metrics and models ”from quality models, product quality metrics, and in-process metrics, to customer-oriented metrics and customer satisfaction measurements ”provided a direct link to discussions of the definition of quality and total quality management (TQM). Then we discussed in-process quality assessment (Chapter 15), proposed a software project assessment method (Chapter 16), offered practical advice on the dos and don'ts of software process improvement (Chapter 17), and analyzed and examined the quantitative results of software process improvement (Chapter 18). These four chapters close the loop to the earlier discussions on the software process models, the process assessment frameworks, and the premise that quality, metrics and models, process, and process improvement are all closely related . Throughout the discussions, many examples were presented. The purpose here has been to establish and illustrate a framework for the application of software quality metrics and models.
In this final chapter we discuss several observations with regard to software measurements in general and software quality metrics and models in particular, and offer a perspective on the future role of measurement in software engineering.
What Is Software Quality?
Software Development Process Models
Fundamentals of Measurement Theory
Software Quality Metrics Overview
Applying the Seven Basic Quality Tools in Software Development
Defect Removal Effectiveness
The Rayleigh Model
Exponential Distribution and Reliability Growth Models
Quality Management Models
In-Process Metrics for Software Testing
Complexity Metrics and Models
Metrics and Lessons Learned for Object-Oriented Projects
Measuring and Analyzing Customer Satisfaction
Conducting In-Process Quality Assessments
Conducting Software Project Assessments
Dos and Donts of Software Process Improvement
Using Function Point Metrics to Measure Software Process Improvements
A Project Assessment Questionnaire