SlideShare a Scribd company logo
1 of 19
ООП з використанням UML
(Unified Modeling Language)
Модуль 5
В даному модулі:
 Діаграма послідовності (sequence diagram)
 Діаграма кооперації (collaboration diagram)
Andrey Gladky
KspDevelop@gmail.com 2
sequence diagram
 На дiаграмах послiдовностей буде показано обмiн
повiдомленнями (тобто виклик методiв) мiж декiлькома
об’єктами у окремiй обмеженiй часом ситуацiї. Об’єкти є
екземплярами класiв. Основний наголос на дiаграмах
послiдовностей робиться на порядок i моментах часу, у
якi повiдомлення надсилаються об’єктам.
 На дiаграмах послiдовностей об’єкти буде показано
вертикальними штриховими лiнiями з назвою об’єкта над
ними. Вiсь часу також має вертикальний напрямок, її
спрямовано вниз, повiдомлення, якi надсилаються вiд
одного об’єкта до iншого, буде позначено стрiлками з
назвами операцiї i параметрiв.
Andrey Gladky
KspDevelop@gmail.com 3
4
Andrey Gladky
KspDevelop@gmail.com
sequence diagram
 Повiдомлення можуть бути або синхронними, звичайного
типу повiдомленнями, за виклику яких керування
передається викликаному об’єкту до завершення
виконання методу, або асинхронними, за виклику яких
керування передається назад напряму об’єкту, який
здiйснював виклик.
 За використання синхронного повiдомлення збоку вiд
викликаного об’єкта буде показано вертикальний блок,
який показуватиме перебiг виконання програми.
Andrey Gladky
KspDevelop@gmail.com 5
Collaboration diagram
 Кооперація (collaboration) - специфікація безлічі об'єктів
окремих класів, спільно взаємодіють з метою реалізації
окремих варіантів використання в загальному контексті
модельованої системи.
 На діаграмі кооперації розміщуються об'єкти, що
представляють собою екземпляри класів, зв'язки між ними, які
в свою чергу є екземплярами асоціацій та повідомлення.
 Зв'язки доповнюються стрілками повідомлень, при цьому
показуються тільки ті об'єкти, які беруть участь у реалізації
модельованої кооперації. Далі, як і на діаграмі класів,
показуються структурні відносини між об'єктами у вигляді
різних з'єднувальних ліній.
 Зв'язки можуть доповнюватися іменами ролей, які грають
об'єкти в даному взаємозв'язку.
Andrey Gladky
KspDevelop@gmail.com 6
7
Andrey Gladky
KspDevelop@gmail.com
Collaboration diagram
 Об'єкт (object) - сутність з добре визначеними кордонами і
індивідуальністю, яка інкапсулює стан і поведінку.
 На діаграмах кооперації можуть зустрітися наступні варіанти
можливих записів повного імені об'єкта:
 о: C - об'єкт із власним ім'ям о, екземпляр класу С.
 : C - анонімний об'єкт, екземпляр класу С.
 о: (або просто о) - об'єкт сирота з власним ім'ям о.
 о / R: C - об'єкт із власним ім'ям о, екземпляр класу С, який грає
роль R.
 / R: C - анонімний об'єкт, екземпляр класу С, який грає роль R.
 о / R - об'єкт сирота з власним ім'ям о, який грає роль R.
 / R - анонімний об'єкт і одночасно об'єкт сирота, який грає роль
R.
Andrey Gladky
KspDevelop@gmail.com 8
9
Andrey Gladky
KspDevelop@gmail.com
Collaboration diagram
 Активний об'єкт (active object) має власний процес управління і
може ініціювати діяльність з управління іншими об'єктами.
 Активний об'єкт на діаграмі кооперації позначається
прямокутником з потовщеними межами. Кожен активний об'єкт
є власником певного процесу управління.
Andrey Gladky
KspDevelop@gmail.com 10
Collaboration diagram
 Мультиоб'ект (multiobject) являє собою безліч анонімних
