4+1 View Model

Learned in SE464.

If you try to model everything about a system in one diagram, it becomes a mess. System architecture needs to express:

  • Decomposition into subsystems (how code depends on each other)
  • Process interactions (how code dynamically calls each other)
  • Distribution across networked devices (where to put things)

The 4 + 1 view model splits this into five complementary views:

  1. Logical view: key abstractions as objects or object classes
  2. Process view: how the system is composed of interacting processes at run-time
  3. Development view: how the software is decomposed for development
  4. Physical view: the system hardware and how software components are distributed across processors
  5. +1: use cases or scenarios that tie the other four views together