C4
The C4 model aims to provide a common set of abstractions, rather than a common notation, for modelling systems. It acknowledges that we may use multiple diagrams to represent different perspectives of the same system. It promotes "diagrams as maps".
Concepts
- A software system is made up of one or more containers.
- Each container comprises one or more *components.
- Context
- Deployment
Views
The C4 models considers four levels of views, in ascending order of detail:
View | Scope | Elements |
---|---|---|
System Context | A software system | Software systems, and people. |
Container | A software system | Software systems, people, and containers within the software system |
Component | A container | Software systems, people, containers within the parent system of the container, and components within the container. |
Code | A component | Code elements (classes, interfaces) used in the component's implementation. |