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 条
  • [21] Software smell detection techniques: A systematic literature review
    AbuHassan, Amjad
    Alshayeb, Mohammad
    Ghouti, Lahouari
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2021, 33 (03)
  • [22] METHODS AND TECHNIQUES FOR GAMIFICATION EDUCATIONAL SOFTWARE: A SYSTEMATIC REVIEW
    Pontes, D.
    Martins, J.
    ICERI2016: 9TH INTERNATIONAL CONFERENCE OF EDUCATION, RESEARCH AND INNOVATION, 2016, : 4710 - 4715
  • [23] A Systematic Review of Software Testing Using Evolutionary Techniques
    Mishra, Deepti Bala
    Mishra, Rajashree
    Das, Kedar Nath
    Acharya, Arup Abhinna
    PROCEEDINGS OF SIXTH INTERNATIONAL CONFERENCE ON SOFT COMPUTING FOR PROBLEM SOLVING (SOCPROS 2016), VOL 1, 2017, 546 : 174 - 184
  • [24] A Systematic Literature Review: Software Requirements Prioritization Techniques
    Sufian, Muhammad
    Khan, Zirak
    Rehman, Saad
    Butt, Wasi Haider
    2018 INTERNATIONAL CONFERENCE ON FRONTIERS OF INFORMATION TECHNOLOGY (FIT 2018), 2018, : 35 - 40
  • [25] Workshop on methods and techniques for software architecture review and assessment (SARA)
    Kruchten, P
    Hilliard, R
    Kazman, R
    Kozaczynski, W
    Obbink, H
    Ran, A
    ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 675 - 675
  • [26] SoftArchViz: A software architecture visualization tool
    Sawant, Amit P.
    Bali, Naveen
    4TH IEEE INTERNATIONAL WORKSHOP ON VISUALIZING SOFTWARE FOR UNDERSTANDING AND ANALYSIS, PROCEEDINGS, 2007, : 154 - +
  • [27] SAVE: Software Architecture Visualization and Evaluation
    Duszynski, Slawomir
    Knodel, Jens
    Lindvall, Mikael
    13TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING: CSMR 2009, PROCEEDINGS, 2009, : 323 - +
  • [28] Role of women in Software Architecture: An attempt at a systematic literature review
    Spichkova, Maria
    Schmidt, Heinz
    Trubiani, Catia
    11TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE (ECSA 2017) - COMPANION VOLUME, 2017, : 38 - 41
  • [29] Software architecture for digital game mechanics: A systematic literature review
    Mizutani, Wilson K.
    Daros, Vinicius K.
    Kon, Fabio
    ENTERTAINMENT COMPUTING, 2021, 38
  • [30] Contributions of enterprise architecture to software engineering: A systematic literature review
    Martinez-Lopez, Jose Antonio
    Garcia, Felix
    Ruiz, Francisco
    Vizcaino, Aurora
    JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2024, 36 (04)