SE450: Architectural Patterns [9/10] Previous pageContentsNext page

What is architecture?

The highest level of abstraction in your design.

a description of the subsystems and components of a software system and the relationships between them

Components and subsystems can be shown from different views

Patterns fit into the context of the architecture.

Dictionary definitions:

  1. the art or science of building; specifically : the art or practice of designing and building structures and especially habitable ones
  2. formation or construction as or as if as the result of conscious act, a unifying or coherent form or structure
  3. a method or style of building
  4. the manner in which the components of a computer or computer system are organized and integrated

SEI definitions:

  1. Bass, Clements, and Kazman. Software Architecture in Practice, Addison-Wesley 1997: The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them.
  2. Booch, Rumbaugh, and Jacobson, 1999: An architecture is the set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization---these elements and their interfaces, their collaborations, and their composition (The UML Modeling Language User Guide, Addison-Wesley, 1999).
  3. Software Architecture: An abstract system specification consisting primarily of functional components described in terms of their behaviors and interfaces and component-component interconnections. The interconnections define provide by which components interact.

Architectural Patterns are like the Software patterns we have been studying, except they are on a higher level

An architectural pattern is the fundamental structural organization of the system

Deals with subsystems and their interactions - the rules and guidelines for how they interact.

Previous pageContentsNext page