Architectural Mechanisms are used to satisfy architecturally significant requirements. They form the
basis of common software that will be consistently applied across the product being developed. They
also form the basis for standardizing the way that the software works; therefore, they are an important element of the
overall software architecture.
When fully described, Architectural Mechanisms show patterns of structure and behavior in the software.
There are three categories of Architectural Mechanism: Analysis, Design and Implementation. These
categories reflect the state of the architectural mechanism over time. The state changes as successive levels of
detail are uncovered during the refinement of architecturally significant requirements into working software. The
categories are summarized in the table that follows.
Types of Architectural Mechanism
Mechanism
|
Description
|
Analysis
|
A conceptual solution to a common technical problem. For example, persistence is an abstract solution
to the common requirement to store data. The purpose of this category is simply to identify the need for an
Architectural Mechanism to be designed and implemented; and capture basic attributes for that mechanism.
|
Design
|
A refinement of an Analysis Mechanism into a concrete technology (for example, RDBMS). The purpose of this
category is to enable initial design specifications to be produced and to guide precise product or
technology selection.
|
Implementation
|
A further refinement of a Design Mechanism into a specific technology or product that implements the
required Architectural Mechanism. For example, MySQL, as a database product, implements the Analysis
Mechanism Persistence and Design Mechanism RDBMS.
|
The transition from one state to another can be obvious or intuitive. Therefore, it can be achieved in a matter of
seconds. It can also require more considered analysis and design, thus take longer. The following diagram illustrates
the transition of Architectural Mechanisms from one state to another.
State Machine for Architectural Mechanisms
|