Open Access
ARTICLE
Software Coupling and Cohesion Model for Measuring the Quality of Software Components
Software Engineering Department, CCIS King Saud University, Riyadh, 11495, Saudi Arabia
* Corresponding Author: Zakarya Abdullah Alzamil. Email:
Computers, Materials & Continua 2023, 77(3), 3139-3161. https://doi.org/10.32604/cmc.2023.042711
Received 09 June 2023; Accepted 24 October 2023; Issue published 26 December 2023
Abstract
Measuring software quality requires software engineers to understand the system’s quality attributes and their measurements. The quality attribute is a qualitative property; however, the quantitative feature is needed for software measurement, which is not considered during the development of most software systems. Many research studies have investigated different approaches for measuring software quality, but with no practical approaches to quantify and measure quality attributes. This paper proposes a software quality measurement model, based on a software interconnection model, to measure the quality of software components and the overall quality of the software system. Unlike most of the existing approaches, the proposed approach can be applied at the early stages of software development, to different architectural design models, and at different levels of system decomposition. This article introduces a software measurement model that uses a heuristic normalization of the software’s internal quality attributes, i.e., coupling and cohesion, for software quality measurement. In this model, the quality of a software component is measured based on its internal strength and the coupling it exhibits with other component(s). The proposed model has been experimented with nine software engineering teams that have agreed to participate in the experiment during the development of their different software systems. The experiments have shown that coupling reduces the internal strength of the coupled components by the amount of coupling they exhibit, which degrades their quality and the overall quality of the software system. The introduced model can help in understanding the quality of software design. In addition, it identifies the locations in software design that exhibit unnecessary couplings that degrade the quality of the software systems, which can be eliminated.Keywords
Cite This Article
This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.