Cohesion in Object Oriented (OO) modules impact reusability, efficiency and complexity of software. OO Programmers should create software with high cohesion. The testing phase in Software Development Life Cycle (SDLC) is concerned with creating error free software, and assessment of quality of the code using software metrics. The OO metric ‘Lack of Cohesion in Methods (LCOM)’ is common OO metrics for measuring cohesion. Common OO metrics are part of software metrics, assessing common features of OO programming, including modularity, reusability, inheritance, abstraction, and encapsulation. In modularity, cohesion is an important feature for exhibiting the intra module communications. Good modular designs maximize cohesion and promote encapsulation. High cohesion classes do not share their attributes with other classes and can easily be reused. Thus, high cohesion promotes reusability by reducing complexity. Software testing researchers have come up with many object oriented metrics such as LCOM, TCC (Tight Class Cohesion) and LCC (Loose Class Cohesion) to evaluate software module with respect to cohesion. All common metrics bring to light the existence/non-existence of cohesion in modules, without specifying intermediate levels such as Low, Medium and High. MALCOM (Modified Approach on LCOM). The application of software metrics should go beyond the expectations on what action the programmer ought to take with the obtained metric value or when the class has poor cohesion.

Papers:

Kansal, Deepika, Tejashree Aher, and Rushikesh K. Joshi. "Sensitivity and Monotonicity in Class Cohesion Metrics." In Proceedings of the 12th Innovations on Software Engineering Conference, p. 24. ACM, 2019.

Zhang, Jie, Jiajing Wu, Yongxiang Xia, and Fanghua Ye. "Measuring cohesion of software systems using weighted directed complex networks." In 2018 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 1-5. IEEE, 2018.

Rathee, Amit, and Jitender Kumar Chhabra. "Improving cohesion of a software system by performing usage pattern based clustering." Procedia Computer Science 125 (2018): 740-746.

More Eduard Babulak's questions See All
Similar questions and discussions