Skip to main content
Log in

Toward a discipline of scenario‐based architectural engineering

  • Published:
Annals of Software Engineering

Abstract

Software architecture analysis is a cost‐effective means of controlling risk and maintaining system quality throughout the processes of software design, development and maintenance. This paper presents a sequence of steps that maps architectural quality goals into scenarios that measure the goals, mechanisms that realize the scenarios and analytic models that measure the results. This mapping ensures that design decisions and their rationale are documented in such a fashion that they can be systematically explored, varied, and potentially traded off against each other. As systems evolve, the analytic models can be used to assess the impact of architectural changes, relative to the system's changing quality goals. Although scenarios have been extensively used in software design to understand the ways in which a system meets its operational requirements, there has been little systematic use of scenarios to support analysis, particularly analysis of a software architecture's quality attributes: modifiability, portability, extensibility, security, availability, and so forth. In this paper we present a unified approach to using scenarios to support both the design, analysis and maintenance of software architectures, and examples from large‐scale software development projects where we have applied the approach. We also present a tool, called Brie, that aids in: scenario capture, mapping scenarios to software architectures, and the association of analytic models with particular portions of architectures. The approach that we have devised, and that Brie supports, is a foundation for a discipline of architectural engineering. Architectural engineering is an iterative method of design, analysis and maintenance where design decisions are motivated by scenarios, and are supported by documented analyses.

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.

Institutional subscriptions

Similar content being viewed by others

References

  • Abowd, G., L. Bass, P. Clements, R. Kazman, L. Northrop, and A. Zaremski (1996), “Recommended Best Industrial Practice for Software Architecture Evaluation,” Software Engineering Institute Technical Report CMU/SEI-96-TR-25, Carnegie Mellon University, Pittsburgh, PA.

    Google Scholar 

  • Barbacci, M., J. Carrière, R. Kazman, M. Klein, H. Lipson, T. Longstaff, and C. Weinstock (1997), “Toward Architecture Tradeoff Analysis: Managing Attribute Conflicts and Interactions,” Software Engineering Institute Technical Report CMU/SEI-97-TR-29, Carnegie Mellon University, Pittsburgh, PA.

    Google Scholar 

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

    Google Scholar 

  • Boehm, B. and H. In (1996), “Aids for Identifying Conflicts Among Quality Requirements,” IEEE Software 13, 2, 25–35.

    Article  Google Scholar 

  • Booch, G., J. Rumbaugh, and I. Jacobson (1999), The Unified Modeling Language User Guide, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Briand, L., J. Daly, and J. Wuest (1999), “A Unified Framework for Coupling Measurement in Object-Oriented Systems,” IEEE Transactions on Software Engineering 25, 1, 91–121.

    Article  Google Scholar 

  • Buhr, R. and R. Casselman (1996), Use Case Maps for Object-Oriented Systems, Prentice-Hall, Upper Saddle River, NJ.

    Google Scholar 

  • Cockton, G. and C. Gram, Eds. (1996), Design Principles for Interactive Software, Chapman & Hall, London, UK.

    Google Scholar 

  • Davis, A. (1994), “Requirements Engineering,” In Encyclopedia of Software Engineering, J. Marciniak, Ed., Vol. 2, New York, pp. 1043–1054.

  • Firesmith, D. (1993), Object-Oriented Requirements Analysis and Logical Design, Wiley, New York.

    Google Scholar 

  • Gamma, E., R. Helm, R. Johnson, and J. Vlisside (1995), Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Gough, P., F. Fodemski, S. Higgins, and S. Ray (1995), “Scenarios - An Industrial Case Study and Hypermedia Enhancements,” In Proceedings of the Second IEEE International Symposium on Requirements Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 10–17.

    Google Scholar 

  • Hauser, J.R. and D. Clausing (1998), “The House of Quality,” Harvard Business Review, May/June, 63–73.

  • Jacobson, I., J. Christeron, and G. Overgaard (1992), Object-Oriented Software Engineering: A Use Case Driven Approach, Addison-Wesley, Reading, MA.

    Google Scholar 

  • Kazman, R., G. Abowd, L. Bass, and M. Webb (1994), “SAAM: A Method for Analyzing the Properties of Software Architectures,” In Proceedings of the 16th International Conference on Software Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 81–90.

    Google Scholar 

  • Kazman, R., G. Abowd, L. Bass, and P. Clements (1996), “Scenario-Based Analysis of Software Architecture,” IEEE Software, November, 47–55.

  • Kazman, R., M. Barbacci, M. Klein, S.J. Carrière, and S. Woods (1999), “Experience with Performing Architecture Tradeoff Analysis,” In Proceedings of the 21st International Conference on Software Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 54–63.

    Google Scholar 

  • Kazman, R. and S.J. Carrière (1999), “Playing Detective: Reconstructing Software Architecture from Available Evidence,” Journal of Automated Software Engineering 6, 2, 107–138.

    Article  Google Scholar 

  • Kazman, R., S. Woods, and S.J. Carrière (1998), “Requirements for Integrating Software Architecture and Reengineering Models: CORUM II,” In Proceedings of the Fifth IEEE Working Conference on Reverse Engineering, IEEE Computer Society Press, Los Alamitos, CA, pp. 154–163.

    Google Scholar 

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

    Google Scholar 

  • Kruchten, P. (1995), “The 4 + 1 View Model of Software Architecture,” IEEE Software, November, 42–50.

  • McCall, J. (1994), “Quality Factors,” In Encyclopedia of Software Engineering, J. Marciniak, Ed., Vol. 2, Wiley, New York, pp. 958–969.

    Google Scholar 

  • Medvidovic, N. (1997), “A Classification and Comparison Framework for Software Architecture Description Languages,” Technical Report UCI-ICS-97-02, University of California at Irvine, CA.

    Google Scholar 

  • Meyers, B., D. Plakosh, P. Place, M. Klein, and R. Kazman (1998), “Assessing Multiple Designs for the FAA En Route Center Architecture,” Technical Report CMU/SEI-98-SR-02, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA.

    Google Scholar 

  • Nilson, R., P. Kogut, and G. Jackelen (1994), “Component Provider's and Tool Developer's Handbook Central Archive for Reusable Defense Software (CARDS),” STARS Informal Technical Report STARS-VC-B017/001/00, Unisys Corporation, Waltham, MA.

    Google Scholar 

  • Object Management Group (1997), CORBAservices: Common Object Services Specification.

  • Poulin, J. (1997), “Domains, Product Lines and Software Architectures: Choosing the Appropriate Level of Abstraction,” In Proceedings of the 8th International Workshop on Software Reuse, http://www.umcs.maine.edu/ftp/wisr/wisr8/wisr8.html.

  • Rumbaugh, J., M. Blaha, W. Premerlani, F. Eddy, and W. Lorensen (1991), Object-Oriented Modeling and Design, Prentice-Hall, New York.

    Google Scholar 

  • Smith, C. and L. Williams (1993), “Software Performance Engineering: A Case Study Including Performance Comparison with Design Alternatives,” IEEE Transactions on Software Engineering 19, 7, 720–741.

    Article  Google Scholar 

  • Wong, K., S. Tilley, H.M¨uller, and M. Storey (1994), “Programmable Reverse Engineering,” International Journal of Software Engineering and Knowledge Engineering 4, 4, 501–520.

    Article  Google Scholar 

  • Woods, S., L. O'Brien, T. Lin, K. Gallagher, and A. Quilici (1998), “An Architecture for Interoperable Program Understanding Tools,” In Proceedings of the Sixth IEEE International Workshop on Program Comprehension.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kazman, R., Carrière, S.J. & Woods, S.G. Toward a discipline of scenario‐based architectural engineering. Annals of Software Engineering 9, 5–33 (2000). https://doi.org/10.1023/A:1018964405965

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018964405965

Keywords

Navigation