6.1 Why Multiple Views?
A software system is too complex to capture in a single diagram. Trying to show everything at once β components, data flows, deployment nodes, interactions β creates an incomprehensible mess. The solution is multiple views, each showing the system from a different perspective.
Think of it like an architect designing a building. They don't create one drawing β they create floor plans, electrical diagrams, plumbing layouts, and structural engineering drawings. Each view shows the same building but highlights different concerns for different audiences. The building hasn't changed β only the lens through which you look at it.
This is not just a documentation trick. Views help architects think clearly. When you draw the deployment view, you're forced to think about infrastructure, networks, and operations. When you draw the runtime view, you're forced to think about timing, concurrency, and failure modes. Each view surfaces different risks and design decisions.
6.2 Kruchten's 4+1 View Model
Philippe Kruchten's 4+1 model (1995) is the most widely cited view model. It defines four structural views plus one that ties them together:
| View | Shows | Audience | UML Diagrams | Key Questions |
|---|---|---|---|---|
| Logical | Functionality, structure | End users, analysts | Class, Package, Component | What does the system do? What are its parts? |
| Process | Concurrency, sync | Integrators, DevOps | Activity, Sequence | How do things happen in parallel? Where are bottlenecks? |
| Development | Code organization | Developers, managers | Package, Component | How is code organized for development? |
| Physical | Deployment, infra | Operations, DevOps | Deployment | Where does it run? How are nodes connected? |
| Scenarios (+1) | Use cases tying views | All stakeholders | Use Case, Sequence | Does the architecture actually work end-to-end? |
6.3 The Four Core iSAQB Views
The iSAQB curriculum focuses on four essential views that every architect should be able to create and explain. These are not just academic artifacts β they are practical tools that help you communicate with different audiences.
Context View
Shows the system as a black box within its environment. It answers: "What are the external actors, systems, and interfaces that our system interacts with?" This is typically the first view you create β and often the most important for stakeholder communication.
The context view forces you to define the system boundary: what is "inside" (what you build) and what is "outside" (what you integrate with). This seemingly simple distinction is often the source of heated debates and misunderstandings in projects.
Building Block View
Shows the static decomposition of the system into its building blocks and their relationships. This is the most important structural view β it answers "what is the system made of?"
Building block views are typically organized as a hierarchy of levels:
- Level 0: The context view (system as a whole)
- Level 1: Top-level decomposition β the major building blocks
- Level 2: Decomposition of individual Level 1 blocks
- Level 3+: Further refinement (only for complex or critical areas)
For each building block, document: Name, Responsibility (what it does and why), Interfaces (provided and required), Quality considerations (performance hotspot? security-critical?), and Open issues/risks.
Runtime View
Shows dynamic behavior β how building blocks interact at runtime for important scenarios. While the building block view is static (like a photograph), the runtime view is dynamic (like a video). It answers: "How do the parts work together when this scenario executes?"
Typically uses sequence diagrams or activity diagrams. Focus on the most important scenarios:
- Happy paths β The most common and business-critical flows
- Error scenarios β What happens when a downstream service fails?
- Concurrency β Where do race conditions or deadlocks lurk?
- Performance-critical paths β The hot paths that need optimization
Deployment View
Shows the physical infrastructure β nodes, networks, and how building blocks are mapped to them. Answers: "Where does each component run? How do they communicate over the network? What hardware/cloud resources are needed?"
This view is critical for operations, capacity planning, cost estimation, and security (network segmentation). In the cloud era, it often maps to infrastructure-as-code configurations.
Key information to include in a deployment view:
| Element | What to Document |
|---|---|
| Nodes | Physical or virtual machines, containers, serverless functions β what runs where |
| Artifacts | Which building block is deployed on which node (WAR, Docker image, Lambda function) |
| Networks | Subnets, firewalls, load balancers, DNS β how nodes communicate |
| Replication | How many instances? Active-passive or active-active? Auto-scaling policies? |
| Security zones | Which nodes are internet-facing? Which are internal only? Network segmentation. |
C4 Model β A Modern Alternative
The C4 model (by Simon Brown) is a pragmatic alternative to the 4+1 model that's become popular in practice. It defines four levels of zoom, each answering a different question:
C4 works well because it matches how architects actually think about systems β zooming in from the big picture to the details β and it uses a consistent, simple notation. Key benefits:
- Audience-appropriate: Show Level 1 to executives, Level 2 to tech leads, Level 3 to developers
- No notation wars: C4 doesn't prescribe UML or any specific notation β just consistent shapes with labels
- Tooling support: Structurizr, PlantUML, Mermaid all support C4 notation
Which View Model to Use?
| View Model | Best For | When to Avoid |
|---|---|---|
| 4+1 | Academic rigor, enterprise environments, UML-familiar teams | Small teams, agile environments that prefer lightweight docs |
| iSAQB 4 Views | Pragmatic architecture documentation, arc42 projects | When you need more views (e.g., data view, security view) |
| C4 | Developer-friendly, modern teams, quick whiteboard sessions | When very formal documentation is required (e.g., regulatory) |
Summary
| Concept | Key Takeaway |
|---|---|
| Why multiple views? | No single diagram captures all concerns β each view serves one audience |
| 4+1 Model | Logical, Process, Development, Physical + Scenarios tying them together |
| Context View | System as black box + external actors/systems + interfaces |
| Building Block View | Static decomposition in hierarchical levels (L0βL1βL2β...) |
| Runtime View | Dynamic behavior β sequence/activity diagrams for key scenarios |
| Deployment View | Physical infra β nodes, networks, mapping of blocks to nodes |
| C4 Model | Modern 4-level zoom: ContextβContainerβComponentβCode |