UML 다이어그램은 구조 다이어그램과 행위 다이어그램으로 크게 두 가지로 나뉜다.
다양한 추상화 및 구현 수준에서 시스템과 각 부품의 정적 구조와 이들이 서로 어떻게 연관되어 있는지를 보여준다. 각 요소는 시스템에 대한 의미 있는 개념을 나타내며 추상, 실체, 구현 개념을 포함한다.
거의 모든 객체 지향 메서드를 관통하는 핵심 모델링 기법이다. 시스템의 객체 유형과 객체 간에 존재하는 다양한 종류의 정적 관계를 설명한다.
컴포넌트를 서로 연결하여 더 큰 컴포넌트 또는 소프트웨어 시스템을 형성하는 방법을 나타낸다.
소프트웨어 컴포넌트의 아키텍처와 컴포넌트 간의 종속성을 보여준다.
이러한 소프트웨어 컴포넌트에는 런타임 컴포넌트, 실행 가능한 컴포넌트, 소스 코드 컴포넌트가 포함된다.
객체 지향 소프트웨어 시스템의 물리적 측면을 모델링하는 데 도움을 준다.
소프트웨어 아티펙트(artifacts)가 위치할 곳에 배치할 때 시스템의 아키텍처를 보여주는 구조 다이어그램이다.
일반적으로 하드웨어 구성과 기존 소프트웨어 구성 요소를 함께 모델링하는 작업이 포함된다.
객체와 데이터 값을 포함한 인스턴스에 대한 시각화를 말한다.
객체 다이어그램은 클래스 다이어그램에 대한 인스턴스를 보여주며, 특정 시점의 시스템 세부 상태에 대한 스냅샷을 보여준다.
패키지와 패키지 간의 종속성을 보여주는 다이어그램이다.
아래 그림과 같이 패키지 다이어그램은 다계층(다중 계층) 애플리케이션 모델과 같이 시스템에 대한 다양한 뷰를 표시할 수 있다.
클래스 다이어그램과 유사하며 주로 미시적 관점에서 시스템을 모델링할 때 사용되는 다이어그램이지만 전체 클래스가 아닌 부분적으로 개별 클래스를 나타낸다는 점에서 차별된다.
도메인과 플랫폼별 고정관념을 생성하고 이들 간의 관계를 정의할 수 있는 다이어그램이다.
스테레오타입 도형을 그려서 스테레오타입을 생성하고 리소스 중심 인터페이스를 통해 구성 또는 일반화와 연관시킬 수 있다. 또한 스테레오타입의 태그 값을 정의하고 시각화할 수도 있다.
시간 경과에 따른 시스템의 일련의 변화로 설명할 수 있는 시스템 내 객체의 동적 동작을 보여준다.
시스템의 기능적 요구 사항을 사용 사례 측면에서 설명한다.
이는 시스템의 의도된 기능(유스 케이스)과 환경(액터)에 대한 모델이다.
유스케이스를 통해 시스템에서 필요한 것과 시스템이 이러한 요구 사항을 제공하는 방법을 연관시킬 수 있다.
선택, 반복, 동시성을 지원하는 단계별 활동 및 작업의 워크플로우를 그래픽으로 표현한 다이어그램이다.
복잡한 비지니스 규칙 및 운영 탐색과 같은 대상 시스템의 제어 흐름을 설명하며, 유스케이스와 함께 비지니스 프로세스를 설명한다.
특히 액티비티 다이어그램은 UML에서 계산 및 조직 프로세스(즉, 워크플로우)를 모두 모델링하기 위한 것이다.
데이비드 하렐의 상태 다이어그램 개념을 기반으로 하는 시스템의 동작을 설명하기 위한 다이어그램이다.
상태 머신 다이어그램은 허용된 상태와 전환은 물론 이러한 전환에 영향을 미치는 이벤트를 표현한다.
아울러 상태 머신 다이어그램은 객체의 전체 수명 주기를 시각화하여 상태 기반 시스템을 더 잘 이해하는데 도움이 된다.
시간 순서에 따라 객체들의 협업을 모델링하는 다이어그램이다.
시퀀스 다이어그램은 유스 케이스의 특정 시나리오에서 객체가 다른 객체와 상호 작용하는 방식을 보여준다.
비주얼 패러다임과 같은 모델링 도구는 몇 번의 클릭만으로 복잡한 시퀀스 다이어그램을 만들 수 있으며, 특히 유스 케이스 설명에서 정의한 이벤트 흐름에서 시퀀스 다이어그램을 생성할 수 있다.
시퀀스 다이어그램과 마찬가지로 커뮤니케이션 다이어그램도 유스 케이스의 동적 동작을 모델링하는 데 사용된다.
시퀀스 다이어그램과 비교할 때, 커뮤니케이션 다이어그램은 시간 순서보다는 객체들의 협업을 보여주는 데 더 중점을 둔다. 실제로는 의미적으로 동일하기 때문에 비주얼 패러다임을 사용하면 둘 중 하나를 생성할 수 있다.
상호작용의 제어 흐름에 대한 개요에 중점을 둔다.
노드가 상호작용 또는 상호작용 발생인 액티비티 다이어그램의 변형된 형태이다.
상호작용 개요 다이어그램은 메시지와 라이프 라인이 숨겨진 상호작용을 설명한다.
"실제(real)" 다이어그램을 연결하여 상호작용 개요 다이어그램 내에서 다이어그램 간에 고도의 탐색성을 달성할 수 있다.
주어진 기간 동안 객체의 동작을 보여준다.
타이밍 다이어그램은 시퀀스 다이어그램의 특수한 형태이다.