search menu icon-carat-right cmu-wordmark

An Introduction to Software Architecture

Technical Report
This paper provides an introduction to the emerging field of software architecture.
Publisher

Software Engineering Institute

CMU/SEI Report Number
CMU/SEI-94-TR-021

Abstract

As the size of software systems increases, the algorithms and data structures of the computation no longer constitute the major design problems. When systems are constructed from many components, the organization of the overall system—the software architecture—presents a new set of design problems. This level of design has been addressed in a number of ways, including informal diagrams and descriptive terms, module interconnection languages, templates, and frameworks for systems that serve the needs of specific domains, and formal models of component integration mechanisms. In this paper, we provide an introduction to the emerging field of software architecture. We begin by considering a number of common architectural styles upon which many systems are currently based, and how different styles can be combined in a single design. Then, we present six case studies to illustrate how architectural representations can improve our understanding of complex software systems. Finally, we survey some of the outstanding problems in the field, and consider a few of the promising research directions.

Cite This Technical Report

Garlan, D., & Shaw, M. (1994, January 1). An Introduction to Software Architecture. (Technical Report CMU/SEI-94-TR-021). Retrieved April 16, 2024, from https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/.

@techreport{garlan_1994,
author={Garlan, David and Shaw, Mary},
title={An Introduction to Software Architecture},
month={Jan},
year={1994},
number={CMU/SEI-94-TR-021},
howpublished={Carnegie Mellon University, Software Engineering Institute's Digital Library},
url={https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/},
note={Accessed: 2024-Apr-16}
}

Garlan, David, and Mary Shaw. "An Introduction to Software Architecture." (CMU/SEI-94-TR-021). Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, January 1, 1994. https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/.

D. Garlan, and M. Shaw, "An Introduction to Software Architecture," Carnegie Mellon University, Software Engineering Institute's Digital Library. Software Engineering Institute, Technical Report CMU/SEI-94-TR-021, 1-Jan-1994 [Online]. Available: https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/. [Accessed: 16-Apr-2024].

Garlan, David, and Mary Shaw. "An Introduction to Software Architecture." (Technical Report CMU/SEI-94-TR-021). Carnegie Mellon University, Software Engineering Institute's Digital Library, Software Engineering Institute, 1 Jan. 1994. https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/. Accessed 16 Apr. 2024.

Garlan, David; & Shaw, Mary. An Introduction to Software Architecture. CMU/SEI-94-TR-021. Software Engineering Institute. 1994. https://insights.sei.cmu.edu/library/an-introduction-to-software-architecture/