Files
2nd/10_Wiki/Topics/UML_Unified_Modeling_Language.md
T

2.8 KiB

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, tags, raw_sources, last_reinforced, github_commit
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score tags raw_sources last_reinforced github_commit
P-REINFORCE-WIKI-ARCH-UML 통합 모델링 언어 (Unified Modeling Language, UML) Dev verified
UML
소프트웨어 모델링
시각적 설계 표준
A 1.0
Architecture
Modeling
UML
Class_Diagram
Sequence_Diagram
Datacollector_Export_2026-05-02
2026-05-02

통합 모델링 언어 (Unified Modeling Language, UML)

1. 개요

UML(Unified Modeling Language)은 소프트웨어 시스템의 구조와 동작을 시각적으로 표현하기 위한 표준화된 모델링 언어이다. 객체 지향 분석 및 설계(OOAD)의 결과물을 시각화, 명세화, 구축, 문서화하는 데 사용되는 전 세계 공통의 엔지니어링 언어이다.

2. 핵심 다이어그램 유형

  1. 클래스 다이어그램 (Class Diagram): 시스템의 정적 구조 표현. 클래스 간의 관계(상속, 합성, 집계, 의존성 등)를 상세히 명세.
  2. 시퀀스 다이어그램 (Sequence Diagram): 객체 간의 동적 상호작용 표현. 시간 흐름에 따른 메시지 교환 순서 시각화.
  3. 유즈케이스 다이어그램 (Use Case Diagram): 시스템이 제공하는 기능과 외부 사용자(Actor) 간의 관계 정의.
  4. 상태 다이어그램 (State Diagram): 객체의 생명주기 동안 발생하는 상태 변화와 전이 조건 표현.

3. 실전 활용 전략

  • C4 모델과의 통합: C4 모델의 레벨 4(Code) 수준에서 구체적인 클래스 관계나 로직 흐름을 표현할 때 UML을 사용.
  • Diagrams as Code: PlantUML이나 Mermaid를 통해 텍스트 기반으로 UML을 작성하여 Git으로 버전 관리.
  • 설계 검증: 구현 전 시퀀스 다이어그램을 통해 API 호출 흐름이나 예외 시나리오를 선제적으로 검토.

4. 트레이드오프 및 주의사항

  • 장점: 정밀한 시맨틱 표현 가능, 전 세계 엔지니어 간의 공통 어휘 확보, 객체 지향 설계의 시각화.
  • 단점: 다이어그램 복잡도 상승으로 인한 유지보수 비용 발생, 실제 코드와 다이어그램 간의 괴리(Architectural Drift) 발생 위험.
  • C4_Modeling_Framework: UML을 포함하는 상위 계층 아키텍처 시각화 체계.
  • Design_Patterns: UML을 통해 정의된 검증된 객체 지향 설계 템플릿.
  • PlantUML: UML을 코드로 관리하기 위한 대표적인 오픈 소스 도구.

🧪 검증 상태 (Validation)

  • 정보 상태: 검증 완료 (Verified)
  • 출처 신뢰도: A
  • 검토 이유: 소프트웨어 공학의 시각적 언어 표준으로서의 UML 핵심 개념 및 실천 방안 정립.