Software metrics continue to play a major role in the development, implementation, and maintenance of quality software. The need to develop quality software products “within cost and time limitations” continues to be a high priority and it invariably mandates the use of metrics for resource and time estimations.
Much progress has been made in this respect, but losses are still enormous. In the U. S. alone, recent statistics indicate approximately $59 billion in cost overruns on software projects annually, and an additional $81 billion on canceled software projects annually.
Software metrics are also a necessity for advancement to the upper Capability Maturity Model (CMM) levels. But despite the importance of metrics in quality software development, traditional utilization of metrics and related techniques usually tend to be on an “as needed” and consequently ad hoc basis.
This paper presents a three-layer model that captures the fundamentals of software metrics within a unifying framework. The first (lowest) layer of the model consists of the three primitive software engineering metrics: person-months (PM), function-points (FP), and lines of code (LOC). They are presented as “primary” metrics from which other metrics are computed.
Time is also included as a fundamental (not necessarily software) primary metric. The second layer consists of general-purpose metrics such as productivity measures, which are computed from the primary metrics, and the third layer consists of special-purpose metrics such as reliability and quality measures. This third layer is inherently extensible.
The model constitutes an easy to understand toolbox that provides easy access to a menu of software metrics for various software development applications.
To read this external content in full download the paper from the author archives at the University of Michegan, Dearborn.