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].
- External attributes are properties or features of the product
that are externally visible (hence the name), for example, reliability
and maintainability. External attributes of products can only be
measured with respect to how the product relates to its environment.
Poor reliability, for instance, is visible to the user if the software
system does not perform as expected. To measure external attributes
directly requires additional information besides the product
itself. For instance, reliability can be measured in terms of the mean
time to failure of the operational product. Thus, external attributes
can be measured directly only some time after the product is
created.
- An internal attribute of a product can be measured in terms of
the product itself. Examples of internal product attributes are
structural properties such as size or coupling. All information that
is needed to quantify the internal attribute is available from a
representation of the product. Therefore, these attributes are
measurable during and after creation of the product. Internal
attributes, however, describe no externally visible quality of a
product, and therefore have no inherent meaning in themselves. For
example, during the operation of a system, the users will not notice
whether the components of that system have loose coupling or not.
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:
- Objectivity - the design assessment is repeatable and does not
rely on subjective judgment.
- Automatable - with SDMetrics, measurement of even large designs
can be performed quickly and at a low cost.
Prev |
Up |
Next |
Section 6 "Design Measurement" | Contents | Section 6.2 "Structural Design Properties" |