Font Size: a A A

Measuring class cohesion in object-oriented systems

Posted on:2002-06-13Degree:M.SType:Thesis
University:King Fahd University of Petroleum and Minerals (Saudi Arabia)Candidate:Wasiq, MuhammadFull Text:PDF
GTID:2468390011999721Subject:Computer Science
Abstract/Summary:
Cohesion is an important quality factor of the object-oriented as well as imperative design. A class in object-oriented software can have two types of cohesion: Class Cohesion and Inheritance Cohesion. In object-orientation it is a basic design requirement that a class should represent a single real world entity. To measure the extent to which a class meets this requirement, class cohesion is used as a tool. In this work, for the first time, we have proposed ways of using inheritance and class cohesion for measuring the quality of the inheritance hierarchy. We propose five graphical/visual cohesion-related metrics that provide designers of the object-oriented systems with the guidelines to enhance the quality of inheritance hierarchy to improve its maintainability, understandability and reusability. We also propose three new metrics to measure the cohesion of a class, i.e., CCM, CCCM and MCCM. We believe that CCM captures the connections among the methods of a class quite well and gives a good measure of class' cohesion. In the form of MCCM, we have proposed a metric that also takes into account the effect of overridden methods on inheritance cohesion of a class.; We have augmented our theoretical work by implementing the automated tool using which a designer can readily analyze his software against our proposed metrics. Finally as a test case study, we have analyzed the Java 1.3 API. Our analysis has revealed some very interesting quality features of the Java API.
Keywords/Search Tags:Class, Cohesion, Object-oriented, Quality
Related items