A systematic review of software architecture visualization techniques

被引:59
|
作者
Shahin, Mojtaba [1 ,2 ]
Liang, Peng [1 ,3 ]
Babar, Muhammad Ali [4 ]
机构
[1] Wuhan Univ, Sch Comp, State Key Lab Software Engn, Wuhan, Peoples R China
[2] Islamic Azad Univ, Neyriz Branch, Dept Comp Engn, Tehran, Iran
[3] Vrije Univ Amsterdam, Dept Comp Sci, Amsterdam, Netherlands
[4] Univ Adelaide, CREST Ctr Res Engn Software Technol, Adelaide, SA 5005, Australia
关键词
Software architecture; Software architecture visualization; Visualization techniques; REQUIREMENTS;
D O I
10.1016/j.jss.2014.03.071
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: Given the increased interest in using visualization techniques (VTs) to help communicate and understand software architecture (SA) of large scale complex systems, several VTs and tools have been reported to represent architectural elements (such as architecture design, architectural patterns, and architectural design decisions). However, there is no attempt to systematically review and classify the VTs and associated tools reported for SA, and how they have been assessed and applied. Objective: This work aimed at systematically reviewing the literature on software architecture visualization to develop a classification of VTs in SA, analyze the level of reported evidence and the use of different VTs for representing SA in different application domains, and identify the gaps for future research in the area. Method: We used systematic literature review (SLR) method of the evidence-based software engineering (EBSE) for reviewing the literature on VTs for SA. We used both manual and automatic search strategies for searching the relevant papers published between 1 February 1999 and 1 July 2011. Results: We selected 53 papers from the initially retrieved 23,056 articles for data extraction, analysis, and synthesis based on pre-defined inclusion and exclusion criteria. The results from the data analysis enabled us to classify the identified VTs into four types based on the usage popularity: graph-based, notation-based, matrix-based, and metaphor-based VTs. The VTs in SA are mostly used for architecture recovery and architectural evolution activities. We have also identified ten purposes of using VTs in SA. Our results also revealed that VTs in SA have been applied to a wide range of application domains, among which "graphics software" and "distributed system" have received the most attention. Conclusion: SA visualization has gained significant importance in understanding and evolving software-intensive systems. However, only a few Vis have been employed in industrial practice. This review has enabled us to identify the following areas for further research and improvement: (i) it is necessary to perform more research on applying visualization techniques in architectural analysis, architectural synthesis, architectural implementation, and architecture reuse activities; (ii) it is essential to pay more attention to use more objective evaluation methods (e.g., controlled experiment) for providing more convincing evidence to support the promised benefits of using VTs in SA; (iii) it is important to conduct industrial surveys for investigating how software architecture practitioners actually employ VTs in architecting process and what are the issues that hinder and prevent them from adopting VTs in SA. (C) 2014 Elsevier Inc. All rights reserved.
引用
收藏
页码:161 / 185
页数:25
相关论文
共 50 条
  • [31] A systematic literature review of student engagement in software visualization: a theoretical perspective
    Al-Sakkaf, Abdullah
    Omar, Mazni
    Ahmad, Mazida
    COMPUTER SCIENCE EDUCATION, 2019, 29 (2-3) : 283 - 309
  • [32] SOFTWARE ARCHITECTURE FOR MANUFACTURING TECHNIQUES
    不详
    WERKSTATTSTECHNIK ZEITSCHRIFT FUR INDUSTRIELLE FERTIGUNG, 1991, 81 (02): : 74 - 74
  • [33] Visualization Techniques for Effective Software Comprehend
    Aldhahri, Eiman
    2016 INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE & COMPUTATIONAL INTELLIGENCE (CSCI), 2016, : 1355 - 1359
  • [34] Software Requirement Smells and Detection Techniques: A Systematic Literature Review
    Alemneh, Esubalew
    Berhanu, Fekerte
    CYBERNETICS AND INFORMATION TECHNOLOGIES, 2024, 24 (04) : 78 - 107
  • [35] A Systematic Review of Ensemble Techniques for Software Defect and Change Prediction
    Khanna, Megha
    E-INFORMATICA SOFTWARE ENGINEERING JOURNAL, 2022, 16 (01) : 1 - 41
  • [36] Inspection reading techniques applied to software artifacts - a systematic review
    Ebad, Shouki A.
    COMPUTER SYSTEMS SCIENCE AND ENGINEERING, 2017, 32 (03): : 213 - 226
  • [37] A Systematic Review of Feature Selection Techniques in Software Quality Prediction
    Alsolai, Hadeel
    Roper, Marc
    2019 INTERNATIONAL CONFERENCE ON ELECTRICAL AND COMPUTING TECHNOLOGIES AND APPLICATIONS (ICECTA), 2019,
  • [38] A systematic review of machine learning techniques for software fault prediction
    Malhotra, Ruchika
    APPLIED SOFT COMPUTING, 2015, 27 : 504 - 518
  • [39] Requirements elicitation techniques for software development: a systematic review of literature
    Alflen, Naiara Crislaine
    Vasques Prado, Edmir Parada
    ATOZ-NOVAS PRATICAS EM INFORMACAO E CONHECIMENTO, 2021, 10 (01): : 39 - 49
  • [40] Diversification and obfuscation techniques for software security: A systematic literature review
    Hosseinzadeh, Shohreh
    Rauti, Sampsa
    Lauren, Samuel
    Makela, Jari-Matti
    Holvitie, Johannes
    Hyrynsalmi, Sami
    Leppanen, Ville
    INFORMATION AND SOFTWARE TECHNOLOGY, 2018, 104 : 72 - 93