A systematic review of software architecture visualization techniques |
| |
Affiliation: | 1. State Key Lab of Software Engineering, School of Computer Science, Wuhan University, 430072 Wuhan, China;2. Faculty of Science, Engineering and Technology, Swinburne University of Technology, VIC 3122 Melbourne, Australia;3. IBO Technology (Shenzhen) Co., Ltd, 518057 Shenzhen, China;1. Vienna University of Economics and Business (WU), Welthandelsplatz 1, 1020 Vienna, Austria;2. Secure Business Austria (SBA) Research gGmbH, Favoritenstraße 16, 1040 Vienna, Austria;1. Yeditepe University, Istanbul, Turkey;2. Yale University, New Haven, CT, USA |
| |
Abstract: | ContextGiven 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.ObjectiveThis 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.MethodWe 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.ResultsWe 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.ConclusionSA visualization has gained significant importance in understanding and evolving software-intensive systems. However, only a few VTs 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. |
| |
Keywords: | Software architecture Software architecture visualization Visualization techniques |
本文献已被 ScienceDirect 等数据库收录! |
|