Integrating measurement techniques in an object-oriented systems design process
The theme of this thesis is the assessment of quality in class hierarchies. In particular, the notion of inheritance and the mechanism of redefinition from a modelling perspective are reviewed. It is shown that, in Object-Oriented languages, controversial uses of inheritance can be implemented and are subject of debate as they contradict the essence of inheritance. The discovery of an unexpected use of the method redefinition mechanism confirmed that potential design inconsistencies occur more often than expected in class hierarchies. To address such problems, design heuristics and measurement techniques are investigated as the main instrument tools for the evaluation "goodness" or "badness" in class hierarchies. Their benefits are demonstrated within the design process. After the identification of an obscure use of the method redefinition mechanism referred to as the multiple descendant redefinition (MDR) problem, a set of metrics based on the GQMlMEDEA [Bri&aI94] model is proposed. To enable a measurement programme to take place within a design process, the necessary design considerations are detailed and the technical issues involved in the measurement process are presented. Both aspects form ~. methodological approach for class hierarchy assessment and especially concentrate on the use of the redefinition mechanism. . . As one of the main criticisms of the measure~ent science is the lack orgood design feedback, the , analysis and interpretation phase. of the metfics results is seen: as a crucial phase for inferring, meaningful conclusions. A novel· data interpretation framework is pr~posed' and includes the use of various graphical data representations and detection techniques. Also, the notion of redefinition profiles suggested a, more generic approach whereby a pattern profile can be found for a metric. The benefits of the data interpretation method for the extraction of meaningful design feedback from the metrics results are discussed. The implementation of a metric tool collector enabled a set of experiments to be carried out on the Smalltalk class hierarchy. Surprisingly, the analysis of metrics results showed that method redefmition is heavily used compared to method extension. This suggested the existence of potential design inconsistencies in the class hierarchy and permitted the discovery of the MDR problem on many occasions. In addition, a set of experiments demonstrates the benefits of example graphical representations together with detection techniques such as alarmers. In the light of facilitating the interpretation phase, the need for additional supporting tools is highlighted. This thesis illustrates the potential benefits of integration of measurement techniques within an Object-Oriented design process. Given the identification of the MDR problem, it is believed that the redefinition metrics are strong and simple candidates for detecting complex design problems occurring within a class hierarchy. An integrated design assessment model is proposed which logically fits into an incremental design development process. Benefits and disadvantages of the approach are discussed together with future work.