об'єктів, які можуть бути утворені на основі одного класу.
 На діаграмі кооперації мультіоб'ект використовується для того,
щоб показати операції і сигнали, які адресовані всій множині
анонімних об'єктів. Мультіоб'ект зображується двома
прямокутниками, один з яких виступає через верхній правій
вершини іншого.
Andrey Gladky
KspDevelop@gmail.com 11
Collaboration diagram
 Складений об'єкт (composite object) або об'єкт-композит
призначений для подання об'єкта, що має власну структуру і
внутрішні потоки (нитки) управління.
 Складений об'єкт є екземпляром класу-композиту, який
пов'язаний ставленням композиції зі своїми частинами.
Аналогічні відносини пов'язують між собою і відповідні
об'єкти.
 На діаграмах кооперації такий складений об'єкт зображується
як звичайний об'єкт, що складається з двох секцій: верхньої та
нижньої. У верхній секції записується ім'я складеного об'єкта, а
в нижній - його об'єкти-частини замість списку атрибутів. При
цьому допускається мати в якості частин інші складені об'єкти.
Andrey Gladky
KspDevelop@gmail.com 12
13
Andrey Gladky
KspDevelop@gmail.com
Collaboration diagram
 Зв'язок (link) – будь яке семантичне відношення між деякою
сукупністю об'єктів.
 Зв'язок як елемент мови UML є екземпляром або прикладом
довільної асоціації і може мати місце між двома і більше
об'єктами. Бінарний зв'язок на діаграмі кооперації
зображується відрізком суцільної лінії, що з'єднує два
прямокутника об'єктів. На кінцях цієї лінії додатково можуть
бути явно вказані імена ролей відповідної асоціації.
 Зв'язки не мають власних імен, оскільки ідентичні як
екземпляри деякої асоціації. Іншими словами, всі зв'язки на
діаграмі кооперації можуть бути тільки анонімними і при
необхідності записуються без двокрапки перед ім'ям асоціації.
Andrey Gladky
KspDevelop@gmail.com 14
15
Andrey Gladky
KspDevelop@gmail.com
Collaboration diagram
 Повідомлення (message) - специфікація передачі інформації від
одного елемента моделі до іншого з очікуванням виконання
певних дій з боку приймаючого елемента.
 Суцільна лінія з трикутною стрілкою позначає виклик
процедури (операції) або передачу потоку управління.
Повідомлення цього типу можуть бути використані паралельно
активними об'єктами, коли один з них передає повідомлення
цього типу і очікує, поки не закінчиться деяка послідовність
дій, виконувана другим об'єктом. Зазвичай всі такі
повідомлення синхронні, тобто ініціюються по завершенні
діяльності або при виконанні певної умови.
 Суцільна лінія з V-подібною стрілкою позначає асинхронне
повідомлення у простому потоці управління. У цьому випадку
клієнт передає асинхронне повідомлення і продовжує
виконувати свою діяльність, не чекаючи відповіді від сервера.
Andrey Gladky
KspDevelop@gmail.com 16
Collaboration diagram
 Пунктирна лінія з V-подібною стрілкою позначає повернення з
виклику процедури. Стрілки цього типу часто відсутні на
діаграмах кооперації, оскільки неявно передбачається їх
існування після закінчення процесу виконання операції або
діяльності.
 Кожне повідомлення може бути позначено рядком тексту, яка
має наступний формат:
Andrey Gladky
KspDevelop@gmail.com 17
<Попередні повідомлення> <Вираз послідовності> <значення
що повертається: = ім'я повідомлення> <(Список аргументів)>
Collaboration diagram
 В UML визначені наступні стереотипи повідомлень:
 <<Call>> (викликати) - повідомлення, що вимагає виклику
операції або процедури об'єкта-одержувача. Якщо
повідомлення з цим стереотипом рефлексивне, то воно ініціює
локальний виклик операції у пославшего це повідомлення
об'єкта.
 <<Return>> (повернути) - повідомлення, яке повертає значення
виконаної операції або процедури викликав її об'єкту. Значення
результату може ініціювати розгалуження потоку управління.
 <<Create>> (створити) - повідомлення, що вимагає створення
