Унифицированный язык моделирования (Unified Modeling Language, UML) - это универсальный язык визуального моделирования систем. Хотя чаще всего UML ассоциируется с моделированием ОО программных систем, он имеет намного более широкое применение благодаря свойственной ему расширяемости. UML объединил лучшие современные технические приёмы моделирования и разработки программного обеспечения. По сути, язык UML был задуман так, чтобы его можно было реализовать посредством его же инструментальных средств. Фактически это признание того, что большие современные программные системы, как правило, нуждаются в инструментальной поддержке. UML диаграммы легко воспринимаются и при этом без труда генерируются компьютерами.
Важно понимать, что UML не предлагает нам какой-либо методологии моделирования. Конечно, некоторые методические аспекты подразумеваются элементами, составляющими модель UML, но сам UML предоставляет собой лишь визуальный синтаксис, который можно использовать для создания моделей.
Унифицированный процесс (Unified Process, UP) - это методология. Она указывает на исполнителей, действия и артефакты, которые необходимо использовать, осуществить или создать для моделирования программной системы. UML не привязан к какой-либо конкретной методологии или жизненному циклу. На самом деле он может использоваться со всеми существующими методологиями. UP использует UML в качестве базового синтаксиса визуального моделирования. Следовательно, UP можно рассматривать как предпочтительный метод для UML, поскольку он лучше всего адаптирован к нему. Однако сам UML способен предоставить (и предоставляет) поддержку визуального моделирования другим методам. Конкретным примером сложившегося метода, использующего UML в качестве визуального синтаксиса, является метод OPEN (Object Oriented Process, Environment, and Notation - объектно-ориентированный процесс, среда и нотация).
Неизменная цель UML и UP - способствовать объединению всего лучшего в опыте разработки программного обеспечения последнего десятилетия. Для этого UML и UP унифицируют опыт предшествующих языков визуального моделирования и процессов разработки программного обеспечения наиболее оптимальным образом.