Survey of object-oriented metrics: focusing on validation and formal specification
Object-oriented design plays a pivotal role in software development because it determines the structure of the software solution. Once the design has been implemented, it is difficult and expensive to change. Therefore the design should be good from the start. Metrics can help to evaluate and improve the quality of a design. Many metrics of object-oriented design have been proposed. Unfortunately, most of these metrics lack a precise and unambiguous definition. However, in order to automate design evaluation a precise definition of metrics is needed. Therefore the definitions should be based on a formal model of design. In this paper a formal model for object-oriented design called ODEM (Object-oriented DEsign Model) is presented. This model can serve as a foundation for the formal definition of object-oriented design metrics. ODEM is based on the UML meta-model, that provides a formal model of object-oriented designs expressed in UML, the most widespread design notation. Examples of the use of ODEM for defining object-oriented metrics are given. Two case studies on existing metrics suites for object-oriented design show the benefits of applying ODEM to established object-oriented design metrics.