Лабораторна робота 8 на тему Діаграми взаємодії з курсу Управління вимогами в ІТ проектах
« Назад
Лабораторна робота №8 Діаграми взаємодії Мета роботи:
1. Діаграми взаємодії (interaction diagrams) Діаграми взаємодії є моделями, що описують поведінку взаємодіючих груп об'єктів. Як правило, діаграма взаємодії охоплює поведінку тільки одного варіанту використання. На такій діаграмі відображається ряд об'єктів і ті повідомлення, якими вони обмінюються між собою в рамках даного варіанту використання. Даний підхід буде проілюстровано на прикладі найпростішого варіанту використання, який описує такі дії:
Існує два види діаграм взаємодії: діаграми послідовності (sequence diagrams) і кооперативні діаграми (collaboration diagrams).
2. Діаграми послідовності На діаграмі послідовності об'єкт зображується у вигляді прямокутника на вершині пунктирною вертикальної лінії (рис. 1). Ця вертикальна лінія називається лінією життя (lifeline) об'єкта. Вона являє собою фрагмент життєвого циклу об'єкта в процесі взаємодії. Кожне повідомлення представляється у вигляді стрілки між лініями життя двох об'єктів. Повідомлення з'являються в тому порядку, як вони показані на діаграмі (зверху вниз). Кожне повідомлення може бути позначено ім'ям, при бажанні можна показати також аргументи і деяку керуючу інформацію. Також можна показати самовідправне – повідомлення, яке об'єкт посилає самому собі, при цьому стрілка повідомлення вказує на ту ж саму лінію життя. З усієї можливої управлінської інформації два її види мають істотне значення. По-перше, це умова, що показує, в якому випадку надсилається повідомлення (наприклад, [ЗвітЗастарів() == true]). Повідомлення надсилається тільки при виконанні цієї умови. Інший корисний керуючий маркер – це маркер ітерації, що показує, що повідомлення надсилається багато разів для великої кількості об'єктів-адресатів (наприклад, * оновити). Активізації – прямокутники на лініях життя – показують, коли метод стає активним (під час його виконання або при очікуванні результату виконання будь-якої процедури). Використовуючи механізм активізацій, можна більш чітко показати сенс самовідправних. Без них досить важко визначити, де ж виконуються наступні після самовідправних виклики – у яскравому методі або в тому, що викликається. Активізації вносять ясність у це питання. Таблиця 1 Опис кнопок панелі інструментів діаграми взаємодій Rational Rose
3. Кооперативні діаграми Другим видом діаграми взаємодії є кооперативна діаграма (рис. 2). На кооперативній діаграмі екземпляри об'єктів показані у вигляді піктограм. Лінії між ними означають повідомлення, обмін якими здійснюється в рамках даного варіанту використання. Кожен вид діаграм взаємодії має свої переваги, вибір зазвичай здійснюється виходячи з переваг розробника. На діаграмах послідовності робиться акцент саме на послідовності повідомлень, при цьому легше спостерігати порядок, в якому відбуваються різні події. У разі кооперативних діаграм можна використовувати просторове розташування об'єктів для того, щоб показати їх статичну взаємодію. Одна з головних властивостей будь-якої діаграми взаємодії є її простота. Подивившись на діаграму, можна легко побачити всі повідомлення. Однак при спробі зобразити щось більш складне, ніж єдиний послідовний процес без великої кількості умов переходів або циклів, даний підхід може не спрацювати. Для відображення умовної поведінки на діаграмах взаємодії існує два підходи. Один з них полягає у використанні окремих діаграм для кожного сценарію. Другий полягає в тому, що повідомлення супроводжуються умовами, які показують поведінку об'єктів. Таблиця 12.1 Опис кнопок панелі інструментів кооперативних діаграм Rational Rose
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"!
|