Object-Oriented Software Design Metrics

Abstract

The adoption of the Object-Oriented paradigm is expected to help produce better and cheaper software. The main concepts of this paradigm, namely, inheritance, encapsulation, information hiding or polymorphism, are the keys to foster reuse and achieve easier maintainability. However, the use of constructs that support those concepts can be more or less intensive, mainly depending on the designer ability. Advances in quality and productivity need to be correlated with the use of those constructs. Therefore, we need to evaluate them quantitatively to guide OO design. The availability of these metrics should allow comparison of different systems or different implementations of the same system, thus helping to derive some design heuristics that could/should be included in design tools. Those heuristics would at least be a valuable help to new staff members. "Blind" choice (or creation) is dangerous, so a set of common requirements for metrics and corresponding rationale was introduced, which includes the need for formal definition, language independence, dimensionlessness, ease of calculation and early obtainability. A suitable metrics set named MOOD was then proposed. We believe that these metrics can help in setting OO design standards at the organization level, helping OO practitioners to guide their development process and, hopefully, leaving them in a cheerful MOOD..

    Similar works