Пример выполнения работы. Создавать диаграммы взаимодействия будем для сценария "Добавить новый заказ" прецедента "Работа с заказом"

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

Диаграммы взаимодействия будем создавать в Логическом представлении браузера. Для того, чтобы отделить эти диаграммы от других (которые мы уже создали или создадим в дальнейшем), создадим вначале новый пакет в Логическом представлении - Диаграммы взаимодействия, в котором будут располагаться созданные далее диаграммы.

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

Примечание: Rational Rose позволяет, имея одну из двух типов диаграмм взаимодействия, создать вторую. Для этого необходимо открыть имеющуюся диаграмму взаимодействия и выбрать пункт меню Browse > Create Sequence (Collaboration) Diagram. Автоматически будет создана диаграмма второго типа с таким же именем, в том же пакете и с таким же содержимым, что и первая. Единственный недостаток этого приема - в созданной диаграмме элементы не будут автоматически выравниваться. Поэтому если исходная диаграмма достаточно большая, то в созданной диаграмме сложно будет разобраться, т.к. элементы могут налазить друг на друга.

В данной работе мы оба типа диаграмм взаимодействия будем строить с ноля.

Создание диаграммы последовательности для сценария "Добавить новый заказ" прецедента "Работа с заказом"

Для создания диаграммы последовательности необходимо щелкнуть правой кнопкой мыши по пакету Диаграммы взаимодействия и в появившемся меню выбрать пункт New > Sequence Diagram, ввести ее имя, после чего дважды щелкнуть по ней в браузере, чтобы открыть ее (рис. 1).

Рисунок 1. Создание диаграммы последовательности

Построение диаграммы последовательности начинается с размещения на ней объектов, которые будут обмениваться сообщениями. Сначала необходимо разместить объекты, которые посылают сообщения, а потом объекты, получающие их. Инициатором взаимодействия выступает актер Менеджер по работе с клиентами. Поэтому на диаграмме он будет находится в левом углу. Далее размещаем (рис. 2):

- объект класса OrderOptions (Параметры работы с заказом), отвечающий за выбор возможного действия с заказом в рассматриваемом прецеденте;

- объект класса AddNewOrder (Добавление нового заказа), отвечающий за добавление заказа;

- объект класса OrderManager (Менеджер по работе с заказами), отвечающий за обработку потока событий рассматриваемого прецедента;

- объект класса Order (Заказ);

- объект класса Client (Клиент);

- объект класса ComponentPart (Комплектующее изделие).

Рисунок 2. Расположение объектов на диаграмме последовательности

Теперь на диаграмме следует разместить сообщения, которыми будут обмениваться объекты (рис. 3):

Номер сообщения Объект - отправитель сообщения Объект - получатель сообщения Название
  Менеджер по работе с клиентами OrderOptions ввод пароля
  OrderOptions OrderOptions проверка пароля
  Менеджер по работе с клиентами OrderOptions выбор операции "добавить"
  OrderOptions AddNewOrder отображение полей ввода
  Менеджер по работе с клиентами AddNewOrder выбор типа компьютера
  AddNewOrder OrderManager получение списка клиентов
  OrderManager Client получение списка клиентов
  Client AddNewOrder список клиентов
  AddNewOrder AddNewOrder отображение списка клиентов
  Менеджер по работе с клиентами AddNewOrder выбор клиента
  AddNewOrder OrderManager получение списка комплектующих
  OrderManager ComponentPart получение списка комплектующих
  ComponentPart AddNewOrder список комплектующих
  AddNewOrder AddNewOrder отображение списка комплектующих
  Менеджер по работе с клиентами AddNewOrder * выбор необходимых комплектующих
  Менеджер по работе с клиентами AddNewOrder сохранить заказ
  AddNewOrder OrderManager передача управления
  OrderManager Order сохранить

Рисунок 3. Итоговая диаграмма последовательности

Для отображения номера сообщения в Rational Rose необходимо в меню Tools > Options > вкладка Diagram поставить галочку возле надписи Sequence numbering.

Создание диаграммы кооперации для сценария "Добавить новый заказ" прецедента "Работа с заказом"

Для создания диаграммы кооперации необходимо щелкнуть правой кнопкой мыши по пакету Диаграммы взаимодействия и в появившемся меню выбрать пункт New > Collaboration Diagram, ввести ее имя, после чего дважды щелкнуть по ней в браузере, чтобы открыть ее (рис. 4).

Рисунок 4. Создание диаграммы кооперации

Построение диаграммы кооперации начинается с размещения на ней объектов, которые будут обмениваться сообщениями. Перечень объектов на данной диаграмме такой же, как и на предыдущей. Далее необходимо добавить на диаграмму связи между объектами, которые обмениваются сообщениями (рис. 5):

  • Менеджер по работе с клиентами и AddNewOrder
  • Менеджер по работе с клиентами и OrderOptions
  • AddNewOrder и OrderOptions
  • AddNewOrder и OrderManager
  • AddNewOrder и Client
  • AddNewOrder и ComponentPart
  • OrderManager и Client
  • OrderManager и ComponentPart
  • OrderManager и Order


Рисунок 5. Объекты и связи на диаграмме кооперации


Последними на диаграмму кооперации добавляются сообщения между объектами. Перечень сообщений между объектами такой же, как и на диаграмме последовательности (рис. 6).


Рисунок 6. Итоговая диаграмма кооперации



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: