토픽 144 / 192·시스템 설계 및 아키텍처 패턴
C4 Model
C4 Model
Simon Brown이 제안한 소프트웨어 아키텍처를 4단계 추상화 수준(Context, Container, Component, Code)으로 표현하는 계층적 다이어그램 모델
특징: 단순하고 직관적, 확대/축소 가능, UML 독립적, 애자일 친화적
4단계 (Zoom-in)
- •Level 1: System Context Diagram:
- •Level 2: Container Diagram:
- •Level 3: Component Diagram:
- •Level 4: Code Diagram (선택):
핵심 개념
- •Person: 시스템 사용자
- •Software System: 최상위 추상화
- •Container: 실행 가능 단위 (API, DB, 웹앱)
- •Component: 컨테이너 내 모듈
도구: Structurizr, PlantUML, Mermaid
적용사례: 애자일 팀 문서화, 아키텍처 리뷰, 온보딩
비교: C4(계층적/확대축소) vs 4+1(뷰기반/이해관계자)
연관: 아키텍처 문서화, 4+1 View, UML