SE322 · 4+1BLUEPRINT
Study Blueprint — Do not scale from drawing

The 4+1 View Model

Week 03 · Chapter 02, L03 — five lenses, one ATM system. Kruchten's model for describing an architecture so every stakeholder gets the picture they actually need.

Drawn byShoug Alomran
CourseSE322 · Software Design & Architecture
Scale1 : Simplified
Sheets00 – 10
01

Why Do We Need Multiple Views?

The problem this solves

No single diagram can capture every aspect of a complex system. So architects split the description into a collection of views, each giving a partial, purpose-built picture to a specific stakeholder (users, analysts, developers...).

Manages complexity

Breaks an overwhelming system into understandable, digestible perspectives.

Serves every stakeholder

Developers, users, and managers each get the concern that actually matters to them.

Eases development

Makes the system easier to build, analyze, and maintain.

Targets different aspects

Functional, structural, and behavioral concerns each get their own lens.

The most popular model for organizing these views is Philippe Kruchten's 4+1 View Model (1995).

02

The 4+1 Model, at a Glance

Kruchten, 1995
Mnemonic "Lions Prefer Dark Pizza, +1 Umbrella"Logical, Process, Development, Physical, +1 User/Scenario view holding them together.
Logical View
Development View
Process View
Physical View
User View(Scenarios)

Four views describe the system from four independent angles. The +1 (User/Scenario) view isn't a fifth equal view — it's a set of use cases that keeps the other four consistent with each other and validates the whole design against real usage.

03

The Logical View

What the system should do
Structural + BehavioralStakeholders: end-users, analysts, designers

Specifies the system's decomposition into conceptual entities (objects/classes) and how they connect — essentially an abstraction of the system's functional requirements.

Static diagrams

Class diagram, Object diagram

Dynamic diagrams

Sequence, Communication/Collaboration, State, Activity, Interaction Overview

ATM example — Class Diagram

Shows the classes, their inter-relationships, and each class's operations & attributes. A few notation rules worth memorizing:

  • Directional arrows — point from the class that initiates an action to the one it affects (e.g. ATM Transaction → Account).
  • Inheritance — a line with a hollow triangular arrowhead, pointing from subclass up to superclass (e.g. Current Account & Saving Account → Account).
  • Names above arrows — describe the relationship (e.g. "Maintains" from Bank to ATM Info = each Bank maintains one or more ATMs).
  • Multiplicities — numbers near the lines, e.g. 1..* = one-to-many, 1 = exactly one.
  • Bidirectional associations — shown with either two arrows or no arrows at all.

ATM example — Collaboration (Communication) Diagram

Focuses on who talks to whom: Bank Client ↔ ATM Machine ↔ Account/Checking Account. The numbered messages trace one full transaction — insert card → request/enter PIN → request/enter amount → process against the account → dispense cash → print receipt.

ATM example — Sequence Diagram

Models interactions over time: same actors, but now ordered top-to-bottom by exact message sequence.

Class Diagram = Structure

Shows the objects and their relationships.

Sequence Diagram = Behavior

Shows the order of interactions, step-by-step, clarifying who does what in a use case.

04

The Process View

How it behaves at runtime
DynamicStakeholders: developers, integrators

Focuses on the system's execution-time behavior — an abstraction of processes/threads, showing synchronization and concurrency, and how all execution units are organized at runtime.

Concurrency

How tasks running at the same time interact and coordinate.

Synchronization

How processes share resources/data without interfering with each other.

Feeds directly into non-functional requirements like scalability and performance. Modeled with UML activity diagrams and interaction overview diagrams.

ATM example: the activity diagram traces card validation → PIN entry → balance check → cash dispensing / account debit, running in parallel swim-lanes for Customer, ATM Machine, and Bank.

05

The Development View

How it's built
ImplementationStakeholders: programmers, project managers

Describes the software's static organization into modules — class libraries, sub-systems, packages — from an implementation point of view: how source code is organized into modules, packages, and libraries.

Modeled with UML package diagrams and component diagrams. Useful for mapping logical components down to physical files and directories.

