Файл: Практическое задание № 2 Создание диаграммы классов и диаграмм взаимодействия.pdf

ВУЗ: Не указан

Категория: Методичка

Дисциплина: Программирование

Добавлен: 15.11.2018

Просмотров: 2908

Скачиваний: 37

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

21 

 

3.2. 

Добавление диаграммы последовательности 

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

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

Logical  View  в  навигаторе  модели,  в  контекстном  меню  выбрать  пункт  Add 

Diagram,  в  списке  выбрать  диаграмму  последовательности  Sequence  Diagram 

(рисунок 3.6). 

 

 

Рисунок 3.6 – Добавление диаграммы последовательности 

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

детализации прецедента. Для этого нужно связать диаграмму с прецедентом: для 
создания  диаграммы  щелкните  правой  кнопкой  мыши  по  прецеденту,  а  не  по 
папке  Logical  View.  Однако  если  строится  диаграмма  последовательности  для 
анализа системы, то лучше все-таки помещать ее в Logical View. 

Пример.  Мы  уже  определили  классы  сценария  Оформление  заказа, 

теперь 

с 

помощью 

диаграммы 

последовательности 

покажем, 

как 

взаимодействуют объекты этих классов во времени.  

Для  создания  диаграммы  последовательностей  можно  воспользоваться 

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

 

Рисунок 3.7 – Объект класса «Покупатель» 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

22 

 

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

успешно оформляет заказ (рисунок 3.8).  

Действующее  лицо  Покупатель  необходимо  перетащить  из  диаграммы 

прецедентов  на  диаграмму  последовательности.  Класс  ОформлениеЗаказа 
(PlaceOrder) 

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

последовательности  методом  перетаскивания  классов  уже  созданных  на 
диаграмме классов. 

Покупатель  выбирает  опцию  «Оформить  заказ»  (Place  order),  при  этом 

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

Далее  открывается  форма  ввода  личных  данных  покупателя  и  его 

кредитной  карты  (EnterPersonalInformation),  на  ней  покупатель  вводит  свое 
имя,  адрес,  телефон,  адрес  электронной  почты  (Enter  personal  information)  и 
кредитные данные. 

Информация  принимается  и  открывается  форма  подтверждения  заказа 

(ConfirmOrder),  покупатель  подтверждает,  что  согласен  с  реквизитами  заказа 

(Confirm  order),  детали  заказа  сохраняются  для  дальнейшего  использования 

(Save  details).  Фокус  управления  с  помощью  сообщения  Place  order 
передается некоторому управляющему объекту (PlaceOrderManager), который 
обращается к внешней кредитной системе для проведения платежа (сообщение 
Validate  credit).  Элемент  Кредитная  система  следует  параллельно  создать  на 
диаграмме прецедентов и использовать на диаграмме последовательности. 

Если  платеж  прошел  успешно  (именно  такой  сценарий  сейчас 

рассматриваем),  то  PlaceOrderManager  посылает  сообщение  (Create  order) 
создать  объект  Заказ  (Order).  Объект  Заказ  (Order)  обращается  к  объектам 
Товар (Item) для того, чтобы получить информацию о товарах и создает заказ. 
Класс 

PlaceOrderManage 

вызывает 

форму 

подтверждения 

заказа 

(OrderConfirmation) 

с  помощью  сообщения  Display  order.  Процесс 

завершается. 

 

 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

23 

 

 

Рисунок 3.8 – Диаграмма последовательности сценария «Оформление заказа» 

Замечание.  Обратите  внимание,  что  символ  объекта  Товар  (Item)  на 

диаграмме последовательности отличается от символов других объектов. Дело в 
том,  что  мы  задали  множественный  экземпляр  класса.  Действительно,  заказ 
может состоять из нескольких товаров, значит объекту Заказ (Order) требуется 
получить информацию о нескольких объектах Товар (Item).  

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

нотацию  UML  для  множественного  экземпляра  класса,  представляя  одним 
значком несколько объектов. 

Чтобы  сделать  объект  множественным  в  StarUML  выделите  объект, 

щелкнув по нему мышью один раз, в открывшемся редакторе свойств поставьте 
флажок в разделе IsMultiInstance (рисунок 3.9). 

 

 

Рисунок 3.9 – Создание множественного объекта 

 

 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

24 

 

3.3. 

Взаимосвязь диаграмм классов и последовательности 

Процесс  построения  модели  системы  является  итеративным.  Особенно 

хорошо 

это 

можно 

видеть 

при 

создании 

диаграмм 

классов 

и 

последовательности.  Какую  диаграмму  создавать  первой:  классов  или 
последовательности? Одни разработчики начинают  с диаграмм классов, другие 
– наоборот, с последовательности. И в том и в другом случае, скорее всего, обе 
эти  диаграммы,  построенные    для  одного  сценария,  будут  в  дальнейшем 
подвергаться  изменению.  После  построения  диаграмм  последовательности  на 
диаграммах  классов  могут  появиться  новые  классы,  а  на  диаграммах 
последовательности  –  новые  объекты,  которых  раньше  там  не  было,  но  они 
придут туда из диаграмм классов. Возможно, что некоторые объекты и классы 
будут, напротив, удалены. 

Замечание.  Для  создания  диаграммы  последовательностей,  мы  могли 

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

3.4. 

Добавление кооперативной диаграммы 

Диаграмма  кооперации  –  это  альтернативный  способ  изображения 

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

Диаграммы  кооперации  содержат  все  те  же  элементы,  что  и  диаграммы 

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

Для  того  чтобы  добавить  диаграмму  кооперации  в  представление  Logical 

View,  щелкните  правой  кнопкой  мыши  по  папке  содержащей  диаграмму 
последовательности (если вы ее не переименовывали, то эта папка в навигаторе 
носит имя Collaboration1), в контекстном меню выберите пункт Add Diagram, в 
списке  выберите  диаграмму  кооперации  Communication  Diagram  (рисунок 

3.10). 

 

 

 


background image

Практикум по 

объектно-ориентированному 

моделированию с помощью UML 

Практическое задание №2

 

25 

 

 

Рисунок 3.10 – Добавление кооперативной диаграммы 

Рассмотрим пример для сценария Оформление заказа, для которого уже 

составлена ранее диаграмма последовательности.  

На созданной диаграмме кооперации следует поместить все те же объекты, 

перетащив  их  из  навигатора  модели  и  назначить  советующие  сообщения-
операции (рисунок 3.11). 

 

Рисунок 3.11 – Кооперативная диаграмма сценария «Оформление заказа»