іншого об'єкта для виконання певних дій. Створений об'єкт
може стати активним (йому передається потік управління), а
може залишития пасивним.
Andrey Gladky
KspDevelop@gmail.com 18
Collaboration diagram
 В UML визначені наступні стереотипи повідомлень:
 <<Destroy>> (знищити) - повідомлення з явним вимогою
знищити відповідний об'єкт. Надсилається в тому випадку, коли
необхідно припинити небажані дії з боку існуючого в системі
об'єкта, або коли об'єкт більше не потрібен і повинен звільнити
задіяні ним системні ресурси.
 <<Send>> (надіслати) - позначає посилку іншому об'єкту
сигналу, який асинхронно ініціюється одним об'єктом і
приймається (перехоплюється) іншим. Відмінність сигналу від
повідомлення полягає в тому, що сигнал повинен бути явно
описаний в тому класі, об'єкт якого ініціює його передачу.
Andrey Gladky
KspDevelop@gmail.com 19

More Related Content

What's hot

Students academic performance using clustering technique
Students academic performance using clustering techniqueStudents academic performance using clustering technique
Students academic performance using clustering techniquesaniacorreya
 
Creating Chart
Creating ChartCreating Chart
Creating Charttieny8085
 
Creating Formulas in Excel
Creating Formulas in ExcelCreating Formulas in Excel
Creating Formulas in ExcelKim Estes
 
Rk event management
Rk event managementRk event management
Rk event managementram
 
Foundation data for ITSM Change Management
Foundation data for ITSM Change ManagementFoundation data for ITSM Change Management
Foundation data for ITSM Change ManagementSaurabh Sole
 
สื่อการสอนม.6
สื่อการสอนม.6สื่อการสอนม.6
สื่อการสอนม.6Tanatchapan Jakmanee
 
Predictive Analytics using Neural Networks
Predictive Analytics using Neural NetworksPredictive Analytics using Neural Networks
Predictive Analytics using Neural NetworksRudradeb Mitra
 
Prototype design patterns
Prototype design patternsPrototype design patterns
Prototype design patternsThaichor Seng
 
Chapter10 conceptual data modeling
Chapter10 conceptual data modelingChapter10 conceptual data modeling
Chapter10 conceptual data modelingDhani Ahmad
 

What's hot (16)

Students academic performance using clustering technique
Students academic performance using clustering techniqueStudents academic performance using clustering technique
Students academic performance using clustering technique
 
Choosing Modeling Techniques
Choosing Modeling TechniquesChoosing Modeling Techniques
Choosing Modeling Techniques
 
Creating Chart
Creating ChartCreating Chart
Creating Chart
 
Ms excel formula
Ms excel formulaMs excel formula
Ms excel formula
 
Creating Formulas in Excel
Creating Formulas in ExcelCreating Formulas in Excel
Creating Formulas in Excel
 
Uml
UmlUml
Uml
 
Rk event management
Rk event managementRk event management
Rk event management
 
Use Case Modeling
Use Case ModelingUse Case Modeling
Use Case Modeling
 
Foundation data for ITSM Change Management
Foundation data for ITSM Change ManagementFoundation data for ITSM Change Management
Foundation data for ITSM Change Management
 
Presentation on uml
Presentation on umlPresentation on uml
Presentation on uml
 
Use case diagram
Use case diagramUse case diagram
Use case diagram
 
สื่อการสอนม.6
สื่อการสอนม.6สื่อการสอนม.6
สื่อการสอนม.6
 
DBMS OF DATA MODEL Deepika 2
DBMS OF DATA MODEL  Deepika 2DBMS OF DATA MODEL  Deepika 2
DBMS OF DATA MODEL Deepika 2
 
Predictive Analytics using Neural Networks
Predictive Analytics using Neural NetworksPredictive Analytics using Neural Networks
Predictive Analytics using Neural Networks
 
Prototype design patterns
Prototype design patternsPrototype design patterns
Prototype design patterns
 
