Coupling and Cohesion in Object-Oriented Systems

J. Eder, G. Kappel, M. Schrefl
Eder93a (1993)
Unpublished working paper, resp. Technical Report, University of Klagenfurt, 1994.
Copy  (In order to obtain the copy please send an email with subject  Eder93a  to


Object-oriented system development is gaining wide attention both in research environments and in industry. A severe problem encountered, however, is the quickly increasing complexity of such systems and the lack of adequate criteria and guidelines for "good" designs. To cope with this problem, it is imperative to better understand the properties and characteristics of object-oriented systems. In this paper, we extend the concepts of coupling and cohesion developed initially for procedure-oriented systems to object-oriented systems. Coupling describes the interdependency between methods and between object classes, respectively. Cohesion describes the binding of the elements within one method and within one object class, respectively. We introduce a comprehensive taxonomy of coupling and cohesion properties of object-oriented systems and provide guidelines for improving these properties.