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

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

    Объекты представляют отдельные сущности в статическом положении или в динамике. Вместе с тем мы нередко хотим показать некоторые общие части в определенном контексте. Часть в пределах контекста называется ролью (role). Вероятно, наиболее важное назначение ролей заключается в моделировании динамических взаимодействий. Обычно в таких случаях не приходится моделировать конкретные экземпляры, существующие в реальном мире.

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

    Чтобы смоделировать роли, необходимо:

  1. Определить контекст, в котором взаимодействуют объекты.
  2. Идентифицировать необходимые и достаточные роли, с помощью которых можно визуализировать, специфицировать, конструировать или документировать моделируемый контекст.
  3. Изобразить их как роли в структурированном контексте. По возможности присвоить каждой роли имя. Если для какой-либо из них нельзя подобрать осмысленное имя, изобразить ее как безымянную.
  4. Раскрыть свойства каждой роли, которые необходимы и достаточны для моделирования контекста.
  5. Представить роли и их связи на диаграмме взаимодействия или диаграмме классов.

    Семантическая разница между конкретными объектами и ролями достаточно тонка, но не сложна для понимания. Уточняя сказанное выше, следует отметить, что роль UML – это предопределенная часть структурированного классификатора, такого как структурированный класс или кооперация. Роль – это не объект, но описание; она привязана к значению внутри каждого экземпляра структурированного классификатора. Таким образом, роль, как и атрибут, соответствует многим возможным значениям. Конкретные объекты появляются в специфических примерах, в частности на диаграммах объектов, компонентов и размещения. Роли появляются в обобщенных описаниях – на диаграммах взаимодействия и деятельности.

    На рис. 1 вы видите диаграмму взаимодействия, описывающую частичный сценарий осуществления телефонного вызова в контексте коммутатора.


Рис.1. Моделирование ролей

    Здесь налицо четыре роли: a (CallingAgent – ВызывающийАбонент), c (Connection – Подключение), а также t1 и t2 (экземпляры Terminal – Терминал). Все они, по своей сути, являются концептуальными "заместителями" конкретных объектов из реального мира.

    На рис. 1 представлен пример кооперации, которая представляет сообщество объектов и других элементов, работающих совместно для обеспечения определенного поведения, представляющего собой нечто большее, чем поведение суммы тех же элементов. Кооперации имеют две составляющие: структурную (описывающую роли классификаторов и их связи) и динамическую, или поведенческую (описывающую взаимодействия между этими прототипными экземплярами).

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




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