Chapter10 conceptual data modeling
Chapter10 conceptual data modelingChapter10 conceptual data modeling
Chapter10 conceptual data modeling
 

Viewers also liked

Viewers also liked (20)

Prueba
PruebaPrueba
Prueba
 
6396 Tn London Parlament
6396 Tn London Parlament6396 Tn London Parlament
6396 Tn London Parlament
 
Notas Parciales Ii
Notas Parciales IiNotas Parciales Ii
Notas Parciales Ii
 
Assignment 1A Essay Option
Assignment 1A Essay OptionAssignment 1A Essay Option
Assignment 1A Essay Option
 
CREACIÓN DE PÁGINAS WEB EN GOOGLE
CREACIÓN DE PÁGINAS WEB EN GOOGLECREACIÓN DE PÁGINAS WEB EN GOOGLE
CREACIÓN DE PÁGINAS WEB EN GOOGLE
 
Cake
CakeCake
Cake
 
Final1
Final1Final1
Final1
 
Propostes De Lectura Tirant Lo Blanc
Propostes De Lectura Tirant Lo BlancPropostes De Lectura Tirant Lo Blanc
Propostes De Lectura Tirant Lo Blanc
 
Spec00219
Spec00219Spec00219
Spec00219
 
Legcalves Wrkout
Legcalves WrkoutLegcalves Wrkout
Legcalves Wrkout
 
Evolucion de la tecnologia
Evolucion de la tecnologiaEvolucion de la tecnologia
Evolucion de la tecnologia
 
Cob 20090804 2
Cob 20090804 2Cob 20090804 2
Cob 20090804 2
 
Poema De Tardor
Poema De TardorPoema De Tardor
Poema De Tardor
 
Culture Mob Calendar Listing
Culture Mob Calendar ListingCulture Mob Calendar Listing
Culture Mob Calendar Listing
 
Fakempaa
FakempaaFakempaa
Fakempaa
 
Hudson Greene 072
Hudson Greene 072Hudson Greene 072
Hudson Greene 072
 
Dancedevagar
DancedevagarDancedevagar
Dancedevagar
 
Minmax
MinmaxMinmax
Minmax
 
Tutorial fantasy art
Tutorial fantasy artTutorial fantasy art
Tutorial fantasy art
 
Logos Blog
Logos BlogLogos Blog
Logos Blog
 

Similar to Uml module 5

Lection 2
Lection 2Lection 2
Lection 2CDN_IF
 
Название презентации
Название презентацииНазвание презентации
Название презентацииjuliettco
 
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...Oleg Nazarevych
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Andrii Hladkyi
 

Similar to Uml module 5 (10)

Uml module 3
Uml module 3Uml module 3
Uml module 3
 
Uml module 3
Uml module 3Uml module 3
Uml module 3
 
Uml module 3
Uml module 3Uml module 3
Uml module 3
 
Lection 2
Lection 2Lection 2
Lection 2
 
Название презентации
Название презентацииНазвание презентации
Название презентации
 
Prezentation class diagram
Prezentation class diagramPrezentation class diagram
Prezentation class diagram
 
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...
Тема 2. Алгебраїчна система. Відображення логічних моделей даних у вигляді ал...
 
Uml module 2
Uml module 2Uml module 2
Uml module 2
 
Uml module 2
Uml module 2Uml module 2
Uml module 2
 
Net Framework and c# Lesson 1
Net Framework and c# Lesson 1Net Framework and c# Lesson 1
Net Framework and c# Lesson 1
 

More from Andrii Hladkyi

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. SerializationAndrii Hladkyi
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsAndrii Hladkyi
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorAndrii Hladkyi
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. ThreadsAndrii Hladkyi
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. ProcessesAndrii Hladkyi
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsAndrii Hladkyi
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsAndrii Hladkyi
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesAndrii Hladkyi
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOPAndrii Hladkyi
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1Andrii Hladkyi
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+Andrii Hladkyi
 

More from Andrii Hladkyi (20)

