Skip to main content
Log in

A Basis for Analyzing Software Architecture Analysis Methods

  • Published:
Software Quality Journal Aims and scope Submit manuscript

Abstract

A software architecture is a key asset for any organization that builds complex software-intensive systems. Because of an architecture's central role as a project blueprint, organizations should analyze the architecture before committing resources to it. An analysis helps to ensure that sound architectural decisions are made. Over the past decade a large number of architecture analysis methods have been created, and at least two surveys of these methods have been published. This paper examines the criteria for analyzing architecture analysis methods, and suggests a new set of criteria that focus on the essence of what it means to be an architecture analysis method. These criteria could be used to compare methods, to help understand the suitability of a method, or to improve a method. We then examine two methods—the Architecture Tradeoff Analysis Method and Architecture-level Modifiability Analysis—in light of these criteria, and provide some insight into how these methods can be improved.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Ali Babar, M., Zhu, L., and Jeffrey, R. (2004). A framework for classifying and comparing software architecture evaluation methods, In Proceedings of 5th Australian Software Engineering Conference, April, pp. 309–319.

  • Bachmann, F., Bass, L., and Klein, M. (2003). Deriving architectural tactics: A step toward methodical architectural design, CMU/SEI-2003-TR-004, Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  • Bachmann, F., Bass, L., Chastek, G., Donohoe, P., and Peruzzi, F. (2000). The architecture based design method, CMU/SEI-2000-TR-001, Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  • Bass, L., Clements, P., and Kazman, R. (2003). Software Architecture in Practice, 2nd edition, Reading, MA, Addison-Wesley.

    Google Scholar 

  • Bengtsson, P.O. and Bosch, J. (1998). Scenario-based architecture reengineering, In Proceedings Fifth International Conference on Software Reuse (ICSR 5).

  • Bengtsson, P.O. and Bosch, J. (1999). Architecture level prediction of software maintenance, In Proceedings Third European Conference on Software Maintenance and Reengineering, pp. 139–147.

  • Bengtsson, P.O., Lassing, N., Bosch, J., and van Vliet, H. (2004). Architecture-level modifiability analysis, Journal of Systems and Software 69: 129–147.

    Article  Google Scholar 

  • Booch, G., Jacobson, I., and Rumbaugh, J. (1999). The Unified Modeling Language Reference Manual, Addison-Wesley.

  • Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. (1996). Pattern-Oriented Software Architecture. Chichester, UK: Wiley.

    Google Scholar 

  • Clements, P., Kazman, R., and Klein, M. (2001). Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley.

  • Dobrica, L.F. and Niemela, E. (2002). A survey on software architecture analysis methods, IEEE Transactions on Software Engineering 28(7): 638–653.

    Article  Google Scholar 

  • Duenas, J.C., de Oliveira, W.L., and de la Puente, J.A. (1998). A software architecture evaluation model, In Proceedings Second International ESPRIT ARES Workshop, pp. 148–157.

  • Gilb, T. (1988). Principles of Software Engineering Management, Reading, MA, Addison-Wesley.

    Google Scholar 

  • Iannino, A. (1994). Software reliability theory, Encyclopedia of Software Engineering, J.J. Marciniak (ed.). New York, NY: Wiley, vol. 2, pp. 1237–1253

    Google Scholar 

  • Kazman, R., Abowd, G., Bass, L., and Webb, M. (1994). SAAM: A method for analyzing the properties of software architectures, In Proceedings of the 16th International Conference on Software Engineering. Sorrento, Italy, May 16–21, Los Alamitos, CA: IEEE Computer Society, pp. 81–90.

  • Kazman, R. and Carriere, S.J. (1999). Playing detective: Reconstructing software architecture from available evidence, Automated Software Engineering 6(2):107–138.

    Article  Google Scholar 

  • Kazman, R., Barbacci, M., Klein, M., Carriere, S., and Woods, S. (1999). Experience with performing architecture tradeoff analysis, In Proceedings of the 21st International Conference on Software Engineering (ICSE 21), Los Angeles, CA, pp. 54–63.

  • Kazman, R., Klein, M., and Clements, P. (2000). ATAM: A method for architecture evaluation, CMU/SEI- 2000-TR-004, Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  • Klein, M., Ralya, T., Pollak, B., Obenza, R., and Gonzales Harbour, M. (1993). A Practitioner's Handbook for Real-Time Analysis, Boston, MA, Kluwer Academic.

    Google Scholar 

  • Klein, M., Kazman, R., Bass, L., Carriere, S.J., Barbacci, M., and Lipson, H. (1999). Attribute-based architectural styles, Software Architecture, In Proceedings of the First Working IFIP Conference on Software Architecture. San Antonio, Texas, February 22–24, . Boston, MA, Kluwer Academic Publishers, pp. 225–243.

  • Lassing, N., Risenbrij, D., and van Vliet, H. (1999). Towards a broader view of software architecture analysis of flexibility, 6th Asia-Pacific Software Engineering Conference (APSEC ‘99), IEEE Computer Society Press: Los Alamitos, CA, pp. 238–245.

  • Lassing, N., Bengtsson, P.O., van Vliet, H., and Bosch, J. (2002). Experiences with ALMA: Architecture—Level Modifiability Analysis, Journal of Systems and Software 61: 47–57.

    Article  Google Scholar 

  • Lung, C.-H., Bot, S., Kalaichelvan, K., and Kazman, R. (1997). An approach to software architecture analysis for evolution and reusability, In Proceedings of CASCON '97.

  • Shaw, M. and Garlan, D. 1996. Software Architecture: Perspectives on an Emerging Discipline, Upper Saddle River, NJ: Prentice-Hall.

    Google Scholar 

  • Soni, D., Nord, R., and Hofmeister, C. (2000). Applied Software Architecture, Reading, MA, Addison-Wesley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rick Kazman.

