"매 diagram 은 매 system 의 매 mental model 을 매 stakeholder 간 매 align 하는 매 communication tool 이다". Simon Brown 의 매 C4 model (2018) 이 매 modern de-facto standard. 매 2026 trend 는 매 diagram-as-code (Structurizr DSL, D2, Mermaid) 으로 매 version control + AI generation.
매 핵심
매 C4 levels
System Context: 매 system + actors + 매 external systems.
Container: 매 deployable unit (web app, DB, queue).
Component: 매 container 내부 logical block.
Code (optional): UML class — 매 거의 사용 X.
매 supplementary diagrams
Deployment: physical / cloud topology.
Sequence: temporal interactions.
State: entity lifecycle.
ERD: data model.
Network: subnets / firewalls.
매 응용
매 stakeholder 별 매 abstraction level 선택.
매 ADR 의 시각적 근거.
매 onboarding 의 매 first artifact.
💻 패턴
C4 Container (Structurizr DSL)
workspace {
model {
customer = person "Customer"
shop = softwareSystem "Shop" {
web = container "Web App" "React 19" "TypeScript"
api = container "API" "Spring Boot 4" "Java 25"
db = container "Database" "PostgreSQL 17"
queue = container "Queue" "Kafka 4.0"
}
payment = softwareSystem "Stripe" "External"
customer -> web "Browses"
web -> api "Calls" "REST/JSON"
api -> db "Reads/writes" "JDBC"
api -> queue "Publishes events"
api -> payment "Charges" "HTTPS"
}
views {
container shop { include * autolayout lr }
theme default
}
}
user -> web: browses
web -> api: REST/JSON {
style.stroke: blue
}
api -> db: SQL
api -> kafka -> worker
shape: sequence_diagram
Sequence (Mermaid)
sequenceDiagram
participant U as User
participant W as Web
participant A as API
participant S as Stripe
U->>W: Submit checkout
W->>A: POST /orders
A->>S: Charge
S-->>A: Receipt
A-->>W: 201 Created