Contents > 6 Design Measurement > 6.1 Design Metrics and System Quality

6.1 Design Metrics and System Quality

A fundamental distinction for product quality attributes is between external and internal attributes [ISO9126,FP96]. If structural design properties are not inherently meaningful, why should we care about them at all? Because we assume they have a causal impact on external quality. Undesirable structural properties such as high coupling or low cohesion indicate a - sometimes necessary - high cognitive complexity. Cognitive complexity is the mental burden put on the persons who have to deal with the design (developers, inspectors, testers, maintainers, etc.). The high cognitive complexity in turn leads to poor external quality, such as increased fault-proneness, or decreased maintainability and testability.

To summarize, external attributes are inherently relevant to the stakeholders in a software system, but can be measured directly only late in the development process. Internal attributes are early available but are not inherently meaningful. They become meaningful only when they are seen as indicators of (or in relation to) external attributes. Besides early availability, the advantages of design measurement are: