Abstract: Attributes and methods are the basic contents of an
object-oriented class. The connectivity among these class members
and the relationship between the class and other classes play an
important role in determining the quality of an object-oriented
system. Class cohesion evaluates the degree of relatedness of class
attributes and methods, whereas class coupling refers to the degree to
which a class is related to other classes. Researchers have proposed
several class cohesion and class coupling measures. However, the
correlation between class coupling and class cohesion measures has
not been thoroughly studied. In this paper, using classes of three
open-source Java systems, we empirically investigate the correlation
between several measures of connectivity-based class cohesion and
coupling. Four connectivity-based cohesion measures and eight
coupling measures are considered in the empirical study. The
empirical study results show that class connectivity-based cohesion
and coupling internal quality attributes are inversely correlated. The
strength of the correlation depends highly on the cohesion and
coupling measurement approaches.
Abstract: Class cohesion is a key object-oriented software
quality attribute that is used to evaluate the degree of relatedness of
class attributes and methods. Researchers have proposed several class
cohesion measures. However, the effect of considering the special
methods (i.e., constructors, destructors, and access and delegation
methods) in cohesion calculation is not thoroughly theoretically
studied for most of them. In this paper, we address this issue for three
popular connectivity-based class cohesion measures. For each of the
considered measures we theoretically study the impact of including
or excluding special methods on the values that are obtained by
applying the measure. This study is based on analyzing the
definitions and formulas that are proposed for the measures. The
results show that including/excluding special methods has a
considerable effect on the obtained cohesion values and that this
effect varies from one measure to another. For each of the three
connectivity-based measures, the proposed theoretical study
recommended excluding the special methods in cohesion
measurement.