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 条
  • [1] A Systematic Analysis of Software Architecture Visualization Techniques
    Sharafi, Zohreh
    2011 IEEE 19TH INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC), 2011, : 254 - 257
  • [2] Software Evolution Visualization Techniques and Methods - a Systematic Review
    Salameh, Hani Bani
    Ahmad, Ayat
    Aljammal, Ashraf
    2016 7TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY (CSIT), 2016,
  • [3] Software Visualization Tools and Techniques: A Systematic Review of the Literature
    Cruz, Adriana
    Bastos, Camila
    Junior, Paulo Afonso
    Costa, Heitor
    PROCEEDINGS OF THE 2016 35TH INTERNATIONAL CONFERENCE OF THE CHILEAN COMPUTER SCIENCE SOCIETY (SCCC), 2016,
  • [4] Microservice Architecture Reconstruction and Visualization Techniques: A Review
    Cerny, Tomas
    Abdelfattah, Amr S.
    Bushong, Vincent
    Al Maruf, Abdullah
    Taibi, Davide
    2022 16TH IEEE INTERNATIONAL CONFERENCE ON SERVICE-ORIENTED SYSTEM ENGINEERING (SOSE 2022), 2022, : 39 - 48
  • [5] A systematic literature review of modern software visualization
    Noptanit Chotisarn
    Leonel Merino
    Xu Zheng
    Supaporn Lonapalawong
    Tianye Zhang
    Mingliang Xu
    Wei Chen
    Journal of Visualization, 2020, 23 : 539 - 558
  • [6] A tertiary systematic literature review on Software Visualization
    Bedu, Laure
    Tinh, Olivier
    Petrillo, Fabio
    2019 SEVENTH IEEE WORKING CONFERENCE ON SOFTWARE VISUALIZATION (VISSOFT), 2019, : 33 - 44
  • [7] A systematic literature review of software visualization evaluation
    Merino, L.
    Ghafari, M.
    Anslow, C.
    Nierstrasz, O.
    JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 144 : 165 - 180
  • [8] A systematic literature review of modern software visualization
    Chotisarn, Noptanit
    Merino, Leonel
    Zheng, Xu
    Lonapalawong, Supaporn
    Zhang, Tianye
    Xu, Mingliang
    Chen, Wei
    JOURNAL OF VISUALIZATION, 2020, 23 (04) : 539 - 558
  • [9] Characterizing software architecture changes: A systematic review
    Williams, Byron J.
    Carver, Jeffrey C.
    INFORMATION AND SOFTWARE TECHNOLOGY, 2010, 52 (01) : 31 - 51
  • [10] Software Architecture and Requirements: A Systematic Literature Review
    Batool, Dur-e-Benish
    Molta, Yasir Hafeez
    Sarwar, Amber
    Abbasi, Mateen Ahmed
    Jabeen, Javeria
    2015 INTERNATIONAL CONFERENCE ON INFORMATION AND COMMUNICATION TECHNOLOGIES (ICICT), 2015,