Additional information

Rick Kazman is a Senior Member of the Technical Staff at the Software Engineering Institute of Carnegie Mellon University and Professor at the University of Hawaii. His primary research interests are software architecture, design and analysis tools, software visualization, and software engineering economics. He also has interests in human-computer interaction and information retrieval. Kazman has created several highly influential methods and tools for architecture analysis, including the SAAM and the ATAM. He is the author of over 80 papers, and co-author of several books, including “Software Architecture in Practice”, and “Evaluating Software Architectures: Methods and Case Studies”.

Len Bass is a Senior Member of the Technical Staff at the Software Engineering Institute (SEI). He has written two award winning books in software architecture as well as several other books and numerous papers in a wide variety of areas of computer science and software engineering. He is currently working on techniques for the methodical design of software architectures and to understand how to support usability through software architecture. He has been involved in the development of numerous different production or research software systems ranging from operating systems to database management systems to automotive systems.

Mark Klein is Senior Member of the Technical Staff of the Software Engineering Institute. He has over 20 years of experience in research on various facets of software engineering, dependable real-time systems and numerical methods. Klein's most recent work focuses on the analysis of software architectures, architecture tradeoff analysis, attribute-driven architectural design and scheduling theory. Klein's work in real-time systems involved the development of rate monotonic analysis (RMA), the extension of the theoretical basis for RMA, and its application to realistic systems. Klein's earliest work involved research in high-order finite element methods for solving fluid flow equations arising in oil reservoir simulation. He is the co-author two books: “A Practitioner's Handbook for Real-Time Analysis: Guide to Rate Monotonic Analysis for Real-Time Systems” and “Evaluating Software Architecture: Methods and Case Studies”.

Anthony J. Lattanze is an Associate Teaching Professor at the Institute for Software Research International (ISRI) at Carnegie Mellon University (CMU) and a senior member of the technical staff at the Software Engineering Institute (SEI). Anthony teaches courses in CMUs Masters of Software Engineering Program in Software Architecture, Real-Time/Embedded Systems, and Software Development Studio. His primary research interest is in the area software architectural design for embedded, software intensive systems. Anthony consults and teaches throughout industry in the areas of software architecture design and architecture evaluation.

Prior to Carnegie Mellon, Mr. Lattanze was the Chief of Software Engineering for the Technology Development Group at the United States Flight Test Center at Edwards Air Force Base, CA. During his tenure at the Flight Test Center, he was involved with a number of software and systems engineering projects as a software and systems architect, project manager, and developer. During this time as he was involved with the development, test, and evaluation of avionics systems for the B-2 Stealth Bomber, F-117 Stealth Fighter, and F-22 Advanced Tactical Fighter among other systems.

Linda Northrop is the director of the Product Line Systems Program at the Software Engineering Institute (SEI) where she leads the SEI work in software architecture, software product lines and predictable component engineering. Under her leadership the SEI has developed software architecture and product line methods that are used worldwide, a series of five highly-acclaimed books, and Software Architecture and Software Product Line Curricula. She is co-author of the book, “Software Product Lines: Practices and Patterns,” and a primary author of the SEI Framework for Software Product Line Practice.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kazman, R., Bass, L., Klein, M. et al. A Basis for Analyzing Software Architecture Analysis Methods. Software Qual J 13, 329–355 (2005). https://doi.org/10.1007/s11219-005-4250-1

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11219-005-4250-1

Keywords

Navigation