Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 1699 Лабораторна робота 8 на тему Діаграми взаємодії з курсу Управління вимогами в ІТ проектах

Лабораторна робота 8 на тему Діаграми взаємодії з курсу Управління вимогами в ІТ проектах

« Назад

Лабораторна робота №8

Діаграми взаємодії

Мета роботи:

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

  • вивчення їх застосування у процесі проектування.

 

1. Діаграми взаємодії (interaction diagrams)

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

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

Даний підхід буде проілюстровано на прикладі найпростішого варіанту використання, який описує такі дії:

  • «Менеджер» запитує поточний «Звіт» «Виконавця»;

  • якщо «Звіт» застарів, «Менеджер» посилає запит «Виконавцю» на оновлення «Звіту»;

  • «Виконавець» створює новий «Звіт»;

  • «Менеджер» робить повторний запит «Звіту».

Існує два види діаграм взаємодії: діаграми послідовності (sequence diagrams) і кооперативні діаграми (collaboration diagrams).

 

2. Діаграми послідовності

На діаграмі послідовності об'єкт зображується у вигляді прямокутника на вершині пунктирною вертикальної лінії (рис. 1).

Ця вертикальна лінія називається лінією життя (lifeline) об'єкта. Вона являє собою фрагмент життєвого циклу об'єкта в процесі взаємодії.

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

З усієї можливої управлінської інформації два її види мають істотне значення. По-перше, це умова, що показує, в якому випадку надсилається повідомлення (наприклад, [ЗвітЗастарів() == true]). Повідомлення надсилається тільки при виконанні цієї умови. Інший корисний керуючий маркер – це маркер ітерації, що показує, що повідомлення надсилається багато разів для великої кількості об'єктів-адресатів (наприклад, * оновити).

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

Таблиця 1

Опис кнопок панелі інструментів діаграми взаємодій Rational Rose

Кнопка

Опис

Назва

 

Вибір елемента моделі

Selection Tool

 

Ввід тексту

Text Box

 

Коментар

Note

 

Зв'язок коментаря з елементом

Anchor Note to Item

 

Об’єкт

Object

 

Повідомлення

Object Message

 

Самоделегування

Message to Self

 

3. Кооперативні діаграми

Другим видом діаграми взаємодії є кооперативна діаграма (рис. 2).

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

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

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

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

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

Таблиця 12.1

Опис кнопок панелі інструментів кооперативних діаграм Rational Rose

Кнопка

Опис

Назва

 

Вибір елемента моделі

Selection Tool

 

Ввід тексту

Text Box

 

Коментар

Note

 

Зв'язок коментаря з елементом

Anchor Note to Item

 

Об’єкт

Object

 

Представник класу

Class Instance

 

Зв’язок

Object Linkf

 

Самоделегування

Link to Self

 

Повідомлення

Link Message

 

Відповідь

Reverse Link Message

 

Потік даних

Data Flow

 

Зворотний потік даних

Reverse Data Flow

 

4. Приклад

На рис. 12.3 та 12.4 наведені діаграми послідовності моделі підсистеми «Служба зайнятості», що показують взаємодію двох класів моделі: Студент і БД студентів. На рис. 12.5 і 12.6 та ж взаємодія показана за допомогою кооперативних діаграм.

Знайдемо числову оцінку для кожної з діаграм.

Діаграма 1

Так як на діаграмі послідовності зв'язків відсутні, проведемо розрахунок за скороченою формулою.

У результаті значення для діаграм 1 і 3 відповідають оптимальним, для діаграм 2 і 4 – нижче оптимальних. Це можна пояснити низькою інформативністю діаграм 2 і 4, так як взаємодія класів показана на них на дуже високому рівні.

 

5. Завдання

1. Обрати в модельованій системі варіант використання, для якого будуть будуватися діаграми взаємодії.

2. Побудувати для вибраного варіанту використання діаграму послідовності.

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

4. Сформулювати достоїнства і недоліки кожного виду діаграм при моделюванні даного варіанту використання.

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

1. Яке призначення діаграм взаємодії?

2. Як відносяться між собою діаграми варіантів використання та діаграми взаємодії?

3. Назвіть два види діаграм взаємодії.

4. Що таке «життєва лінія» на діаграмі послідовності?

5. Як на діаграмі послідовності представляються повідомлення?

6. Що таке самовідправлення?

7. Що показує активізація об'єкта?

8. У чому відмінність кооперативних діаграм від діаграм взаємодії?

9. Які переваги і недоліки кожного виду взаємодії?

10. Як відображається умовна поведінка на діаграмах взаємодії?

З повагою ІЦ "KURSOVIKS"!