Управление проектами - статьи



             

Роли в моделях взаимодействия


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

Мы будем придерживаться следующего соглашения об использовании синтаксиса именования оси:

<идентификатор_оси> ::= [<имя_элемента>] [: <имя_класса>]


(причем <идентификатор оси> не может быть пустым).

Трактоваться <идентификатор_оси> будет следующим образом: <имя_элемента> обозначает имя роли объекта, которому данная ось ставится в соответствие, а <имя_класса> - тип объекта. В случае, когда опущено имя роли, предполагается, что объект играет некую, так называемую, анонимную роль. Если опущено имя класса, предполагается, что тип объекта может быть произвольным.

В качестве близкого к реальным системам примера рассмотрим модель сети мобильной связи, в которой есть телефоны (Telephone), передатчики (Transmitter) и центральный коммутатор (Switch). Для такой системы можно выделить следующие протоколы:

  • установление соединения;
  • передача данных (разговор);
  • разрыв соединения;
  • регистрация в сети;
  • смена станции в сети.

Мы не будем описывать полную сценарную спецификацию для этой системы, однако приведем ее некоторые возможные сценарии (Рис. 1): запрос на установление соединения (Connection), передача данных (Transmitting), смена станции (Relocation).

Рис. 1. Сценарии системы мобильной связи

По приведенным сценариям видно, что для, например, телефонного аппарата абонента (Telephone) существуют, по крайней мере, такие роли как:

  • Caller - аппарат вызывающего абонента;
  • Calleе - аппарат вызываемого абонента;
  • Sender - аппарат, отправляющий голосовые данные;
  • Receiver - аппарат, принимающий голосовые данные;
  • Migrator - аппарат, сменяющий текущую станцию (передатчик).

Рассматривая эти роли, можно уже указать на важность построения композиции поведения - ясно, например, что роли Sender и Receiver могут выполняться аппаратом после ролей Caller или Callee, причем роли Sender и Receiver могут выполняться аппаратом одновременно.


Содержание  Назад  Вперед