Software Complexity, Coupling, Dependency Metrics, Software Reuse, Large Scale Software
Dealing with the complexity of large-scale systems can be a challenge for even the most experienced software architects and developers. Large-scale software systems can contain millions of elements, which interact to achieve the system functionality. Managing and representing the complexity involved in the interaction of these elements is a difficult task. We propose an approach for analyzing the reusability, maintainability and complexity of such a complex large-scale software system. Reducing the dependencies between the subsystems increase the reusability and decrease the efforts needed to maintain the system thus reducing the complexity of the system. Coupling is an attribute that summarizes the degree of interdependence or connectivity among subsystems and within subsystems. When used in conjunction with measures of other attributes, coupling can contribute to an assessment or prediction of software quality. We developed a set of metrics for measuring the coupling at the subsystems level in a large-scale software system as a part of this work. These metrics do not take into account the complexity internal to a subsystem and considers a subsystem as a single entity. Such a dependency metric gives an opportunity to predict the cost and effort needed to maintain the system and also to predict the reusability of the system parts. It also predicts the complexity of the system. More the dependency, higher is the cost to maintain and reuse the software. Also the complexity and cost of the system will be high if the coupling is high. We built a large-scale system and implemented these research ideas and analyzed how these measures help in minimizing the complexity and system cost. We also proved that these coupling measures help in re-factoring of the system design.
Master of Science in Computer Engineering (M.S.Cp.E.)
College of Engineering and Computer Science
Electrical and Computer Engineering
Length of Campus-only Access
Masters Thesis (Open Access)
Ramakrishnan, Harish, "Analysis Of Complexity And Coupling Metrics Of Subsystems In Large Scale Software Systems" (2006). Electronic Theses and Dissertations. 746.