Ngôn ngữ mô hình hoá thống nhất UML cung cấp các chuẩn trừu tƣợng nhằm đơn giản hoá việc làm tài liệu, hiểu và bảo trì các hệ thống phần mềm phức tạp. Cơ chế mở rộng của UML hỗ trợ xây dựng các mô hình cho hệ thống và đặc tả một cách chi tiết, chính xác. Ngoài ra, UML còn cung cấp UML Profile hỗ trợ việc đặc tả các chi tiết gần hơn tới mô hình cài đặt cũng nhƣ cho phép xây dựng các ánh xạ, các luật chuyển đổi.
UML là ngôn ngữ mô hình hoá, cho phép chúng ta làm việc ở mức độ trừu tƣợng cao mà ít quan tâm tới nền tảng công nghệ, do vậy nó làm giảm mức độ phức tạp của hệ thống, trực quan và dễ nắm bắt hệ thống hơn. Chuẩn UML có thể đƣợc mở rộng cho từng dự án cụ thể khi chúng ta cần bằng cách dùng UML profiles. Những ngữ nghĩa có thể đƣợc thêm vào cùng với các phần tử UML đã có giúp ta định nghĩa các khuôn mẫu (Stereotypes), các giá trị đích và các ràng buộc. UML hƣớng ngƣời phát triển tới kiến trúc của các hệ thống cụ thể. Để đạt đƣợc hiệu quả đó giống nhƣ một công cụ mô hình hoá, các biểu đồ UML biểu diễn hệ thống ở mức trừu tƣợng cao, ẩn đi nhiều chi tiết ở mức thấp. Theo thời gian, ngƣời dùng UML nhận thấy rằng cách tốt nhất để đạt đƣợc mục đích của mình là áp dụng MDA, mà trong đó các mô hình UML đƣợc chuyển đổi tự động từ mức trừu tƣợng cao tới trừu tƣợng ở mức thấp hơn và cuối cùng là chuyển đổi thành mã nguồn trên một ngôn ngữ đƣợc lựa chọn. Mặc dù không phải là bắt buộc nhƣng UML là một công nghệ chính cho việc phát triển phần mềm theo phƣơng pháp MDA.
14