Skip to content

Unit 5 — Software Architecture

Learning objectives

  • Explain architecture as high-impact structural decisions and constraints.
  • Compare layered, client-server, event-driven, microservice, pipe-and-filter, and repository styles.
  • Relate architecture to quality attributes and trade-offs.

Architecture is about trade-offs

There is no universally best architecture. A structure that improves independent deployment may increase operational complexity. A structure optimized for performance may reduce modifiability. Architecture makes these tensions explicit.

Quality-attribute scenarios

A useful architecture discussion states the stimulus and desired response. Example:

During peak registration, when 5,000 concurrent students request course availability, the service should return 95% of responses within the agreed latency threshold without data corruption.

Architectural Decision Records (ADRs)

A lightweight ADR records:

  1. Context and problem.
  2. Decision drivers.
  3. Considered options.
  4. Decision.
  5. Consequences and known trade-offs.

Tip

Write an ADR when a future developer might reasonably ask: "Why did we choose this?"