From the standpoint of this practice, analysis focuses on the essential and functional properties of a system while
design focuses on its optimization and deployment aspects. These design practices exist at three levels of concern.
Architectural design optimizes the system at a gross, overall level. Collaborative (also known as "mechanistic") design
optimizes collaborations within the architectural. Detailed design optimizes individual classes, objects, functions,
data structures and types. At all levels, design proceeds primarily by identifying and ranking the optimization
criteria of concern, identifying design patterns and technical solutions that are consistent with the weighted set of
design criteria, applying the design patterns and technologies, and verifying the instantiated design solution.
The Real-Time Detailed Design (RTDD) practice optimizes individual classes, objects, functions, data structures, and
types. This is the lowest level of design and is performed by applying design patterns at this primitive level, often
known as idioms. In practice, most of the concern at this level of design is placed upon elements that are special in
terms of their complexity, criticality, or impact on system performance.
|