Chapter 14 - Architectural Design

Overview

Architectural design represents the structure of the data and program components required to build a computer-based system. A number of architectural "styles" exist. Architectural design begins with data design and proceeds to the derivation of one or more representations of the architectural structure of the system. The resulting architectural model encompasses both the data architecture and the program structure. The architectural model is subjected to software quality review like all other design work products.

 

Software architecture is a representation that enables a software engineer to

 

Data Design Principles

 

Architectural Styles

 

Architecture Design Assessment Questions

 

Architecture Trade-off Analysis Method

  1. Collect scenarios
  2. Elicit requirements, constraints, and environmental description
  3. Describe architectural styles/patterns chosen to address scenarios and requirements (module view, process view, data flow view)
  4. Evaluate quality attributes independently (e.g. reliability, performance, security, maintainability, flexibility, testability, portability, reusability, interoperability)
  5. Identify sensitivity points for architecture (any attributes significantly affected by variation in the architecture)
  6. Critique candidate architectures (from step 3) using the sensitivity analysis (conducted in step 5)

 

Architectural Complexity (similar to coupling)

 

Mapping Requirements to Software Architecture in Structured Design

 

Transform Mapping

 

Transaction Mapping

 

Refining Architectural Design