Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KPZ.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
875.49 Кб
Скачать

Змістовий модуль 3. Діаграми взаємодії. Діаграми послідовності та діаграми кооперації

Лекція 4. Діаграми взаємодії

Література: 1 [64-70]; 2 [209-222];3 [222-223]; 4[247-258]

Загальні положення. Призначення діаграм взаємодії. Порівняльна характеристика типів діаграм. Діаграми кооперації.

Загальні положення

Наступним етапом конструювання після побудови діаграми концептуальних класів є складання діаграм взаємодії.

На відміну від діаграм концептуальних класів, які відображають «статику системи», що проектується, діаграми взаємодії (interaction diagram), ілюструють взаємодію об'єктів у процесі виконання системних вимог – «динаміку системи».

Призначення діаграм взаємодії

Діаграми взаємодій є одним з найбільш важливих артефактів, створюваних при об’єктно-орієнтованому конструюванні. Починаючи з діаграм взаємодії проектування набуває формалізовану сутність. На цьому етапі конструювання вимоги, представлені раніше у вигляді опису прецедентів звичайною мовою, перетворюються на однозначне графічне зображення. Для поліпшення якості майбутнього програмного продукту у процесі розробки діаграм взаємодій застосовують шаблони та принципи проектування.

Система позначень для діаграм взаємодії

Термін «діаграма взаємодії» використовується як загальна назва для двох конкретних типів діаграм, що ілюструють обмін повідомленнями:

· діаграми кооперації (collaboration diagram)

· діаграми послідовностей (sequence diagram)

Порівняна характеристика діаграм

Діаграми кооперації більш компактні, краще ілюструють складні залежності, ітераційність і паралельні події.

Діаграми кооперації явно відображають послідовність і часовий порядок повідомлень, використовують прості позначення, при застосуванні CASE-засобів забезпечують зворотне проектування.

Для ідентифікації будь-якого екземпляра елемента мови UML (класу, виконавця й т.д.) використовується те ж позначення, що й для типу, однак, при цьому відповідний визначальний рядок підкреслюється.

У мові UML існує стандартний синтаксис для позначення передачі повідомлення: Одержувач:=повідомлення (параметр: тип Параметра): тип Одержувача

Інформація про типи може виключатися, якщо вона очевидна або не має особливого значення на даному етапі проектування.

Основні позначення діаграм кооперації

Зв'язок є екземпляром асоціації. Це з'єднання між двома екземплярами класів, яке визначає деяку форму переміщення й видимості між ними.

По одній лінії зв'язку можуть передаватися кілька повідомлень в обох напрямках.

Рис 4.1 Передача декількох повідомлень по одній лінії зв'язку

Повідомлення можуть передаватися об'єктом самому собі.

Для створення екземпляра об'єкта можна використовувати будь-які повідомлення. Однак у мові UML прийнято використовувати для цієї мети повідомлення create. Для використання іншого імені повідомлення варто постачити спеціальною властивістю, називаною стереотипом, зокрема <<create>>. Повідомлення create може мати параметри, які задають початкові значення властивостей створюваного екземпляра.

Порядок передачі повідомлень ілюструється за допомогою порядкових номерів.

Умовне повідомлення зображується за допомогою його номера, за яким у квадратних дужках записується умовне вираження, аналогічне оператору IF.

Для відображення взаємовиключних умовних маршрутів потрібно модифікувати схему нумерації, використовуючи символ умовного маршруту. Першим таким символом є буква а, другим – b.

Ітераційний процес (цикл) можна відобразити, вказавши за порядковим номером символ «*» і ітераційний оператор.

Для відображення ітераційного процесу для колекції об'єктів (список, масив) використовується сполучення двох символів «*». В UML для позначення набору екземплярів або колекції застосовується складний об'єкт або мультіоб’єкт , що позначається подвійним прямокутником (рис. 4.2).

Рис. 4.2 Ітераційний цикл для складного об'єкта (колекції)

Повідомлення можуть передаватися не тільки екземпляру класу, але й класу, наприклад, для виклику статичних методів класу.

Контрольні запитання

  1. Що собою представляють діаграми взаємодії?

  2. Яке місце посідає діаграма взаємодії у процесі конструювання?

  3. Які типи діаграм взаємодії ви знаєте? Які їхні переваги й недоліки?

  4. Як позначаються класи і їхні екземпляри на діаграмах взаємодії?

  5. Який синтаксис для позначення повідомлень використовується на діаграмах взаємодії?

  6. Як на діаграмах кооперації позначається зв'язок і послідовність повідомлень?

  7. Як на діаграмах кооперації позначаються умовні й циклічні повідомлення?

  8. Як на діаграмах кооперації позначається цикл для роботи з колекцією?

Лекція 5. Діаграми послідовностей

Література: 1 [64-70]; 2 [209-222];3 [222-223]; 4[247-258]

Основні позначення. Лінія життя. Порядок передачі повідомлень.Приклади створення діаграм.

Основні позначення діаграм послідовностей

У діаграмах послідовностей об'єкти, що беруть участь у взаємодії, розташовуються горизонтально вгорі діаграми. Від кожного об'єкта виходить пунктирна вертикальна лінія – лінія життя.

Час спрямований зверху вниз по пунктирних вертикальних лініях.

Зв'язки на діаграмі послідовностей не відображаються.

Повідомлення між об'єктами (взаємодії) зображуються у вигляді ліній зі стрілками на кінці, що з'єднують об'єкти та над якими вказується ім'я повідомлення. Порядок передачі повідомлень визначається їхнім розташуванням зверху вниз.

Тонкий прямокутник на лінії життя об'єкта позначає інтервал часу, на протязі якого даний об'єкт бере участь в управлінні системи (блок активації). Блоки активації не обов'язкові, але часто використовуються (рис. 5.9).

Повернення значення при передачі повідомлення відображається штриховою лінією зі стрілкою, що виходить із блоку активації (можна не застосовувати).

Рис. 5.1 Зображення повідомлень, блоків активації, повернення значень

Передача об'єктом повідомлень самому собі відображається вкладеними активаційними блоками.

При створенні екземпляра об'єкта вводиться новий рівень. Факт знищення об'єкта відображається символом Х у кінці його лінії життя.

Для позначення умовного повідомлення перед ним записується умова.

Для відображення взаємовиключних умовних маршрутів використовуються кілька ліній повідомлень, що виходять із однієї точки під різними кутами (рис. 5.2 ).

Рис. 5.2 Позначення умовних і взаємовиключних повідомлень

Ітераційний процес для колекції (складного об'єкта) представлений на рис. 5.3.

Рис. 5.3 Зображення ітераційного процесу для колекції об'єктів

Контрольні запитання

  1. Що таке лінія життя й блок активації на діаграмах послідовностей?

  2. Як на діаграмах послідовностей позначаються умовні й циклічні повідомлення?

  3. Як на діаграмах послідовностей позначається цикл для роботи з колекцією?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]