С самой общей точки зрения описание языка UML состоит из двух взаимодействующих частей, таких как: Семантика языка UML. Представляет собой некоторую метамодель, которая определяет абстрактный синтаксис и семантику понятий объектного моделирования на языке UML. Нотация языка UML. Представляет собой графическую нотацию для визуального представления семантики языка UML.
В описании UML используются три языковых уровня:
мета-метамодель – описание языка, на котором описана метамодель; метамодель – описание языка, на котором описываются модели. Все основные понятия языка UML – это понятия уровня метамодели. Примеры таких понятий – класс, атрибут, операция, компонент, ассоциация и многие другие. § модель – описание самой моделируемой предметной области.
Чтобы подчеркнуть, что UML язык графический, авторы называют правила записи моделей не синтаксисом, а нотацией.
Выделяют следующие элементы нотации: фигура. Фигуры могут изменять свои размеры и форму, сохраняя при этом свои отличительные признаки. Внутри фигур могут помещаться другие элементы нотации; линии. Линии всегда присоединяются своими концами к фигурам или значкам, они не могут быть нарисованы сами по себе. Форма, толщина линий произвольна, а вот стиль линии имеет значение; значки. Не имеют внутри других элементов; тексты – последовательность символов некоторого алфавита. Гарнитура, размер и цвет шрифта не имеют значения. Начертание шрифта имеет значение: различают прямые, курсивные и подчеркнутые тексты; рамки. Появились в UML2. Пустые рамки не применяются. Рамка имеет прямоугольную форму и, как правило, ярлычок в левом верхнем углу, в котором указывается тип и имя рамки.
Основной способ организации элементов модели в языке UML – пакет. Пакет – общецелевой механизм для организации различных элементов модели в множество, реализующий системный принцип декомпозиции модели сложной системы и допускающий вложенность пакетов друг в друга.