Перейти к основному содержимому

Создайте метамодель

Каждый раз, когда вы создаёте новую модель, сначала вы выбираете её тип. Это может быть модель данных, модель процесса, модель ИТ-инфраструктуры, концептуальная модель или другая. Все они предназначены для описания разных типов объектов с их специфическими отношениями и атрибутами.

Например, в модели процессов вы описываете события, действия и последовательность их выполнения. В модели ИТ-инфраструктуры — серверы и приложения, запущенные на них.

В Architeezy много готовых нотаций моделирования и в большинстве случаев вам не понадобится создавать новую. Однако иногда это может быть полезным. Рассмотрим создание новой нотации для описания требований.

Войдите в систему и создайте новый проект (см. Быстрый старт).

Создайте новую модель с типом Метамодель. Укажите название Requirement Model:

Создание метамодели

Для удобства метамодель уже содержит базовые классы:

  • NamedElement — абстрактный базовый класс с атрибутами название, описание, локализованное название, локализованное описание
  • RequirementModel — новый тип моделей
  • Entity — новый тип объектов
  • Relationship — новый тип отношений между объектами

Новая метамодель

У самой модели, у объектов и отношений могут быть название и описание. Чтобы не дублировать эти атрибуты в каждом классе, мы объявляем их один раз в классе NamedElement, а затем наследуем от него остальные классы.

У каждого атрибута должен быть тип данных:

  • Логический — допускает значения «да» или «нет»
  • Числовой — целое или действительное число
  • Строковый — строка символов с поддержкой локализации или без неё
  • Временной — дата или время
  • Уникальный идентификатор — UUID
  • Перечислимый — допускает одно значение из списка

В данной метамодели для удобства уже созданы следующие предопределенные типы:

  • String — однострочный текст
  • MultilineString — многострочный текст
  • LocalizedString — локализованный однострочный текст
  • LocalizedMultilineString — локализованный многострочный текст

Они отличаются между собой тем, какие поля на форме свойств будут использоваться для редактирования атрибутов. Для многострочного текста — многострочное поле. Для локализуемого текста будет возможность указать несколько значений на разных языках.

Отношения (Relationship) также являются объектами со своими свойствами. У них есть название и описание (унаследованные от NamedElement), а также ссылки на исходный (source) и целевой (target) объекты.

Мы рассмотрели практически все основные элементы метамодели. Остаётся отношение композиции (обозначено ромбом на диаграмме выше). Оно означает, что объекты и отношения принадлежат модели и в навигаторе они будут создаваться и отображаться внутри модели требований.