Net framework and C# module 17. Serialization
Net framework and  C# module 17. SerializationNet framework and  C# module 17. Serialization
Net framework and C# module 17. Serialization
 
Net Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, AbstractionsNet Framework and C# Module 3 4. Inheritance, Abstractions
Net Framework and C# Module 3 4. Inheritance, Abstractions
 
NET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage CollectorNET Framework and C# Module 12.2. Garbage Collector
NET Framework and C# Module 12.2. Garbage Collector
 
System programing module 2. Threads
System programing module 2. ThreadsSystem programing module 2. Threads
System programing module 2. Threads
 
System programing module 1. Processes
System programing module 1. ProcessesSystem programing module 1. Processes
System programing module 1. Processes
 
NET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. GenericsNET Framework and C# Module 6.2. Generics
NET Framework and C# Module 6.2. Generics
 
NET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, EventsNET Framework and C# Module 6. Delegates, Events
NET Framework and C# Module 6. Delegates, Events
 
NET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. InterfacesNET Framework and C# Module 5. Interfaces
NET Framework and C# Module 5. Interfaces
 
Net Framework and c# module 2. OOP
Net Framework and c# module 2. OOPNet Framework and c# module 2. OOP
Net Framework and c# module 2. OOP
 
Wpf module 2
Wpf module 2Wpf module 2
Wpf module 2
 
Wpf module 1
Wpf module 1Wpf module 1
Wpf module 1
 
Msp module 3
Msp module 3Msp module 3
Msp module 3
 
Msp module 2
Msp module 2Msp module 2
Msp module 2
 
Msp module 1
Msp module 1Msp module 1
Msp module 1
 
Ado.net module 2
Ado.net module 2Ado.net module 2
Ado.net module 2
 
Ado.net module 1
Ado.net module 1Ado.net module 1
Ado.net module 1
 
Design pattern module 1
Design pattern module 1Design pattern module 1
Design pattern module 1
 
Win api module_2.0_gdi+
Win api module_2.0_gdi+Win api module_2.0_gdi+
Win api module_2.0_gdi+
 
Win api module_1.1_ok
Win api module_1.1_okWin api module_1.1_ok
Win api module_1.1_ok
 
Win api module_6.2
Win api module_6.2Win api module_6.2
Win api module_6.2
 

Recently uploaded

Тестування Blockchain - Що там можна тестувати?
Тестування  Blockchain - Що там можна тестувати?Тестування  Blockchain - Що там можна тестувати?
Тестування Blockchain - Що там можна тестувати?Oleksandr Romanov
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil TopchiiFwdays
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym KindritskyiFwdays
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro SpodaretsFwdays
 
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...Fwdays
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...Fwdays
 

Recently uploaded (6)

Тестування Blockchain - Що там можна тестувати?
Тестування  Blockchain - Що там можна тестувати?Тестування  Blockchain - Що там можна тестувати?
Тестування Blockchain - Що там можна тестувати?
 
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
"GenAI Apps: Our Journey from Ideas to Production Excellence",Danil Topchii
 
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi"Distributed graphs and microservices in Prom.ua",  Maksym Kindritskyi
"Distributed graphs and microservices in Prom.ua", Maksym Kindritskyi
 
"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets"What is a RAG system and how to build it",Dmytro Spodarets
"What is a RAG system and how to build it",Dmytro Spodarets
 
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y..."How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
"How Preply reduced ML model development time from 1 month to 1 day",Yevhen Y...
 
"Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl..."Rethinking the existing data loading and processing process as an ETL exampl...
"Rethinking the existing data loading and processing process as an ETL exampl...
 

