Files
2nd/10_Wiki/Topics_Arch/Ubiquitous_Language.md
T

3.2 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-UBIQUITOUS-LANGUAGE 보편적 언어 (Ubiquitous Language) 10_Wiki/🏗️ Topics_Arch verified
보편적 언어
Ubiquitous Language
공통 언어
도메인 용어집
A 1.0
DDD
Communication
Modeling
Strategic_Design
Collaboration
Datacollector_Export_2026-05-02
2026-05-02

보편적 언어 (Ubiquitous Language)

1. 개요

보편적 언어(Ubiquitous Language)는 도메인 주도 설계(DDD)에서 개발자, 도메인 전문가, 이해관계자 등 프로젝트 팀 전체가 모델을 정의하고 소통할 때 사용하는 공통된 언어 체계이다. 기술적 용어가 아닌 비즈니스 도메인의 개념을 반영하며, 대화뿐만 아니라 소스 코드, 문서, 다이어그램에 일관되게 적용되어 의사소통의 간극을 해소한다.

2. 핵심 가치

  • 의사소통 비용 절감: 모호한 기술 용어나 잘못 해석된 비즈니스 용어로 인한 오해를 방지하여 설계의 정확도 향상.
  • 코드와 모델의 일치: 보편적 언어로 정의된 개념이 클래스명, 변수명, 메서드명에 직접 반영되어 코드가 곧 비즈니스 문서의 역할을 수행.
  • 의미적 경계 형성: 특정 용어가 바운디드 컨텍스트(Bounded Context) 내에서만 유효한 의미를 가짐으로써 모듈 간의 결합도를 낮추고 응집도를 높임.

3. 구축 및 실천 방법

  • 용어집 관리: 도메인 전문가와 협의하여 핵심 도메인 개념에 대한 명확한 정의와 용어를 정리한 공유 용어집(Shared Glossary) 유지.
  • 이벤트 스토밍 (Event Storming): 협업 워크샵을 통해 도메인 이벤트와 커맨드를 식별하며 자연스럽게 보편적 언어 도출.
  • 지속적 갱신: 비즈니스 환경이 변화함에 따라 도메인 모델과 언어를 끊임없이 동기화하고 코드에 반영.

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

  • 협업 오버헤드: 도메인 전문가의 지속적인 참여와 깊은 모델링 시간이 필수적이므로 초기 분석 리소스가 많이 소요됨.
  • 엄격한 규율 요구: 팀 내에서 약속된 용어를 코드에 강제하고, 일관성을 유지하기 위한 지속적인 리뷰와 문서화 노력이 필요함.
  • 컨텍스트 오염 방지: 하나의 단어가 여러 컨텍스트에서 서로 다른 의미로 쓰일 경우, 이를 명확히 분리된 바운디드 컨텍스트로 격리하여 언어의 순수성 유지.

🧪 검증 상태 (Validation)

  • 정보 상태: 검증 완료 (Verified)
  • 출처 신뢰도: A
  • 검토 이유: 비즈니스 요구사항을 코드에 정확히 투영하고 팀의 인지적 동기화를 이루기 위한 가장 근본적인 소통 표준 정립.