Previous Issues
Volume :39 Issue : 2 2012
Add To Cart
Download
The impact of inheritance on the internal quality attributes of Java classes
Auther : JEHAD AL DALLAL
ABSTRACT
Inheritance is a key concept in object-oriented programming. Designing and implementing the inheritance relations in a software system properly is expected to improve the quality of the system. This paper uses the class flattening approach to empirically investigate the impact of inheritance on three internal quality attributes: size, cohesion, and coupling. This paper explains how to flatten Java classes and reports the application of the process on classes of five Java open-source systems. The size, cohesion, and coupling of the original and flattened classes were measured using 28 existing metrics, and the results are compared to empirically explore the relationship between inheritance and class quality. The results show that considering inheritance relations in software development significantly improves the class quality. In addition, the results of the study demonstrate that class flattening improves some cohesion metrics that indicate class quality.
Keywords: Object-oriented design; inheritance; quality metric; internal quality attribute; external quality attribute; class flattening.