Dependency models as a basis for analyzing software product platform modularity : a case study in strategic software design rationalization
Author(s)
LaMantia, Matthew J. (Matthew John)
DownloadFull printable version (7.286Mb)
Alternative title
influence of architecture on software product platform longevity and extensibility
Other Contributors
System Design and Management Program.
Advisor
James M. Utterback.
Terms of use
Metadata
Show full item recordAbstract
It is broadly accepted among software managers and architects that maintaining the integrity of software designs is important for the long-term health and viability of software product platforms. The use of modular, information-hiding architectures is considered beneficial in this regard, because they enable the addition of new features and the correction of software defects without widespread changes (Parnas, 1972; Parnas, 1978). Moreover, modular architectures in general add value to system designs by creating options to improve the system by substituting or performing experiments on individual modules (Baldwin and Clark, 2000). Recent research has sought to clarify and to define formally these notions of modularity, and their value in the software domain, though the use of software dependency models and software design structure matrices. These models provide a graphic representation of the relationships between the building blocks of large software systems, which can be used to aid visual understanding of their structure, and which also form the basis for quantitative metrics for evaluating the degree of modularity of a software system (MacCormack et al., 2005; Sangal et al., 2005; Sullivan et al., 2006). (cont.) The goal of this thesis is to contribute to the development and validation of formal models of modularity and value, by examining the design evolution of two similar software systems through the lens of software-dependency-based design structure matrices. We find that the design structure matrix model demonstrates a form of information-hiding modularity that allows different rates of experiment in different software modules, and that also allows substitution of a software module without substantial change to the rest of the software system. Moreover, the cases demonstrate that such a substitution scenario can confer distinct strategic advantages to a firm. Based on these results, we suggest that software managers and architects explore modular architectures that localize areas of risk - technical and otherwise - in software modules with well-defined interfaces.
Description
Thesis (S.M.)--Massachusetts Institute of Technology, System Design and Management Program, 2006. Includes bibliographical references (p. 129-131).
Date issued
2006Department
System Design and Management Program.Publisher
Massachusetts Institute of Technology
Keywords
System Design and Management Program.