Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л11-12(Діаграма кооперації).doc
Скачиваний:
2
Добавлен:
15.11.2019
Размер:
434.18 Кб
Скачать

Діаграма кооперації (collaboration diagram)

  • Кооперація

    • Діаграма кооперації рівня специфікації

  • Об'єкти

    • Мультиоб’єкт

    • Активний об'єкт

    • Складений об'єкт

  • Зв'язки

    • Стереотипи зв'язків

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

    • Формат запису повідомлень

  • Приклад побудови діаграми кооперації

  • Завершальні рекомендації по побудові діаграм кооперації

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

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

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

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

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

Кооперація

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

Кооперація може бути представлена на двох рівнях:

•На рівні специфікації

•На рівні прикладів

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

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

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

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

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