A Design-Based Cohesion Metric for Object-Oriented Classes

Class cohesion is an important object-oriented software quality attribute. It indicates how much the members in a class are related. Assessing the class cohesion and improving the class quality accordingly during the object-oriented design phase allows for cheaper management of the later phases. In this paper, the notion of distance between pairs of methods and pairs of attribute types in a class is introduced and used as a basis for introducing a novel class cohesion metric. The metric considers the methodmethod, attribute-attribute, and attribute-method direct interactions. It is shown that the metric gives more sensitive values than other well-known design-based class cohesion metrics.

Authors:



References:
[1] Z. Chen, Y. Zhou, and B. Xu, A novel approach to measuring class
cohesion based on dependence analysis, Proceedings of the International
Conference on Software Maintenance, 2002, pp. 377-384.
[2] L. C. Briand , S. Morasca , and V. R. Basili, Defining and validating
measures for object-based high-level design, IEEE Transactions on
Software Engineering, Vol. 25, No. 5, 1999, pp. 722-743.
[3] J. Bansiya, L. Etzkorn, C. Davis, and W. Li, A class cohesion metric for
object-oriented designs, Journal of Object-Oriented Program, Vol. 11,
No. 8, pp. 47-52. 1999.
[4] S. Counsell , S. Swift , and J. Crampton, The interpretation and utility of
three cohesion metrics for object-oriented design, ACM Transactions on
Software Engineering and Methodology (TOSEM), Vol. 15, No. 2,
2006, pp.123-149.
[5] S.R. Chidamber and C.F. Kemerer, Towards a Metrics Suite for Object-
Oriented Design, Object-Oriented Programming Systems, Languages
and Applications (OOPSLA), Special Issue of SIGPLAN Notices, Vol.
26, No. 10, 1991, pp. 197-211.
[6] S.R. Chidamber and C.F. Kemerer, A Metrics suite for object Oriented
Design, IEEE Transactions on Software Engineering, Vol. 20, No. 6,
1994, pp. 476-493.
[7] M. Hitz and B. Montazeri, Measuring coupling and cohesion in object
oriented systems, Proceedings of the International Symposium on
Applied Corporate Computing, 1995, pp. 25-27.
[8] J. M. Bieman and B. Kang, Cohesion and reuse in an object-oriented
system, Proceedings of the 1995 Symposium on Software reusability,
Seattle, Washington, United States, pp. 259-262, 1995.
[9] L. Badri and M. Badri, A Proposal of a new class cohesion criterion: an
empirical study, Journal of Object Technology, Vol. 3, No. 4, 2004.
[10] J. Wang, Y. Zhou, L. Wen, Y. Chen, H. Lu, and B. Xu, DMC: a more
precise cohesion measure for classes. Information and Software
Technology, Vol. 47, No. 3, 2005, pp. 167-180.
[11] L. Fernández, and R. Peña, A sensitive metric of class cohesion,
International Journal of Information Theories and Applications, Vol. 13,
No. 1, 2006, pp. 82-91.
[12] E. Yourdon and L. Constantine, Structured Design, Prentice-Hall,
Englewood Cliffs, 1979.
[13] T. Emerson, A discriminant metrics for module cohesion, In Proceedings
of the 7th International Conference on Software Engineering, 1984, pp.
294-303.
[14] A. Lakhotia, Rule-based approach to computing module cohesion,
Proceedings of the 15th international conference on Software
Engineering, Baltimore, US, 1993, pp. 35-44.
[15] L. Ott and J. Thuss, Slice based metrics for estimating cohesion,
Proceedings of the First International Software Metrics Symposium,
Baltimore, 1993, pp. 71-81.
[16] J. Bieman and L. Ott, Measuring functional cohesion, IEEE
Transactions on Software Engineering, Vol. 20, No. 8, 1994, pp. 644-
657.
[17] J. Al Dallal, Using distance measurement for software functional
cohesion, IASTED International Conference on Software Engineering
(SE 2005), Innsbruck, Austria, 2005, pp. 132-137.
[18] D. Troy and S. Zweben, Measuring the quality of structured designs,
Journal of Systems and Software, 2, 1981, pp. 113-120.
[19] J. Bieman and B. Kang, Measuring design-level cohesion, IEEE
Transactions on Software Engineering, Vol. 24, No. 2, 1998, pp. 111-
124.
[20] W. Li and S.M. Henry, Maintenance metrics for the object oriented
paradigm. In Proceedings of 1st International Software Metrics
Symposium, Baltimore, MD, 1993, pp. 52-60.
[21] B. Henderson-sellers, Object-Oriented Metrics Measures of Complexity,
Prentice-Hall, 1996.
[22] L. C. Briand, J. Daly, and J. Wuest, A unified framework for cohesion
measurement in object-oriented systems, Empirical Software
Engineering - An International Journal, Vol. 3, No. 1, 1998, pp. 65-117.
[23] D. Pilone and N. Pitman, UML 2.0 in a Nutshell, O'Reilly Media, Inc.,
2nd edition, 2005, pp. 234.
[24] F. Simon, S. Loffler, C. Lewerentz, Distance based cohesion measuring,
Proceedings of the FESMA'99, Amsterdam, Netherlands, 1999, pp. 69-
83.