ATM example (Component Diagram): shows components like Customer Console, ATM Machine, Card Reader, Bank Database, Web Page, Employee Console, and Client Desktop, along with their required interfaces and ports — together forming the full banking system.

06

The Physical View

How it's deployed
DeploymentStakeholders: system installers, admins, engineers

Represents deployment aspects — configuration and installation — modeled with UML deployment diagrams.

This is the view to reach for when evaluating:

Availability

e.g. redundant nodes to boost uptime

Performance & Scalability

e.g. required processor speed, bandwidth

Security

e.g. required firewalls

ATM example: physical nodes — Customer Console, Card Reader, ATM Machine, Bank Database, Web Page, Client Desktop, Employee Console — connected as deployed hardware, mirroring the development view's components but now showing where they physically run.

07

The User (Scenario) View

The "+1"
Validation & GlueStakeholders: everyone — it validates the other 4 views

Describes the system's functionality — how the user uses it, and how the system serves the user. It's the foundation that lets the other four views work together seamlessly and logically.

  • Helps designers discover architectural elements during design.
  • Helps validate the architecture afterward.
  • Keeps the whole architecture consistent against both functional and non-functional requirements.

Modeled with use-case diagrams and textual scenarios.

ATM example: a Bank Client actor triggers "Bank ATM Transaction," which extends into Checking Transaction, Saving Transaction History, Deposit Amount, and Withdrawal Amount — each of which uses an Approval Process, which itself extends to handle an Invalid PIN case.

08

Diagram Cheat-Sheet by View

Match the right diagram to the right view

1 · Logical (what it should do)

  • Class Diagram — static structure
  • Sequence Diagram — dynamic behavior
  • Collaboration Diagram — object interactions

2 · Process (how it runs)

  • Activity Diagram — workflow, actions
  • Interaction Overview Diagram
  • State Machine Diagram — object life cycles

3 · Development (how it's built)

  • Package Diagram
  • Component Diagram

4 · Physical (where it runs)

  • Deployment Diagram

+1 · User/Scenario (why it exists)

  • Use-Case Diagram
  • Textual scenarios
09

The Full Summary Table

Exam's favorite table
Logical Process Development Physical Scenario
Description Components (objects) of the system + their interaction Processes/workflow rules + how they communicate; dynamic view Building-block view; static organization of system modules Installation, configuration & deployment of the application Shows the design is complete via validation & illustration
Stakeholder End-user, Analysts, Designer Integrators & developers Programmer, software project managers System engineer, operators, admins, installers Stakeholders of other views + evaluators
Considers Functional requirements Non-functional requirements Software module organization (reuse, tool constraints) Non-functional requirements re: underlying hardware System consistency & validity
UML Diagram Class, State, Object, Sequence, Communication Activity Diagram Component, Package diagram Deployment diagram Use-case diagram

⚠ Same exam trap as before: a diagram of physical machines/consoles connected together is the Physical view (hardware/deployment), even if it looks similar to a Component diagram (Development view, which is about software module organization, not hardware).

10

Quick Self-Test

Cover the answer, then click
Who invented the 4+1 View Model, and when?
Philippe Kruchten, in 1995.
What is the "+1" view really doing?
It's not a 5th independent view — it's the set of use cases/scenarios that ties the other 4 views together and validates them for consistency.
Which view is an abstraction of the functional requirements?
The Logical View.
Which view is best for evaluating availability, performance, and security via redundancy/firewalls?
The Physical View.
Which diagrams support the Process View?
Activity diagrams and Interaction Overview diagrams.
Component diagram vs. Deployment diagram — which view is each?
Component diagram = Development View (software module organization). Deployment diagram = Physical View (hardware/installation).
What does an inheritance arrow look like in a class diagram, and which way does it point?
A line ending in a hollow triangular arrowhead, pointing from the subclass up to the superclass.
What does a multiplicity of "1..*" mean?
One-to-many.
Class diagram vs. Sequence diagram — structure or behavior?
Class diagram = structure (objects & relationships). Sequence diagram = behavior over time (order of interactions).
Who are the typical stakeholders of the Development View?
Programmers and software project managers.