A Proposed Design Complexity Metric for
David H. Abbott
Timothy D. Korson
John D. McGregor
Department of Computer Science
Clemson, SC 29634-1906
The measurement of software complexity has been a key interest of software engineers for many years. However, design metrics for the object-oriented paradigm have been little studied. We propose a metric for measuring the number and strength of the object interactions permitted by an object-oriented design and show that this metric is useful for predicting experts' design preferences. The metric is derived from the design information captured in class definitions and hence can be calculated relatively early in the development life-cycle and calculated objectively. The conceptual model of complexity that supports the metric distinguishes two types of complexity applicable to class definitions - interaction level and interface size - and the derivation of the metric shows how these two measures relate to the proposed metric. To validate the metric, we prepared/located 9 sets of 2 or 3 design alternatives and subjected these to evaluation by both the proposed metric and a collection of object-oriented design experts. We found that the experts' preferred alternatives and the alternatives preferred by the metric agreed in 16 of 20 cases, thereby providing evidence of the predictive power of the metric.
?This research was partially funded by a grant from COMSOFT, IBM, and BNR.