Автор работы: Пользователь скрыл имя, 09 Мая 2013 в 22:03, лабораторная работа
Цель работы: получить навыки построения диаграмм последовательности.
Задание: создать диаграмму последовательности и кооперации для одного из сценариев любого прецедента, созданного в лабораторной работе № 1.
Создавать диаграммы взаимодействия будем для сценария "Добавить новый заказ" прецедента "Работа с заказом". В этом сценарии кроме основного потока существуют еще и альтернативные потоки.
Лабораторная работа № 3.
Создание диаграмм взаимодействия.
Цель работы: получить навыки построения диаграмм последовательности.
Задание: создать диаграмму последовательности и кооперации для одного из сценариев любого прецедента, созданного в лабораторной работе № 1.
Пример выполнения работы.
Создавать диаграммы взаимодействия будем для сценария "Добавить новый заказ" прецедента "Работа с заказом". В этом сценарии кроме основного потока существуют еще и альтернативные потоки. Хотя стандарт языка UML допускает ветвления на диаграммах последовательности и кооперации, мы, чтобы не загромождать наши диаграммы, ограничимся рассмотрением только случая, когда пользователь правильно вводит свой пароль, правильно заполняет необходимые поля и введенные данные без ошибок сохраняются в базе данных. В случае необходимости альтернативные потоки можно показать на дополнительных диаграммах последовательности и кооперации.
Диаграммы взаимодействия будем создавать в Логическом представлении браузера. Для того, чтобы отделить эти диаграммы от других (которые мы уже создали или создадим в дальнейшем), создадим вначале новый пакет в Логическом представлении - Диаграммы взаимодействия, в котором будут располагаться созданные далее диаграммы.
Построение любой диаграммы взаимодействия начинается с определения перечня объектов, которые будут участвовать во взаимодействии. Для выбранного сценария в лабораторной работе № 2 была разработана диаграмма классов. Экземпляры классов этой диаграммы и будут участниками диаграмм взаимодействия.
Примечание: Rational Rose позволяет, имея одну из двух типов диаграмм взаимодействия, создать вторую. Для этого необходимо открыть имеющуюся диаграмму взаимодействия и выбрать пункт меню Browse > Create Sequence (Collaboration) Diagram. Автоматически будет создана диаграмма второго типа с таким же именем, в том же пакете и с таким же содержимым, что и первая. Единственный недостаток этого приема - в созданной диаграмме элементы не будут автоматически выравниваться. Поэтому если исходная диаграмма достаточно большая, то в созданной диаграмме сложно будет разобраться, т.к. элементы могут налазить друг на друга.
В данной работе мы оба типа диаграмм взаимодействия будем строить с ноля.
Пример создания диаграммы последовательности для сценария "Добавить новый заказ" прецедента "Работа с заказом"
Для создания диаграммы последовательности необходимо щелкнуть правой кнопкой мыши по пакету Диаграммы взаимодействия и в появившемся меню выбрать пункт New > Sequence Diagram, ввести ее имя, после чего дважды щелкнуть по ней в браузере, чтобы открыть ее (рис. 1).
Рисунок 1. Создание диаграммы последовательности
Построение диаграммы последовательности начинается с размещения на ней объектов, которые будут обмениваться сообщениями. Сначала необходимо разместить объекты, которые посылают сообщения, а потом объекты, получающие их. Инициатором взаимодействия выступает актер Менеджер по работе с клиентами. Поэтому на диаграмме он будет находится в левом углу. Далее размещаем (рис. 2):
- объект класса OrderOptions (Па
- объект класса AddNewOrder (Доб
- объект класса OrderManager (Ме
- объект класса Order (Заказ);
- объект класса Client (Клиент);
- объект класса ComponentPart (К
Рисунок 2. Расположение объектов на диаграмме последовательности
Теперь на диаграмме следует разместить сообщения, которыми будут обмениваться объекты (рис. 3):
Номер сообщения |
Объект - отправитель сообщения |
Объект - получатель сообщения |
Название |
1 |
Менеджер по работе с клиентами |
OrderOptions |
ввод пароля |
2 |
OrderOptions |
OrderOptions |
проверка пароля |
3 |
Менеджер по работе с клиентами |
OrderOptions |
выбор операции "добавить" |
4 |
OrderOptions |
AddNewOrder |
отображение полей ввода |
5 |
Менеджер по работе с клиентами |
AddNewOrder |
выбор типа компьютера |
6 |
AddNewOrder |
OrderManager |
получение списка клиентов |
7 |
OrderManager |
Client |
получение списка клиентов |
8 |
Client |
AddNewOrder |
список клиентов |
9 |
AddNewOrder |
AddNewOrder |
отображение списка клиентов |
10 |
Менеджер по работе с клиентами |
AddNewOrder |
выбор клиента |
11 |
AddNewOrder |
OrderManager |
получение списка комплектующих |
12 |
OrderManager |
ComponentPart |
получение списка комплектующих |
13 |
ComponentPart |
AddNewOrder |
список комплектующих |
14 |
AddNewOrder |
AddNewOrder |
отображение списка комплектующих |
15 |
Менеджер по работе с клиентами |
AddNewOrder |
* выбор необходимых комплектующих |
16 |
Менеджер по работе с клиентами |
AddNewOrder |
сохранить заказ |
17 |
AddNewOrder |
OrderManager |
передача управления |
18 |
OrderManager |
Order |
сохранить |
Рисунок 3. Итоговая диаграмма последовательности
Для отображения номера сообщения в Rational Rose необходимо в меню Tools > Options > вкладка Diagram поставить галочку возле надписи Sequence numbering.