Architectural Design

Posted on May 20, 2022

Why?

To understand how a system should be organised.

  • Conceptual Integrity
  • Quality driven eg. fault tolerance, maintainability, backwards compatability
  • Recurring architecture styles
  • Separation of concerns to reduce complexity

System overview

Represented with box/arrow diagrams. Arrows show direction of data/control flow, can also show breakdown of larger subsystems.

Architectural overview

Layered structure

Each layer relies on the one below only, and provides services to the one above only.

Layered architecture

Repository structure

All subsystem interaction done via repository.

Repository architecture

Pipe & Filter structure

Linear data pathways formed, components process & filter the data to correct outputs.

Pipe & Filter architecture

Modev-view-controller (MVC) structure

Focuses on interpreting user actions (controller -> model), updating the data (model), and presenting it to the user (view).

Model-view-controller architecture

All topics ⟶