- Software, Software Engineering, and the Software Engineering Process
- Object Orientation
- Defect Management
- Specifying Quality
- Views of Quality
- Internal Quality and External Quality: Form Complements Function
- Software Product Quality Attributes
- Assessing Product Quality
- Achieving Quality Goals
Defect management may be seen as the very essence of software engineering. For this to be so, we must view software engineering as a process of preventing defects from appearing in the product we are building and the removal of those defects that, despite our best efforts, have crept into our artifacts. Given this perspective, defect management techniques can be either corrective or preventive with respect to a given phase of the software process. The purpose of this defect management is ultimately to improve the quality of the product to be built. As such, this chapter introduced the concept of quality and how its attributes with respect to a software product might be recognized. Once such attributes are recognized, it is possible to aim for defect management that, through managing defects of specific types, aims to reduce the likelihood of system failure from the perspective of that quality attribute.
As this is a book on defect management of object-oriented software, we also delved into the essence of object orientation and how the object paradigm might influence the way we go about the business of defect management.
In the later chapters of this book, we build on the work presented here to provide discussions as well as techniques relevant to the management of defects in every phase of the software process. Both preventive and corrective techniques are discussed.