Metrics for UML Class Diagrams

The demand for increased software quality has resulted in quality being more of differentiator between products than it ever has been before. For this reason, software developers need objective and valid measures for use in the evaluation and improvement of product quality from the initial stages of development. Unified Modeling Language (UML) class diagrams are a key artifact in the development of object-oriented (OO) software because they lay the foundation for all later design and implementation work. It follows that emphasizing class diagram quality may significantly contribute to higher quality OO software systems.

The main contribution of this work is a survey of most of the existing relevant works related to metrics for UML class diagrams at initial stages of development, providing practitioners with an overall view on what has been done in the field and which are the available metrics that can help them in making decisions in the early phases of OO development. This work will also help researchers to get a more comprehensive view of the direction that work in OO measurement is taking. Although the number of existent measures that can be applied to UML class diagrams is low in comparison with the large number of those defined for code or advanced design, we believe there needs to be a shift in effort from defining new metrics to investigate their properties and applications in replicated studies. We need to better understand what measures are really capturing, whether they are really different, and whether they are useful indicators of external quality attributes such as maintainability, productivity, etc.