How to Create Clear System Architecture Diagrams: 4+1 and C4 Views
This article explains the purpose and classification of system architecture diagrams, introduces the 4+1 and C4 view models, and provides practical guidance on drawing effective, audience‑focused diagrams that are self‑descriptive, consistent, and aligned with code.
1. Introduction
Do you feel attracted by the myriad colorful architecture diagrams shown by big companies, and wonder how to start drawing a few diagrams to introduce your own business system? As technical leaders, you often need a single diagram that clearly describes the system for all stakeholders. This article introduces methodologies for creating clearer technical drawings.
2. Definition of Architecture
System architecture is the embodiment of concepts, allocating functional and formal elements of objects/information, defining relationships among elements and between elements and their environment.
Architecture is an abstract description of entities in a system and the relationships among them, representing a series of decisions.
Architecture is both structure and vision.
In TOGAF enterprise architecture theory, architecture is a top‑down refinement from strategy to business architecture, then to application, data, and technology architecture. Executives focus on strategy and business architecture, while practitioners concentrate on the application, data, and technology layers.
Business Architecture: Managed by business architects or domain experts; it is top‑level design that defines and partitions business, influencing organizational and technical architecture.
Application Architecture: Managed by application architects; designs the hierarchical structure of applications, defines interfaces and data exchange protocols, and controls complexity while ensuring non‑functional requirements such as performance, security, and stability.
Technology Architecture: Describes required services, selects technical components, and defines interactions among services and components.
Data Architecture: Describes data models, distribution, flow, lifecycle, and management relationships.
3. Classification of Architecture Diagrams
System architecture diagrams abstractly represent the overall outline of a software system, component relationships, constraints, physical deployment, and evolution direction. Good diagrams help stakeholders understand and follow architectural decisions, solving communication barriers, achieving consensus, and reducing ambiguity. Popular classifications include the 4+1 view and the C4 view.
3.1 4+1 View
3.1.1 Scenario View
Describes the relationship between system participants and use cases, reflecting final requirements and interaction design, usually represented by a use‑case diagram.
3.1.2 Logical View
Describes component relationships, constraints, and boundaries after decomposing system functionality, typically shown with UML component and class diagrams.
3.1.3 Physical View
Maps software components to physical hardware, illustrating how components are deployed on compute nodes, guiding deployment implementation.
3.1.4 Process Flow View
Shows communication sequences between software components, input/output data, and functional/data flows, usually via sequence or flow diagrams.
3.1.5 Development View
Describes module partitioning and internal package composition, serving developers and reflecting the development process.
The five views together form a comprehensive blueprint of a software system.
3.2 C4 View
The following case comes from the C4 website with additional author insights.
The C4 model uses containers (applications, data stores, micro‑services), components, and code to describe a system’s static structure. These diagrams are easy to draw and clarify the intended audience and purpose of each view.
3.2.1 System Context Diagram
Describes the system to be built, its users, and how it fits into the existing IT environment; audience includes internal developers and external technical or non‑technical stakeholders.
3.2.2 Container Diagram
Expands the context diagram to show the system’s containers, their responsibilities, technology choices, and interactions; audience is the development or operations team.
3.2.3 Component Diagram
Drills down into a specific container, showing internal modules and their relationships, mainly for developers to understand code organization and delivery boundaries.
4. How to Draw Good Architecture Diagrams
The classifications above are accumulated experience, and the diagrams are sourced from the internet. However, a good diagram is not simply a copy; it must be self‑descriptive, consistent, accurate, and correspond with the code.
4.1 Audience of the View
Before drawing a good diagram, first identify the audience and then decide what information to convey . Do not create a physical view just for the sake of having a physical view, or a logical view just because it exists. Choose the view that best delivers the intended message to its audience; the quality of a diagram is judged by whether the audience receives the intended information.
4.2 Distinguishing Elements in the View
Architecture views consist of boxes, lines, colors, and line styles. Use shape, color, and line variations to differentiate element meanings and avoid confusion. Relying on a single chart to represent an entire architecture often leads to semantic ambiguity.
Architecture Digest
Focusing on Java backend development, covering application architecture from top-tier internet companies (high availability, high performance, high stability), big data, machine learning, Java architecture, and other popular fields.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.