Рекомендация: Ассоциация связи
Ассоциация связи моделирует взаимодействие вариантов использования и субъектов, осуществляемое посредством отправки сигналов друг другу. Настоящая рекомендация объясняет, как применять эту взаимосвязь.
Взаимосвязи
Основное описание

Объяснение

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

Ассоциациям связи не присваиваются имена. Поскольку между вариантом использования и субъектом может быть только одна ассоциация связи, для определения конкретной ассоциации связи достаточно указать ее начальную и конечную точки.

Диаграмма, описанная в тексте.

Линия или стрелка между субъектом и вариантом использования указывает, что они взаимодействуют посредством обмена сигналами.

Роли

Каждый конец ассоциации связи - это роль, которую вариант использования или субъект играет в ассоциации. Роли служат для указания множественностей и направлений ассоциации (см. ниже).

Множественность

Каждая роль ассоциации связи указывает множественность ее типа, т.е. число экземпляров этого субъекта или варианта использования, которое можно связать с одним экземпляром другого варианта использования или субъекта. Множественность задается текстовым выражением в роли. Выражение - это список перечисленных через запятую диапазонов целых чисел. Диапазон задается целым числом (нижним значением), двумя точками и другим целым числом (верхним значением); отдельное целое число задает допустимый диапазон, а символ '*' означает "много", т.е. неограниченное число объектов. Отдельный символ '*' эквивалентен диапазону '0..*', т.е. произвольному неотрицательному целому числу; это значение по умолчанию. Множественность необязательной скалярной роли равна 0..1.

Множественность может быть дополнена ограничением по времени. Это позволяет указать, сколько экземпляров могут быть связаны, возможно разными экземплярами, в течение заданного периода. Эта информация полезна, поскольку сообщает, часто ли выполняется вариант использования и насколько часто каждый экземпляр субъекта задействует вариант использования.

Пример:

Диаграмма, описанная в тексте.

Вариант использования Провести транзакции применяется клиентами 400 000 раз в день. Каждый клиент применяет вариант использования дважды в месяц.

Инициатива

У каждой роли ассоциации связи есть свойство Инициатива, которое указывает, кто инициализирует взаимодействие.  Инициатива изображается открытой стрелкой.  Если стрелка указывает на вариант использования, то субъект на другом конце ассоциации инициализирует взаимодействие с системой.  Если стрелка указывает на субъекта, то система инициализирует взаимодействие с субъектом.  Двусторонняя инициатива изображается линией без стрелок (двунаправленные стрелки сделали бы диаграммы слишком громоздкими).

Диаграмма, описанная в тексте.

Стрелка связи определяет субъект, инициализировавший вариант использования. Для каждой стрелки связи предполагается наличие ответного сообщения. Линия без стрелок означает двустороннюю связь.

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

Передача информации от субъекта к варианту использования В начало страницы

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

Множественность ассоциации указывает, со сколькими экземплярами варианта использования может одновременно контактировать один экземпляр субъекта.

Пример:

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

Диаграмма, описанная в тексте.

Клиент, который хочет вернуть предметы в машину для переработки вторсырья, будет контактировать с экземпляром Перерабатываемые предметы варианта использования.

Субъект контактирует с вариантами использования по многим причинам, в том числе:

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

Передача информации от варианта использования к субъекту

Вариант использования инициализируется одним субъектом. Однако после запуска вариант использования может контактировать с несколькими субъектами. Показать субъекты, с которыми может контактировать вариант использования, можно с помощью ассоциаций связи между вариантом использования и субъектами. Множественность ассоциации указывает, со сколькими экземплярами субъекта может одновременно контактировать один экземпляр варианта использования.

Варианты использования контактируют с субъектами по многим причинам, в том числе:

  • Если в системе произошло что-то особое, субъекту может понадобиться знать об этом.
  • Варианту использования может понадобиться обратиться к субъекту за помощью в принятии решения при наличии нескольких вариантов.

Как правило, но не всегда, вариант использования ожидает ответа после отправки сигнала субъекту. Это должно быть явно описано в варианте использования.

Необязательные соглашения

Далее указаны общепринятые необязательные соглашения о том, какой субъект инициализирует вариант использования.

  • Инициализирующая стрелка от субъекта к варианту использования показана всегда, даже если вариант использования впоследствии инициализирует соединение с субъектом-инициализатором.  Это единственная показанная стрелка от субъекта к варианту использования.
  • Стрелки от варианта использования к субъектам могут быть опущены или указаны для ясности.