Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

A Basis for Analyzing Software Architecture Analysis Methods

Published: 01 December 2005 Publication History

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.

References

[1]
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.
[2]
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.
[3]
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.
[4]
Bass, L., Clements, P., and Kazman, R. (2003). Software Architecture in Practice, 2nd edition, Reading, MA, Addison-Wesley.
[5]
Bengtsson, P. O. and Bosch, J. (1998). Scenario-based architecture reengineering, In Proceedings Fifth International Conference on Software Reuse (ICSR 5).
[6]
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.
[7]
Bengtsson, P. O., Lassing, N., Bosch, J., and van Vliet, H. (2004). Architecture-level modifiability analysis, Journal of Systems and Software 69: 129-147.
[8]
Booch, G., Jacobson, I., and Rumbaugh, J. (1999). The Unified Modeling Language Reference Manual, Addison-Wesley.
[9]
Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., and Stal, M. (1996). Pattern-Oriented Software Architecture . Chichester, UK: Wiley.
[10]
Clements, P., Kazman, R., and Klein, M. (2001). Evaluating Software Architectures: Methods and Case Studies, Addison-Wesley.
[11]
Dobrica, L. F. and Niemela, E. (2002). A survey on software architecture analysis methods, IEEE Transactions on Software Engineering 28(7): 638-653.
[12]
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.
[13]
Gilb, T. (1988). Principles of Software Engineering Management, Reading, MA, Addison-Wesley.
[14]
Iannino, A. (1994). Software reliability theory, Encyclopedia of Software Engineering, J. J. Marciniak (ed.). New York, NY: Wiley, vol. 2, pp. 1237-1253.
[15]
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.
[16]
Kazman, R. and Carriere, S. J. (1999). Playing detective: Reconstructing software architecture from available evidence, Automated Software Engineering 6(2):107-138.
[17]
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.
[18]
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.
[19]
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.
[20]
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.
[21]
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.
[22]
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.
[23]
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.
[24]
Shaw, M. and Garlan, D. 1996. Software Architecture: Perspectives on an Emerging Discipline, Upper Saddle River, NJ: Prentice-Hall.
[25]
Soni, D., Nord, R., and Hofmeister, C. (2000). Applied Software Architecture, Reading, MA, Addison-Wesley.

Cited By

View all
  • (2019)Has social sustainability been addressed in software architectures?Proceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344979(245-249)Online publication date: 9-Sep-2019
  • (2015)Software metrics for measuring the understandability of architectural structuresProceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering10.1145/2745802.2745822(1-14)Online publication date: 27-Apr-2015
  • (2014)Relating System Quality and Software ArchitectureundefinedOnline publication date: 8-Aug-2014
  • Show More Cited By

Recommendations

Reviews

James M. Perry

Software architecture analysis methods are intended to help system stakeholders understand design tradeoffs, the quality attributes of a particular architecture, and the risks in a particular architecture satisfying system goals. This paper begins with a brief overview of software architecture analysis methods, and identifies four criteria that are important for a method to be effective and usable: identification of business goals; focus on quality attributes that support those goals and the architecture properties that, in turn, support those attributes; analysis support; and verification that the results of the analysis relate back to and support the business goals. After introducing the four criteria, the authors apply them in detail to the architecture tradeoff analysis method (ATAM), and briefly to the architecture-level modifiability analysis (ALMA). Each application results in suggested improvements related to better satisfying the criteria. The paper contributes to improving software architecture analysis methods. However, its significance is broader. First, its principles also apply to other engineering disciplines, for example, systems engineering. While the paper focuses on comparing and improving software architecture analysis methods, it clearly also holds relevance for system and software development. The use of improved analysis methods early in system development can influence architectural and design decisions, so the desired attributes and properties that best support system goals can be effectively attained. The audience for this paper includes architects and designers, managers, process improvement personnel, and other system stakeholders. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image Software Quality Journal
Software Quality Journal  Volume 13, Issue 4
December 2005
116 pages

Publisher

Kluwer Academic Publishers

United States

Publication History

Published: 01 December 2005

Author Tags

  1. analysis methods
  2. architecture analysis
  3. quality attributes
  4. software architecture

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 15 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Has social sustainability been addressed in software architectures?Proceedings of the 13th European Conference on Software Architecture - Volume 210.1145/3344948.3344979(245-249)Online publication date: 9-Sep-2019
  • (2015)Software metrics for measuring the understandability of architectural structuresProceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering10.1145/2745802.2745822(1-14)Online publication date: 27-Apr-2015
  • (2014)Relating System Quality and Software ArchitectureundefinedOnline publication date: 8-Aug-2014
  • (2013)Automated software architecture security risk analysis using formalized signaturesProceedings of the 2013 International Conference on Software Engineering10.5555/2486788.2486875(662-671)Online publication date: 18-May-2013
  • (2013)Notes on Synthesis of Context between Engineering and Social ScienceProceedings of the 8th International and Interdisciplinary Conference on Modeling and Using Context - Volume 817510.1007/978-3-642-40972-1_12(157-170)Online publication date: 28-Oct-2013
  • (2011)On the evolution of quality conceptualization techniquesThe evolution of conceptual modeling10.5555/1985703.1985710(117-136)Online publication date: 1-Jan-2011
  • (2011)Sustainability evaluation of software architecturesProceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS10.1145/2000259.2000263(3-12)Online publication date: 20-Jun-2011
  • (2011)The reliability estimation, prediction and measuring of component-based softwareJournal of Systems and Software10.1016/j.jss.2011.01.04884:6(1054-1070)Online publication date: 1-Jun-2011
  • (2011)Towards a quality meta-model for information systemsSoftware Quality Journal10.1007/s11219-011-9131-119:4(663-688)Online publication date: 1-Dec-2011
  • (2010)A metrics suite for evaluating agent-oriented architecturesProceedings of the 2010 ACM Symposium on Applied Computing10.1145/1774088.1774278(912-919)Online publication date: 22-Mar-2010
  • Show More Cited By

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media