Using dependency models to manage complex software architecture

被引:139
|
作者
Sangal, N [1 ]
Jordan, E [1 ]
Sinha, V [1 ]
Jackson, D [1 ]
机构
[1] MIT, Cambridge, MA 02139 USA
关键词
design; algorithms; management; architecture; dependency; model; matrix; DSM;
D O I
10.1145/1103845.1094824
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An approach to managing the architecture of large software systems is presented. Dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM). A variety of algorithms are available to help organize the matrix in a form that reflects the architecture and highlights patterns and problematic dependencies. A hierarchical structure obtained in part by such algorithms, and in part by input from the user, then becomes the basis for 'design rules' that capture the architect's intent about which dependencies are acceptable. The design rules are applied repeatedly as the system evolves, to identify violations, and keep the code and its architecture in conformance with one another. The analysis has been implemented in a tool called LDM which has been applied in several commercial projects; in this paper, a case study application to Haystack, an information retrieval system, is described.
引用
收藏
页码:167 / 176
页数:10
相关论文
共 50 条
  • [1] Software Architecture Recovery from Multiple Dependency Models
    Altinisik, Metin
    Sozer, Hasan
    Gursun, Gonca
    [J]. 39TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING, SAC 2024, 2024, : 1185 - 1192
  • [2] Using Dependency Model to Support Software Architecture Evolution
    Breivold, Hongyu Pei
    Crnkovic, Ivica
    Land, Rikard
    Larsson, Stig
    [J]. 2008 23RD IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING WORKSHOPS, PROCEEDINGS, 2008, : 166 - +
  • [3] Towards a Dependency Constraint Language to Manage Software Architectures
    Terra, Ricardo
    de Oliveira Valente, Marco Tulio
    [J]. SOFTWARE ARCHITECTURE, 2008, 5292 : 256 - 263
  • [4] Software architecture for medical distributed manage systems
    Liu, Changzheng
    Ye, Guiyun
    [J]. PROCEEDINGS OF THE 2008 12TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN, VOLS I AND II, 2008, : 1080 - +
  • [5] Software architecture for the investigation of controllable models with complex data sets
    Belyshev, D
    Gurman, V
    [J]. ARCHITECTURE OF SCIENTIFIC SOFTWARE, 2001, 60 : 317 - 332
  • [6] Using a multi-agent architecture to manage knowledge in the software maintenance process
    Rodríguez, OM
    Vizcaíno, A
    Martínez, AI
    Piattini, M
    Favela, J
    [J]. KNOWLEDGE-BASED INTELLIGENT INFORMATION AND ENGINEERING SYSTEMS, PT 1, PROCEEDINGS, 2004, 3213 : 1181 - 1188
  • [7] To manage a complex dependency: The experience of caregiving after a fall
    de la Cuesta-Benjumea, Carmen
    Ramis-Ortega, Emilia
    Arredondo Gonzalez, Claudia Patricia
    [J]. JOURNAL OF ADVANCED NURSING, 2019, 75 (01) : 138 - 149
  • [8] A dependency constraint language to manage object-oriented software architectures
    Terra, Ricardo
    Valente, Marco Tulio
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2009, 39 (12): : 1073 - 1094
  • [9] Using Hypotheses to Manage Technical Uncertainty and Architecture Evolution in a Software Start-up
    Silva, Kelson
    Melegati, Jorge
    Wang, Xiaofeng
    Ferreira, Mauricio
    Guerra, Eduardo
    [J]. IEEE SOFTWARE, 2024, 41 (04) : 7 - 13
  • [10] Software Architecture Construction and Collaboration based on Service Dependency
    Wang, Rui
    Peng, Qimin
    Hu, Xiaohui
    [J]. PROCEEDINGS OF THE 2015 IEEE 19TH INTERNATIONAL CONFERENCE ON COMPUTER SUPPORTED COOPERATIVE WORK IN DESIGN (CSCWD), 2015, : 91 - 96