UML(Unified Modeling Language)은 소프트웨어 시스템의 시각적 모델링을 위한 표준화된 언어이다. UML은 복잡한 시스템의 구조와 동작을 명확하게 표현하기 위해 다양한 다이어그램을 제공하며, 이는 개발자, 설계자 및 이해관계자 간의 통신을 용이하게 한다.
UML은 1990년대 중반 그레이그 라마르와 제임스 Rumbaugh, Ivar Jacobson 등 세 명의 소프트웨어 엔지니어가 개발한 통합 모델링 언어로, 이후 Object Management Group(OMG)에 의해 표준화되었다. UML은 시스템 분석, 설계, 구현 및 문서화의 모든 과정에서 활용되며, 다양한 소프트웨어 개발 방법론에 적용될 수 있다.
UML은 크게 구조적 다이어그램과 행위적 다이어그램으로 나뉜다. 구조적 다이어그램은 시스템의 정적 구조를 나타내며, 주요 유형에는 클래스 다이어그램, 컴포넌트 다이어그램, 배치 다이어그램, 객체 다이어그램 등이 있다. 반면, 행위적 다이어그램은 시스템의 동적 행동을 나타내며, 주요 유형에는 유스 케이스 다이어그램, 시퀀스 다이어그램, 상태 다이어그램, 활동 다이어그램 등이 있다.
UML은 이러한 다이어그램을 통해 소프트웨어의 아키텍처, 개발 및 유지보수 전반에 걸쳐 효과적인 커뮤니케이션을 가능하게 하며, 변경 요구에 대한 유연성을 제공한다. 또한 다양한 도구와의 호환성을 바탕으로 소프트웨어 개발의 표준화와 효율성을 증진시키는 역할을 한다. UML은 현재 소프트웨어 공학에서 널리 사용되며, 다양한 산업 분야에서 그 유용성이 인정받고 있다.