Software Architecture Visualization: An Evaluation Framework and Its Application
|
In order to characterize and improve software architecture visualization practice, the paper derives and constructs a qualitative framework, with 7 key areas and 31 features, for the assessment of software architecture visualization tools. The framework is derived by the application of the Goal Question Metric paradigm to information obtained from a literature survey and addresses a number of stakeholder issues. The evaluation is performed from multiple stakeholder perspectives and in various architectural contexts. Stakeholders can apply the framework to determine if a particular software architecture visualization tool is appropriate to a given task. The framework is applied in the evaluation of a collection of six software architecture visualization tools. The framework may also be used as a design template for a comprehensive software architecture visualization tool.
[1] 260 V. Basili, G. Caldiera, and H.D. Rombach, “The Goal Question Metric Paradigm,” Encyclopedia of Software Eng., vol. 2, pp. 528-532, John Wiley & Sons, 1994.
[2] S. Bassil and R. Keller, “A Qualitative and Quantitative Evaluation of Software Visualization Tools,” Proc. 23rd IEEE Int'l Conf. Software Eng. Workshop Software Visualization, pp. 33-37, 2001.
[3] S. Card, J. Mackinlay, and B. Shneiderman, Reading in Information Visualization: Using Vision to Think. Morgan Kaufmann, 1999.
[4] I. Carmichael, V. Tzerpos, and R. Holt, “Design Maintenance: Unexpected Architectural Interactions,” Proc. Int'l Conf. Software Maintenance, pp. 134-137, 1995.
[5] A. Eden, “Formal Specification of Object-Oriented Design,” Proc. Conf. Multidisciplinary Design in Eng., 2001.
[6] A. Eden, “Visualization of Object-Oriented Architectures,” Proc. IEEE 23rd Int'l Conf. Software Eng. Workshop Software Visualization, pp. 5-10, 2001.
[7] A. Eden, “Le PUS: A Visual Formalism for Object-Oriented Architectures,” Proc. Sixth World Conf. Integrated Design and Process Technology, June 2002.
[8] M. Eisenstadt and M. Brayshaw, “A Knowledge Engineering Toolkit: Part I,” BYTE: The Small Systems J., pp. 268-282, 1990.
[9] L. Feijs and R. de Yong, “3D Visualization of Software Architectures,” Comm. ACM, vol. 41, no. 12, pp. 73-78, Dec. 1998.
[10] K. Gallagher, A. Hatch, and M. Munro, “A Framework for Software Architecture Visualization Assessment,” Proc. IEEE Workshop Visualizing Software, pp. 76-82, Sept. 2005.
[11] T. Green, “Instructions and Descriptions: Some Cognitive Aspects of Programming and Similar Activities,” Advanced Visual Interfaces, pp. 21-28, ACM Press, 2000.
[12] T.R.G. Green and M. Petre, “Usability Analysis of Visual Programming Environments: A “Cognitive Dimensions” Framework,” J. Visual Languages and Computing, vol. 7, no. 2, pp. 131-174, 1996.
[13] J. Grundy and J. Hosking, “High-Level Static and Dynamic Visualisation of Software Architectures,” Proc. IEEE Symp. Visual Languages, pp. 5-12, Sept. 2000.
[14] A. Hatch, “Software Architecture Visualisation,” PhD dissertation, Univ. of Durham, 2004.
[15] “IEEE Recommended Practice for Architectural Description of Software Intensive Systems,” technical report, IEEE, 2000.
[16] C. Knight and M. Munro, “Visualising Software—A Key Research Area,” Proc. Int'l Conf. Software Maintenance, p. 436, 1999.
[17] P. Kruchten, “The 4 + 1 View Model of Software Architecture,” IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995.
[18] J. Maletic, A. Marcus, and M. Collard, “A Task Oriented View of Software Visualization,” Proc. IEEE Workshop Visualizing Software for Understanding and Analysis, pp. 32-40, 2002.
[19] N. Medvidovic and R. Taylor, “A Classification and Comparison Framework for Software Architecture Description Languages,” IEEE Trans. Software Eng., vol. 26, no. 1, pp. 70-93, Jan. 2000.
[20] B.A. Price, R. Baecker, and I.S. Small, “A Principled Taxonomy of Software Visualization,” J. Visual Languages and Computing, vol. 4, no. 3, pp. 211-266, 1993.
[21] G-C. Roman and K.C. Cox, “A Taxonomy of Program Visualization Systems,” Computer, vol. 26, no. 12, pp. 11-24, Dec. 1993.
[22] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[23] B. Shneiderman, Designing the User Interface: Strategies for Effective Human-Computer Interaction. Addison-Wesley, 1998.
[24] S. Sim, C. Clarke, R. Holt, and A. Cox, “Browsing and Searching Software Architectures,” Proc. Int'l Conf. Software Maintenance, pp.381-390, Sept. 1999.
[25] Sparx Systems, Enterprise Architect, http:/www.sparxsystems. com.au, 2008.
[26] J. Stasko and C. Patterson, “Understanding and Characterizing Program Visualization Systems,” Proc. IEEE Workshop Visual Languages, pp. 3-10, 1992.
[27] M. Storey, D. Cubranic, and D. German, “On the Use of Visualization to Support Awareness of Human Activities in Software Development: A Survey and Framework,” Proc. ACM Symp. Software Visualization, pp. 193-202, 2005.
[28] M. Storey, F. Fracchia, and H. Muller, “Cognitive Design Elements to Support the Construction of a Mental Model During Software Exploration,” J. Systems and Software, vol. 44, pp. 171-185, 1999.
Index Terms:
Software Architectures, Visualization techniques and methodologies
Citation:
Keith Gallagher, Andrew Hatch, Malcolm Munro, "Software Architecture Visualization: An Evaluation Framework and Its Application," IEEE Transactions on Software Engineering, vol. 34, no. 2, pp. 260-270, Mar./Apr. 2008, doi:10.1109/TSE.2007.70757