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 条
  • [41] A systematic review of unsupervised learning techniques for software defect prediction
    Li, Ning
    Shepperd, Martin
    Guo, Yuchen
    INFORMATION AND SOFTWARE TECHNOLOGY, 2020, 122 (122)
  • [42] A review on 3D terrain visualization of GIS data: techniques and software
    Ruzinoor, Che Mat
    Shariff, Abdul Rashid Mohamed
    Pradhan, Biswajeet
    Ahmad, Mahmud Rodzi
    Rahim, Mohd Shafry Mohd
    GEO-SPATIAL INFORMATION SCIENCE, 2012, 15 (02) : 105 - 115
  • [43] Software architecture for military planning and battlefield visualization
    Kinkead, MO
    Roberts, JD
    PROCEEDINGS OF THE 1998 SUMMER COMPUTER SIMULATION CONFERENCE: SIMULATION AND MODELING TECHNOLOGY FOR THE TWENTY-FIRST CENTURY, 1998, : 588 - 593
  • [44] An architecture to support model driven software visualization
    Bull, R. Ian
    Storey, Margaret-Anne
    Favre, Jean-Marie
    Litoiu, Marin
    14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, : 100 - +
  • [45] A Review on Software Architecture Styles with Layered Robotic Software Architecture
    Chavan, P. U.
    Murugan, M.
    Chavan, P. P.
    1ST INTERNATIONAL CONFERENCE ON COMPUTING COMMUNICATION CONTROL AND AUTOMATION ICCUBEA 2015, 2015, : 827 - 831
  • [46] Usage of Gamification Techniques in Software Engineering Education and Training: A Systematic Review
    Di Nardo, Vincenzo
    Fino, Riccardo
    Fiore, Marco
    Mignogna, Giovanni
    Mongiello, Marina
    Simeone, Gaetano
    COMPUTERS, 2024, 13 (08)
  • [47] A systematic review of hyperparameter tuning techniques for software quality prediction models
    Malhotra, Ruchika
    Cherukuri, Madhukar
    INTELLIGENT DATA ANALYSIS, 2024, 28 (05) : 1131 - 1149
  • [48] Software defect prediction using hybrid techniques: a systematic literature review
    Malhotra, Ruchika
    Chawla, Sonali
    Sharma, Anjali
    SOFT COMPUTING, 2023, 27 (12) : 8255 - 8288
  • [49] A systematic review on techniques and approaches to estimate mobile software energy consumption
    Schuler, Andreas
    Kotsis, Gabriele
    SUSTAINABLE COMPUTING-INFORMATICS & SYSTEMS, 2024, 41
  • [50] A Systematic Review of Load Balancing Techniques in Software-Defined Networking
    Belgaum, Mohammad Riyaz
    Musa, Shahrulniza
    Alam, Muhammad Mansoor
    Su'ud, Mazliham Mohd
    IEEE ACCESS, 2020, 8 : 98612 - 98636