A Definition of Architecture

Many definitions of architecture have been proposed. The Rational Unified Process defines architecture as follows . [3]

[3] This definition evolved from one given several years ago by Mary Shaw and David Garlan of Carnegie-Mellon University. See their textbook Software Architecture ”Perspectives on an Emerging Discipline . Upper Saddle River, NJ: Prentice-Hall, 1996.

Architecture encompasses significant decisions about the following:

  • The organization of a software system

  • The selection of structural elements and their interfaces by which the system is composed , together with their behavior as specified in the collaboration among those elements

  • The composition of these elements into progressively larger subsystems

  • The architectural style that guides this organization, these elements and their interfaces, their collaborations, and their composition

Software architecture is concerned with not only structure and behavior but also context: usage, functionality, performance, resilience, reuse, comprehensibility, economic and technological constraints and trade-offs, and aesthetics.

This definition is long, but it attempts to capture the richness, the complexity, and the multiple dimensions of the concept. We can elaborate on some of the points.

Architecture is a part of design; it is about making decisions about how the system will be built. But it is not all of the design. It stops at the major elements ”the elements that have a pervasive and long- lasting effect on the qualities of the system, namely, its evolvability and its performance.

Architecture is about structure and about organization, but it is not limited to structure. It also deals with behavior: what happens at the joints, at the seams, and across the interfaces.

Architecture not only looks inward but also looks at the "fit" of the system in two contexts: the operational context (its end users) and the development context (the organization that develops the system). And it encompasses not only a system's technical aspects but also its economic and sociological aspects.

Architecture also addresses "soft" issues such as style and aesthetics. Can an architecture be pleasing? Yes, to the educated eye it can be. Issues of aesthetics have their place in making a design uniform, easy to understand, and easy to evolve , with minimal surprises for the designers.



The Rational Unified Process. An Introduction
Blogosphere: Best of Blogs
ISBN: B0072U14D8
EAN: 2147483647
Year: 2002
Pages: 193

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net