Learning
토픽 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