Introduccion

Solo disponible en BuenasTareas
  • Páginas : 58 (14377 palabras )
  • Descarga(s) : 0
  • Publicado : 30 de agosto de 2010
Leer documento completo
Vista previa del texto
An Introduction to Software Architecture

David Garlan and Mary Shaw January 1994
CMU-CS-94-166

School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213-3890
Also published as “An Introduction to Software Architecture,” Advances in Software Engineering and Knowledge Engineering, Volume I, edited by V.Ambriola and G.Tortora, World Scientific Publishing Company, NewJersey, 1993. Also appears as CMU Software Engineering Institute Technical Report CMU/SEI-94-TR-21, ESC-TR-94-21.

©1994 by David Garlan and Mary Shaw

This work was funded in part by the Department of Defense Advanced Research Project Agency under grant MDA972-92-J-1002, by National Science Foundation Grants CCR-9109469 and CCR-9112880, and by a grant from Siemens Corporate Research. It was alsofunded in part by the Carnegie Mellon University School of Computer Science and Software Engineering Institute (which is sponsored by the U.S. Department of Defense). The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the official policies, either expressed or implied, of the U.S. Government, the Department of Defense, theNational Science Foundation, Siemens Corporation, or Carnegie Mellon University.

Keywords: Software architecture, software design, software engineering

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 overallsystem—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 tothe emerging field of software architecture. We begin by considering a number of common architectural styles upon which many systems are currently based and show 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 theoutstanding problems in the field, and consider a few of the promising research directions.

Contents

1. 2.
2.1. 2.2. 2.3.

Introduction ..................................................................................................... 2 From Programming Languages to Software Architecture..................... 3
High-level Programming Languages................................................................... 3 Abstract Data Types........................................................................................... 4 Software Architecture........................................................................................ 4

3.
3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8.

Common Architectural Styles...................................................................... 5Pipes and Filters ................................................................................................ 6 Data Abstraction and Object-Oriented Organization ........................................... 8 Event-based, Implicit Invocation ........................................................................ 9 Layered Systems................................................................................................ 11 Repositories....................................................................................................... 12 Table Driven Interpreters ................................................................................... 13 Other Familiar Architectures............................................................................. 14 Heterogeneous...
tracking img