Uml module 5

  • 1. ООП з використанням UML (Unified Modeling Language) Модуль 5
  • 2. В даному модулі:  Діаграма послідовності (sequence diagram)  Діаграма кооперації (collaboration diagram) Andrey Gladky KspDevelop@gmail.com 2
  • 3. sequence diagram  На дiаграмах послiдовностей буде показано обмiн повiдомленнями (тобто виклик методiв) мiж декiлькома об’єктами у окремiй обмеженiй часом ситуацiї. Об’єкти є екземплярами класiв. Основний наголос на дiаграмах послiдовностей робиться на порядок i моментах часу, у якi повiдомлення надсилаються об’єктам.  На дiаграмах послiдовностей об’єкти буде показано вертикальними штриховими лiнiями з назвою об’єкта над ними. Вiсь часу також має вертикальний напрямок, її спрямовано вниз, повiдомлення, якi надсилаються вiд одного об’єкта до iншого, буде позначено стрiлками з назвами операцiї i параметрiв. Andrey Gladky KspDevelop@gmail.com 3
  • 5. sequence diagram  Повiдомлення можуть бути або синхронними, звичайного типу повiдомленнями, за виклику яких керування передається викликаному об’єкту до завершення виконання методу, або асинхронними, за виклику яких керування передається назад напряму об’єкту, який здiйснював виклик.  За використання синхронного повiдомлення збоку вiд викликаного об’єкта буде показано вертикальний блок, який показуватиме перебiг виконання програми. Andrey Gladky KspDevelop@gmail.com 5
  • 6. Collaboration diagram  Кооперація (collaboration) - специфікація безлічі об'єктів окремих класів, спільно взаємодіють з метою реалізації окремих варіантів використання в загальному контексті модельованої системи.  На діаграмі кооперації розміщуються об'єкти, що представляють собою екземпляри класів, зв'язки між ними, які в свою чергу є екземплярами асоціацій та повідомлення.  Зв'язки доповнюються стрілками повідомлень, при цьому показуються тільки ті об'єкти, які беруть участь у реалізації модельованої кооперації. Далі, як і на діаграмі класів, показуються структурні відносини між об'єктами у вигляді різних з'єднувальних ліній.  Зв'язки можуть доповнюватися іменами ролей, які грають об'єкти в даному взаємозв'язку. Andrey Gladky KspDevelop@gmail.com 6
  • 8. Collaboration diagram  Об'єкт (object) - сутність з добре визначеними кордонами і індивідуальністю, яка інкапсулює стан і поведінку.  На діаграмах кооперації можуть зустрітися наступні варіанти можливих записів повного імені об'єкта:  о: C - об'єкт із власним ім'ям о, екземпляр класу С.  : C - анонімний об'єкт, екземпляр класу С.  о: (або просто о) - об'єкт сирота з власним ім'ям о.  о / R: C - об'єкт із власним ім'ям о, екземпляр класу С, який грає роль R.  / R: C - анонімний об'єкт, екземпляр класу С, який грає роль R.  о / R - об'єкт сирота з власним ім'ям о, який грає роль R.  / R - анонімний об'єкт і одночасно об'єкт сирота, який грає роль R. Andrey Gladky KspDevelop@gmail.com 8
  • 10. Collaboration diagram  Активний об'єкт (active object) має власний процес управління і може ініціювати діяльність з управління іншими об'єктами.  Активний об'єкт на діаграмі кооперації позначається прямокутником з потовщеними межами. Кожен активний об'єкт є власником певного процесу управління. Andrey Gladky KspDevelop@gmail.com 10
  • 11. Collaboration diagram  Мультиоб'ект (multiobject) являє собою безліч анонімних об'єктів, які можуть бути утворені на основі одного класу.  На діаграмі кооперації мультіоб'ект використовується для того, щоб показати операції і сигнали, які адресовані всій множині анонімних об'єктів. Мультіоб'ект зображується двома прямокутниками, один з яких виступає через верхній правій вершини іншого. Andrey Gladky KspDevelop@gmail.com 11
  • 12. Collaboration diagram  Складений об'єкт (composite object) або об'єкт-композит призначений для подання об'єкта, що має власну структуру і внутрішні потоки (нитки) управління.  Складений об'єкт є екземпляром класу-композиту, який пов'язаний ставленням композиції зі своїми частинами. Аналогічні відносини пов'язують між собою і відповідні об'єкти.  На діаграмах кооперації такий складений об'єкт зображується як звичайний об'єкт, що складається з двох секцій: верхньої та нижньої. У верхній секції записується ім'я складеного об'єкта, а в нижній - його об'єкти-частини замість списку атрибутів. При цьому допускається мати в якості частин інші складені об'єкти. Andrey Gladky KspDevelop@gmail.com 12
  • 14. Collaboration diagram  Зв'язок (link) – будь яке семантичне відношення між деякою сукупністю об'єктів.  Зв'язок як елемент мови UML є екземпляром або прикладом довільної асоціації і може мати місце між двома і більше об'єктами. Бінарний зв'язок на діаграмі кооперації зображується відрізком суцільної лінії, що з'єднує два прямокутника об'єктів. На кінцях цієї лінії додатково можуть бути явно вказані імена ролей відповідної асоціації.  Зв'язки не мають власних імен, оскільки ідентичні як екземпляри деякої асоціації. Іншими словами, всі зв'язки на діаграмі кооперації можуть бути тільки анонімними і при необхідності записуються без двокрапки перед ім'ям асоціації. Andrey Gladky KspDevelop@gmail.com 14
  • 16. Collaboration diagram  Повідомлення (message) - специфікація передачі інформації від одного елемента моделі до іншого з очікуванням виконання певних дій з боку приймаючого елемента.  Суцільна лінія з трикутною стрілкою позначає виклик процедури (операції) або передачу потоку управління. Повідомлення цього типу можуть бути використані паралельно активними об'єктами, коли один з них передає повідомлення цього типу і очікує, поки не закінчиться деяка послідовність дій, виконувана другим об'єктом. Зазвичай всі такі повідомлення синхронні, тобто ініціюються по завершенні діяльності або при виконанні певної умови.  Суцільна лінія з V-подібною стрілкою позначає асинхронне повідомлення у простому потоці управління. У цьому випадку клієнт передає асинхронне повідомлення і продовжує виконувати свою діяльність, не чекаючи відповіді від сервера. Andrey Gladky KspDevelop@gmail.com 16
  • 17. Collaboration diagram  Пунктирна лінія з V-подібною стрілкою позначає повернення з виклику процедури. Стрілки цього типу часто відсутні на діаграмах кооперації, оскільки неявно передбачається їх існування після закінчення процесу виконання операції або діяльності.  Кожне повідомлення може бути позначено рядком тексту, яка має наступний формат: Andrey Gladky KspDevelop@gmail.com 17 <Попередні повідомлення> <Вираз послідовності> <значення що повертається: = ім'я повідомлення> <(Список аргументів)>
  • 18. Collaboration diagram  В UML визначені наступні стереотипи повідомлень:  <<Call>> (викликати) - повідомлення, що вимагає виклику операції або процедури об'єкта-одержувача. Якщо повідомлення з цим стереотипом рефлексивне, то воно ініціює локальний виклик операції у пославшего це повідомлення об'єкта.  <<Return>> (повернути) - повідомлення, яке повертає значення виконаної операції або процедури викликав її об'єкту. Значення результату може ініціювати розгалуження потоку управління.  <<Create>> (створити) - повідомлення, що вимагає створення іншого об'єкта для виконання певних дій. Створений об'єкт може стати активним (йому передається потік управління), а може залишития пасивним. Andrey Gladky KspDevelop@gmail.com 18
  • 19. Collaboration diagram  В UML визначені наступні стереотипи повідомлень:  <<Destroy>> (знищити) - повідомлення з явним вимогою знищити відповідний об'єкт. Надсилається в тому випадку, коли необхідно припинити небажані дії з боку існуючого в системі об'єкта, або коли об'єкт більше не потрібен і повинен звільнити задіяні ним системні ресурси.  <<Send>> (надіслати) - позначає посилку іншому об'єкту сигналу, який асинхронно ініціюється одним об'єктом і приймається (перехоплюється) іншим. Відмінність сигналу від повідомлення полягає в тому, що сигнал повинен бути явно описаний в тому класі, об'єкт якого ініціює його передачу. Andrey Gladky KspDevelop@gmail.com 19