Шаг 69.
Унифицированный язык моделирования UML.
Моделирование новой семантики в UML

    На этом шаге рассмотрим моделирование новой семантики в UML.

    Создавая модель с помощью UML, вы работаете по определенным правилам данного языка. И не напрасно: благодаря этому вы можете четко передать свои намерения любому, кто умеет читать UML-модели. Но если вам требуется выразить новую семантику, о которой UML умалчивает или же модифицировать правила UML, придется писать ограничение.

    Чтобы смоделировать новую семантику, воспользуйтесь следующими рекомендациями:

  1. Убедитесь в том, что не существует способа решить поставленную вами задачу средствами стандартного UML.
  2. Опишите новую семантику в ограничении, помещенном рядом с элементом, к которому она относится. Вы можете явно продемонстрировать эту связь, установив зависимость между ограничением и элементом.
  3. Если вам нужно более точно и формально специфицировать семантику, опишите ее на языке OCL.

    В качестве примера на рис. 1 представлена модель небольшой части корпоративной системы управления человеческими ресурсами.


Рис.1. Моделирование новой семантики в UML

    Диаграмма показывает, что каждый человек (Person) может быть членом одной или нескольких команд (Team) либо не входить ни в одну из них; в каждой команде должен быть как минимум один руководитель; каждый человек может быть руководителем одной или нескольких команд либо не руководить ни одной. Вся эта семантика может быть выражена простыми средствами UML. Однако тот факт, что руководитель должен быть членом команды, которую он возглавляет, касается нескольких ассоциаций и не может быть выражен с использованием стандартного UML. Чтобы задать этот инвариант, вы должны описать ограничение, которое показывает, что руководитель относится к числу членов команды, и связать обе ассоциации ограничением. Еще одно ограничение указывает, что руководитель должен быть членом команды не меньше года.

    На следующем шаге рассмотрим правила моделирования примечаний в UML.




Предыдущий шаг Содержание Следующий шаг