즉, 어떠한 모델을 만드는 표준언어로서, 모델이란 것은 제품을 미리 검증하고, 설계하는 과정에서 필요하다.

크게 구조 / 행위 다이어그램으로 나뉜다.
개발하는 시스템의 유형과 규모에 따라서 필요한 다이어그램을 선택하여 사용한다.
-- 소프트웨어 아키텍처에서 하드웨어와 소프트웨어 요소 간의 물리적인 관계를 표시하는 UML(통합 모델링 언어) 다이어그램이다.
-- 시스템의 물리적인 구조를 보여주며, 어떤 소프트웨어가 어떤 하드웨어에서 동작하고 있는지를 보여준다.
-- 무엇이 어디에 배치되는지를 보여준다. ('배치 다이어그램' 이라고도 한다.)
-- 시스템 설계 단계의 마지막에 작성한다.
1) 노드(node)
소프트웨어를 실행할 수 있는 어떤 것
장치(device)와 하드웨어 두 가지의 형태로 존재
2) 실행 환경(execution environment)
스스로 실행하거나 다른 소프트웨어를 포함하는 소프트웨어
운영체제, 컨테이너 프로세스 등이 해당한다.
3) 아티팩트(artifact)
노드에 포함되며, 소프트웨어의 물리적인 모습을 뜻한다.
클래스 상자로 보여주거나 이름을 나열하여 표현하는데 문서 아이콘 상자나 <> 키워드를 붙여 표시한다.
.exe, .bin,DLL, JAR, 어셈블리, 스크립트, 데이터파일, 환경설정 파일, HTML 문서 등이 이에 해당한다.
4) 통신경로
여러 노드가 어떻게 통신하는지를 보여준다.
해당 경로에 프로토콜에 대한 정보를 표시하기도 한다.

시각적 표현: 배포 다이어그램은 시스템의 물리적 구조를 시각적으로 표현하여 이해하기 쉽게 만듭니다. 이를 통해 개발자와 이해관계자 간의 의사소통이 원활해진다.
기술적 세부사항 부족: 배포 다이어그램은 하드웨어와 소프트웨어의 관계를 나타내지만, 각 구성 요소의 내부 동작이나 세부 사항은 포함하지 않기 때문에 추가적인 문서가 필요할 수 있다.
다양한 하드웨어 및 소프트웨어 구성 요소로 구성 이런 복잡한 시스템에서, 배치 다이어그램은 구성 요소 간의 물리적 연결을 명확하게 표시하여, 전체 아키텍처의 이해를 돕는다.
소프트웨어 개발 프로젝트에서 배치 다이어그램은 어플리케이션과 그에 관련된 데이터베이스, 서비스 등이 서버에서 어떻게 배포되는지를 보여줍니다. 이러한 다이어그램을 통해, 개발자들은 배포 전략을 계획하고, 테스트 환경을 구성하며, 성능 문제를 사전에 파악하는 데 도움이 된다.