Что такое диаграмма, нотация и метамодель в UML?
Диаграмма — это графическое представление совокупности элементов модели в форме связного графа, вершинам и рёбрам которого приписывается определённая семантика. Каждая диаграмма показывает определённый аспект системы: структуру, поведение, взаимодействие или развёртывание. Диаграмма — это не произвольный рисунок, а строго формализованное представление, подчиняющееся правилам нотации.
Нотация — это совокупность графических символов и правил их применения, используемых для представления понятий и связей между ними. Нотация определяет, как именно изображаются классы (прямоугольники), связи (стрелки разных типов), множественности (числа на концах связей) и другие элементы. Все эти понятия должны быть точно определены, чтобы диаграмма читалась однозначно.
Метамодель — это диаграмма (или модель), определяющая саму нотацию. Она описывает, какие элементы допустимы в UML, как они могут сочетаться и какие ограничения действуют. Метамодель помогает понять, что такое синтаксически правильная модель — подобно тому, как грамматика языка определяет, какие предложения корректны.
Аналогия из жизни: если диаграмма — это предложение на языке, нотация — это алфавит и правила написания букв, а метамодель — это грамматика, определяющая, какие предложения допустимы.
Связь между понятиями
| Понятие | Роль | Пример |
|---|---|---|
| Диаграмма | Конкретный чертёж системы | Диаграмма классов интернет-магазина |
| Нотация | Правила рисования | Класс — прямоугольник, наследование — стрелка с пустым треугольником |
| Метамодель | Грамматика языка UML | Определяет, что класс может иметь атрибуты и методы, но не может наследовать сам себя |
На собеседовании: этот вопрос встречается редко, но если прозвучит — интервьюер хочет убедиться, что вы понимаете UML не как «картинки со стрелками», а как формальный язык с определённой грамматикой. Достаточно дать краткое определение каждого термина и показать их взаимосвязь.