Managing complexity in scientific software
University of Lethbridge. Faculty of Arts and Science
Lethbridge, Alta. : University of Lethbridge, Dept. of Mathematics and Computer Science
One of the expected benefits of a modular design is flexibility. By the word "flexibility" we mean possibility of drastic changes to a module without changing or without knowing other modules. Based on the evolutionary data available on version control systems, it should be possible to analyze the quality of a modular software architecture and decide whether it is worth to restructure its design. In this thesis we investigate this issue using a novel approach based on a general theory of modularity that uses design structure matrices (DSM) for reasoning about quality attributes. Using our approach, we can categorize the functions in different tiers. This finding suggests that the analysis of different tiers of functions of a software system might serve as guidance to developers in the challenging task of redesigning a software by detecting and retrieving components that could be reused in other software projects.
Computer programming , Computer software--Evaluation , Modular programming , Software compatablility , Software engineering , Software maintenance