The Class Cohesion Using the Reference Graph G1 and G2
EurAsia-ICT '02 Proceedings of the First EurAsian Conference on Information and Communication Technology
Software—Practice & Experience
Response to 'More comments on: a cohesion measure for object-oriented classes'
Software—Practice & Experience
Measuring cohesion of packages in Ada95
Proceedings of the 2003 annual ACM SIGAda international conference on Ada: the engineering of correct and reliable software for real-time & distributed systems using ada and related technologies
A comparative study of graph theory-based class cohesion measures
ACM SIGSOFT Software Engineering Notes
Measuring class cohesion based on dependence analysis
Journal of Computer Science and Technology
Effects of dependency injection on maintainability
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
A survey of dynamic software metrics
Journal of Computer Science and Technology
Dynamic cohesion measures for object-oriented software
Journal of Systems Architecture: the EUROMICRO Journal
Lessons learned from automated analysis of industrial UML class models (an experience report)
MoDELS'05 Proceedings of the 8th international conference on Model Driven Engineering Languages and Systems
Method cohesion analysis through concept lattices
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
Classes are the fundamental concepts in the object-oriented paradigm. They are the basic units of object-oriented programs, and serve as the units of encapsulation, which promotes the modifiability and the reusability of them. In order to take a full advantage of the desirable features provided by classes, such as data abstraction and encapsulation, classes should be designed to have a good quality. Because object-oriented systems are developed by heavily reusing the existing classes, the classes of poor quality can be a serious obstacle to the development of systems.This paper defines a new cohesion measure for assessing the quality of classes. Our approach is based on the observations on the salient natures of classes which have not been considered in the previous approaches. A Most Cohesive Component(MCC) is introduced as the most cohesive form of a class. We believe that the cohesion of a class depends on the connectivity of itself and its constituent components. We propose the connectivity factor to indicate the degree of the connectivity among the members of a class, and the structure factor to take into account the cohesiveness of its constituent components. Consequently, the cohesion of a class is defined as the product of the connectivity factor and the structure factor. This cohesion measure indicates how closely a class approaches MCC; the closely a class approaches MCC, the greater cohesion the class has.