Головна

Діаграма кооперації та правила її побудови. Активні і пасивні об'єкти. Зв'язки в кооперації і їх позначення.

  1.  I-е покоління систем рухомого зв'язку - аналогові системи
  2.  I. Порівняння органічної будови рослин і тварин у зв'язку з будовою людини
  3.  II-е покоління систем рухомого зв'язку - цифрові системи
  4.  II. Основні правила оформлення посилань і списку використаної літератури
  5.  II. Рослинний світ Землі в зв'язку з історією людства
  6.  III. Світ тварин в зв'язку з історією людства
  7.  UML. Концептуальний рівень. Діаграма класів і правила її побудови. Приклад.

Діаграма кооперації - Collaboration Diagram (в UML 2.0 - Communication Diagram).

кооперація - Фундаментальне поняття в UML, що характеризує взаємодію об'єктів для реалізації деякої функції. Передбачається, що об'єкти при взаємодії обмінюються повідомленнями.

Діаграма кооперації є іншим варіантом діаграми послідовностей.

Переваги діаграми кооперацій:

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

2) На ній зручніше розташовувати компоненти і відстежувати потоки подій.

3) Краще видно зв'язок з БД

На діаграмі кооперацій вісь часу відсутня, тому нумерація повідомлень обов'язкове.

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

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

1. На рівні специфікації - показує ролі класифікаторів і ролі асоціацій в розглянутому взаємодії.

2. На рівні прикладів - вказує екземпляри і зв'язки, що утворюють окремі ролі в кооперації.

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

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

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

Об'єкт (object) є окремим екземпляром класу, який створюється на етапі виконання програми. Він може мати своє власне ім'я і конкретні значення атрибутів. Стосовно об'єктів формат рядка класифікатора доповнюється ім'ям об'єкта і набуває такого вигляду (при цьому вся запис підкреслюється): Ім'я об'єкта '/' Ім'я ролі класифікатора ':' Ім'я класифікатора.

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

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

- "Association" - асоціація (передбачається за замовчуванням, тому цей стереотип можна не вказувати).

- "Parameter" - параметр методу. Відповідний об'єкт може бути тільки параметром деякого методу.

- "Local" - локальна змінна методу. Її область видимості обмежена тільки сусіднім об'єктом.

- "Global" - глобальна змінна. Її область видимості поширюється на всю діаграму кооперації.

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

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

А)  позначає виклик процедури або іншого вкладеного потоку управління. Зазвичай всі такі повідомлення є синхронними, т. Е. Ініційованими по завершенні певної діяльності або при виконанні деякої умови.

Б)  позначає простий потік управління. Кожна така стрілка зображує один етап в послідовності потоку керування. Зазвичай всі такі повідомлення є асинхронними.

В)  використовується для позначення асинхронного потоку управління. Відповідні повідомлення формуються в довільні, заздалегідь не відомі моменти часу, як правило, активними об'єктами. Зазвичай повідомлення цього типу є початковими і звичайно ініціюються акторами.

Г)  позначає повернення з виклику процедури. Стрілки цього типу часто відсутні на діаграмах кооперації, оскільки неявно передбачається їх існування після закінчення процесу активізації деякої діяльності.

Приклад діаграми кооперації:

 Діаграма послідовності і правила її побудови. Види повідомлень і правила їх позначень. приклади |  Діаграма компонентів і правила її оформлення. Інтерфейси і їх опису. приклади


 Методологія об'єктно-орієнтованого аналізу і проектування. Основні етапи розвитку UML |  Основні компоненти мови UML. Уніфікований процес проектування. склад моделей |  Generalization »ставлення узагальнення |  UML. Концептуальний рівень. Діаграма класів і правила її побудови. Приклад. |  Операції і методи в мові UML. Властивості понять і нотація. приклади |  Відносини між класами в UML. приклади |  UML. Логічний і фізичний рівень. Діаграма класів. Об'єкти і шаблони (параметризрвані класи). |  Діаграма станів (прості стану) і правила її побудови. Приклад. |  Складові і історичні стану в діаграмі станів. Складні переходи. Синхронизирующие стану. Приклади. |  Діаграма діяльності та правила її побудови. «Плавальні доріжки». Приклади. |

© 2016-2022  um.co.ua - учбові матеріали та реферати