9 Measuring external product attributes


A. Törn - Contents - - Previous chapter - Next chapter - - Previous page - Next page

9.2 Measuring aspects of quality, maintainability

We want our software to be easy to understand, enhance, or correct; if it is, we say that the softwre is maintainable. The different types of maintenance are listed in Section 5.2.

Suppose we seek measures to characterize the ease of applying maintenance to a specific product. We can then define a measure called mean time to repair (MTTR), see Figure 9.9 for an example. To calculate this measure, we need the following information:

To determine which measures (relating to specific internal attributes) most affect maintainability, we must gather them in combination with external maintainability measures.

So for instance we may find empirically that bad structure (measured in some way) normally means high MTTR. If this is the case then badly structured modules should be analysed and appropriate guidelines established and actions taken.

An example of such a guideline based on empirical evidence is to require that McCabes cyclomatic number should not be over 10. Other more sophisticated measures, like the VINAP measure (< 101), and the (l,c) measure have been proposed.

For textual products, readability is believed to be a key aspect of maintainability. The most well-known readability measure is Gunning's Fog Index F:

F = (# words / # sentenses) + % words > two syllables

The measure is supposed to correspond roughly with the number of years of schooling a person would need in order to read a passage with ease and understanding.

There are other readability measures for software, see Example 9.12.