This Article 
 Bibliographic References 
 Add to: 
A Survey on Software Architecture Analysis Methods
July 2002 (vol. 28 no. 7)
pp. 638-653

The purpose of the architecture evaluation of a software system is to analyze the architecture to identify potential risks and to verify that the quality requirements have been addressed in the design. This survey shows the state of the research at this moment, in this domain, by presenting and discussing eight of the most representative architecture analysis methods. The selection of the studied methods tries to cover as many particular views of objective reflections as possible to be derived from the general goal. The role of the discussion is to offer guidelines related to the use of the most suitable method for an architecture assessment process. We will concentrate on discovering similarities and differences between these eight available methods by making classifications, comparisons and appropriateness studies.

[1] G. Abowd, L. Bass, P. Clements, R. Kazman, L. Northop, and A. Zaremski, “Recommended Best Industrial Practice for Software Architecture Evaluation,” Technical Report, CMU/SEI-96-TR-025, 1997.
[2] A. Alonso, M. Garcia-Valls, and J.A. de la Puente, “Assessment of Timing Properties of Family Products,” Proc. Second Int'l ESPRIT ARES Workshop, pp. 161-169, Feb. 1998.
[3] M. Barbacci, M. Klein, and C. Weinstock, “Principles for Evaluating the Quality Attributes of a Software Architecture,” Technical Report, CMU/SEI-96-TR-036, ESC-TR-96-136, 1997.
[4] M. Barbacci, M. Klein, T. Longstaff, and C. Weinstock, “Quality Attributes,” Technical Report CMU/SEI-95-TR-021, ESC-TR-95-021, 1995.
[5] M. Barbacci, S. Carriere, P. Feiler, R. Kazman, M. Klein, H. Lipson, T. Longstaff, and C. Weinstock, “Steps in an Architecture Tradeoff Analysis Method: Quality Attribute Models and Analysis,” Technical Report, CMU/SEI-97-TR-029 ESC-TR-97-029, 1998.
[6] V.R. Basili and H.D. Rombach, "The TAME Project: Towards Improvement-Oriented Software Environments," IEEE Trans. Software Eng., Vol. 14, No. 6, 1988, pp. 758-773.
[7] L. Bass et al., Software Architecture in Practice, Addison Wesley Longman, 1997.
[8] P.O. Bengtsson and J. Bosch, “Scenario-Based Architecture Reengineering,” Proc. Fifth Int'l Conf. Software Reuse (ICSR 5), 1998.
[9] P.O. Bengtsson, “Towards Maintainability Metrics on Software Architecture: An Adaptation of Object Oriented Metrics,” Proc. First Nordic Workshop Software Architecture (NOSA '98), Aug. 1998.
[10] P.O. Bengtsson and J. Bosch, “Architecture Level Prediction of Software Maintenance,” Proc. Third European Conf. Software Maintenance and Reeng., pp. 139-147, Mar. 1999.
[11] R.S. Arnold and S.A. Bohner, Software Change Impact Analysis. Los Alamitos, Calif.: IEEE Computer Society, 1996.
[12] J. Bosch and P. Molin, Software Architecture Design: Evaluation and Transformation Proc. 1999 IEEE Eng. of Computer Systems Symp., pp. 4-10, Dec. 1999.
[13] S. Bot, C.-H. Lung, and M. Farrell, “A Stakeholder–Centric Software Architecture Analysis Approach,” Proc. Int'l Software Architecture Workshop (ISAW 2), 1996.
[14] L. Bratthall and P. Runeson, “A Taxonomy of Orthogonal Properties of Software Architecture,” Proc. Second Nordic Software Architecture Workshop (NOSA '99), 1999.
[15] L. Briand, S. Morasca, and V. Basili, "Measuring and Assessing Maintainability at the End of High-Level Design," Proc. IEEE Conf. Software Maintenance,Montreal, Sept. 1993.
[16] F. Buschmann, R. Meunier, P. Sommerland, and M. Stal, Pattern-oriented Software Architectures, a System of Patterns. Chichester: Wiley&Sons, 1996.
[17] R. Day, Quality Function Deployment. Linking a Company with Its Customers. Milwaukee, Wisc.: ASQC Quality Press, 1993.
[18] J.C. Duenas, W.L. de Oliveira, and J.A. de la Puente, “A Software Architecture Evaluation Model,” Proc. Second Int'l ESPRIT ARES Workshop, pp. 148-157, Feb. 1998.
[19] E. Gamma et al., Design Patterns: Elements of Object-Oriented Software, Addison-Wesley, Reading, Mass., 1994.
[20] A. Iannino, “Software Reliability Theory, Encyclopedia of Software Eng., J.J. Marciniak, ed., vol. 2, pp. 1237-1253, 1994.
[21] IEEE Std. 610.12-1990, Standard Glossary of Software Engineering Terminology, IEEE Press, Piscataway, N.J., 1990.
[22] IEEE Standard 1061-1992, Standard for Software Quality Metrics Methodology, New York: Institute of Electrical and Electronics Engineers, 1992.
[23] ISO/IEC91—Int'l Organization of Standardisation and Int'l Electrotechnical Commission, Information Technology—Software Product Evaluation—Quality Characteristics and Guidelines for Their Use, ISO/IEC 9216: 1991(E), 1991.
[24] Software Reuse, a Holistic Approach. E. Karlsson ed., Chichester: Wiley&Sons, 1995.
[25] R. Kazman, M. Barbacci, M. Klein, S.J. Carriere, and S.G. Woods, “Experience with Performing Architecture Tradeoff Analysis,” Proc. Int'l Conf. Software Eng. (ICSE `99), pp. 54-63, May 1999.
[26] R. Kazman et al., "Scenario-Based Analysis of Software Architecture," IEEE Software, Dec. 1996, pp. 47-56.
[27] R. Kazman, G. Abowd, L. Bass, and M. Webb, “Analyzing the Properties of User Interface Software Architectures,” Technical Report, CMU-CS-93-201, Carnegie Mellon Univ., School of Computer Science, 1993.
[28] R. Kazman et al., "SAAM: A Method for Analyzing the Properties of Software Architectures," Proc. Int'l Conf. Software Eng., IEEE CS Press, Los Alamitos, Calif., 1984, pp. 81-90.
[29] R. Kazman, M. Klein, M. Barbacci, H. Lipson, T. Longstaff, and S. Carriere, “The Architecture Tradeoff Analysis Method,” Proc. Fourth Int'l Conf. Eng. of Complex Computer Systems, ICECCS '98, Aug. 1998.
[30] R. Kazman, S.J. Carriere, and S.G. Woods, “Toward a Discipline of Scenario-Based Architectural Engineering,” Annals of Software Eng., vol. 9, 2000, .
[31] M. H. Klein, T. Ralya, B. Pollak, R. Obenza, and M. G. Harobur,A Practitioner's Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems. New York: Kluwer–Academic, 1993.
[32] M. Klein, R. Kazman, L. Bass, S.J. Carriere, M. Barbacci, and H. Lipson, “Attribute-Based Architectural Styles,” Proc. First Working IFIP Conf. Software Architecture (WICSA 1), pp. 225-243, Feb. 1999.
[33] P. Kruchten, "The 4+1 View Model of Architecture," IEEE Software, vol. 12, no. 6, Nov./Dec. 1995, pp. 42-50.
[34] N.H. Lassing, D.B.B. Rijsenbrij, and J.C. van Vliet, “Flexibility in ComBAD Architecture,” Proc. First Working IFIP Conf. Software Architecture (WICSA 1), Feb. 1999.
[35] N. Lassing, D. Rijsenbrij, and H. van Vliet, “On Software Architecture Analysis of Flexibility, Complexity of Changes: Size Isn't Everything,” Proc. Second Nordic Software Architecture Workshop (NOSA '99), pp. 1103-1581, 1999.
[36] N. Lassing, D. Rijsenbrij, and H. van Vliet, “The Goal of Software Architecture Analysis: Confidence Building or Risk Assessment,” Proc. First Benelux Conf. State-of-the-art of ICT Architecture, 1999.
[37] N. Lassing, D. Rijsenbrij, and H. van Vliet, “Towards a Broader View on Software Architecture Analysis of Flexibility,” Proc. Asian-Pacific Software Eng. Conf. (APSEC '99), 1999.
[38] W. Li and S. Henry, "Object-Oriented Metrics that Predict Maintainability," J. Systems Software, Vol. 23, No. 2, 1993, pp. 111-122.
[39] J.W.S. Liu and R. Ha, “Efficient Methods of Validating Timing Constraints,” Advances in Real-Time Systems, S.H. Son ed., pp. 199-223, 1995.
[40] L. Lundberg, J. Bosch, D. Häggander, and P.O. Bengtsson, “Quality Attributes In Software Architecture Design,” Proc. IASTED Third Int'l Conf. Software Eng. and Applications, pp. 353-362, Oct. 1999.
[41] S.N. Spitz, A.J. Spyridi, and A.A.G. Requicha, “Accessibility Analysis for Planning of Dimensional Inspection with Coordinate Measuring Machines,” IEEE Trans. Robotics and Automation, vol. 15, no. 6, pp. 714-727, Aug. 1999.
[42] J.A. McCall, “Quality Factors,” Encyclopedia of Software Eng., J.J. Marciniak ed., vol. 2, pp. 958-971, 1994.
[43] G. Molter, “Integrating SAAM in Domain-Centric and Reuse-Based Development Processes,” Proc. Second Nordic Workshop Software Architecture (NOSA '99), pp. 1103-1581, 1999.
[44] D.L. Parnas, "On the Criteria to be Used in Decomposing Systems into Software Modules," Comm. ACM, Dec. 1972, pp. 1,053-1,058.
[45] D. E. Perry and A. L. Wolf,“Foundations for the study of software architecture,”inACM SIGSOFT Software Eng. Notes, Oct. 1992, vol. 17, no. 4, pp. 40–52.
[46] J.S. Poulin, “Measuring Software Reusability,” Proc. Third Conf Software Reuse, Nov. 1994.
[47] B.M. Reed and D.A. Jacobs, Quality Function Deployment for Large Space Systems. Nat'l Aeronautics and Space Administration, 1993.
[48] P. Runeson and C. Wohlin, “Statistical Usage Testing for Software Reliability Control,” Informatica, vol. 19, no. 2, pp. 195-207, 1995.
[49] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[50] C. Smith, Performance Engineering of Software Systems. Reading, Mass.: Addison Wesley, 1990.
[51] C. Smith and L. Williams, “Software Performance Engineering: A Case Study Including Performance Comparison with Design Alternatives,,” IEEE Trans. Software Eng., vol. 19, no. 7, pp. 720-741, July 1993.
[52] W.P. Stevens, G.J. Myers, and L.L. Constantine, “Structured Design,” IBM Systems J., vol. 13, no. 2, pp. 115-139, 1974.

Index Terms:
Software architecture, analysis techniques and methods, quality attributes, scenarios.
Liliana Dobrica, Eila Niemelä, "A Survey on Software Architecture Analysis Methods," IEEE Transactions on Software Engineering, vol. 28, no. 7, pp. 638-653, July 2002, doi:10.1109/TSE.2002.1019479
Usage of this product signifies your acceptance of the Terms of Use.