The Purpose of Architecture

Now that we have embraced architecture, we can revisit its purpose. Why should an organization focus on architecture? Architecture is important for several reasons, which are discussed in the following sections.

Intellectual Control

Architecture lets you gain and retain intellectual control over the project, to manage its complexity, and to maintain system integrity.

A complex system is more than the sum of its parts and more than a succession of independent tactical decisions. It must have a unifying, coherent structure so as to organize the parts systematically. It must also provide precise rules about how to grow the system without having its complexity multiply beyond human understanding.

Maintaining the system's integrity has long been the objective of system architects . Integrity, in its original meaning, is "being one." We want control of the architecture to design and build systems that are almost continuously integrated as "one" without resorting to difficult and painful "integration phases" in which all kinds of mismatched parts must be fitted together by force.

The architecture establishes a means of effective communication and understanding throughout the project by establishing a common set of references and a common vocabulary for discussing design issues. Each designer and developer will understand the context and boundary of the part he or she is working on.

Reuse

Architecture provides an effective basis for large-scale reuse.

By clearly articulating the major components and the critical interfaces between them, an architecture lets you reason about reuse. It assists both internal reuse ”the identification of common parts ”and external reuse ”the incorporation of ready-made, off-the-shelf components .

Architecture also facilitates reuse on a larger scale: the reuse of the architecture itself in the context of a line of products that addresses varying functionality in a common domain. Architects will understand the limits of scalability, identify the generic parts, and define the variation points.

Basis for Development

Architecture provides a basis for project management.

Planning and staffing are organized along the lines of major components: layers and subsystems. Fundamental structural decisions are made by a small, cohesive architecture team; the decisions are not distributed. Development is partitioned across a set of small teams , each of which is responsible for one or several parts of the system. Different development organizations will understand which interfaces are at their disposal and will understand the limits of their variation.

Architecture and the work done during the elaboration phase provide the basis for further development, including the design guidelines, principles, styles, patterns, and mechanisms to reuse.



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