Spread Knowledge

CS605 - Software Engineering II - Lecture Handout 14

User Rating:  / 0

Related Content: CS605 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Software Engineering II

Metrics for specification quality

As mentioned earlier, the quality of the software specification is of extreme importance as the entire building of software is built on this foundation. A requirement specification document is measured in terms of lack of ambiguity, completeness, consistency, correctness; understand ability, verifiability, achievability, concision, traceability, modifiability, precision, and reusability.

Metrics to assess the quality of the analysis models and the corresponding software specification were proposed by Davis in 1993 for these seemingly qualitative characteristics.

For example, the numbers of requirements are calculated as:

Metrics for specification quality

On the similar lines, the quality of design is also measured quantitatively.
The quality of the architectural design can be measured by measuring its complexity as shown below:

Metrics for specification quality 1


In order to use the data for estimation and drawing conclusions, it must be base-lined. In the baseline, data from past projects is collected, cleaned, and put in a database. Such metrics baseline is used to reap benefits at the process, project, and product level.

As mentioned above, the metrics baseline consists of data collected from past project over a period of time. To be effective, the data must be reasonably accurate, it should be collected over many projects, measures must be consistent – same technique or yardstick for data collection should have been used, applications should be similar to work that is to be estimated, and feedback to improve baseline’s quality.

Metrics for small organizations

The metric program can be quite complex and extensive. Small organization would find it difficult to implement a full-fledged metrics program as it may require quite a number of resources. However, it is important to appreciate that a metrics program of even a smaller scale would also be of immense value and therefore all organizations of all sizes should have should have one. It can be a very simple and can be implemented with the help of simple and inexpensive tools and methods.

Small organizations – around 20 or so people – must measure in a cost effective manner. In order for it to be effective, it should be simple and value-oriented and should focus on result rather than measurement. It is important to establish the objectives of measurement.

This is illustrated by the following example.

Let us assume that we wanted to reduce the time to evaluate and implement change requests in our organization. In order to achieve this objective, we needed to measure the following:

    • Time (in hours or days) elapsed from the time a request is made until evaluation is complete - tqueue
    • Size (fp) of the change request
    • Effort (in person months) to perform the evaluation- Weval
    • Time elapsed from completion of evaluation to assignment of change order – teval
    • Effort required to make the change – Wchange
    • Time required to make the change – tchange
    • Errors uncovered during work to make change – Echange
    • Defects uncovered after change is released – Dchange

    This data was then collected and stored in a simple database as shown below.

    Metrics for small organizations

    This data is then normalized on per function point basis as follows:

    Metrics for small organizations 1

    We are now ready to use this data to analyze the results of process changes and their impact on the time to implement change requests.

    In order to do that, we need to employ some statistical techniques and plot the result graphically. This is known as statistical control techniques.