Investigating the Relationship Between Cohesion and Inheritance Quality Attributes Empirically

Classes are basic design units of object-oriented systems. The design of these classes plays an essential role in the system's overall quality. Software engineering aims to develop highly quality systems in terms of several attributes, including reusability, maintainability, and reliability. Th...

Full description

Saved in:
Bibliographic Details
Published in2023 Computer Applications & Technological Solutions (CATS) pp. 1 - 5
Main Author Al Dallal, Jehad
Format Conference Proceeding
LanguageEnglish
Published IEEE 29.10.2023
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Classes are basic design units of object-oriented systems. The design of these classes plays an essential role in the system's overall quality. Software engineering aims to develop highly quality systems in terms of several attributes, including reusability, maintainability, and reliability. These attributes can be indicated using several internal quality attributes, such as cohesion and inheritance, which are quantifiable, given some system design artifacts. When building an object-oriented system, software engineers are directed to develop classes featuring a high degree of relatedness among their methods and attributes (i.e., a high degree of cohesion). These classes are expected to be maintainable. Inheritance is an object-oriented property facilitating class reusability. Software engineers are advised to build classes that can be easily inherited and, thus, have a high degree of reusability. Exploring the relationship between cohesion and inheritance attributes helps provide design guidelines for software engineers. Using three Java software systems, this paper empirically examines the correlation between several cohesion and inheritance measures. The study results indicate that classes with a high degree of cohesion have lower chances of being reusable by inheritance. In addition, the results show that cohesion and inheritance measures are weakly correlated.
DOI:10.1109/CATS58046.2023.10424161