Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Самовчитель по UML.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Мал. 8.7. Діаграма послідовності із стереотипними значеннями повідомлень

Тимчасові обмеження на діаграмах послідовності

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

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

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

{время_приема_сообщения время_отправки_сообщения ‹1  сік.}

{время_ожидания_ответа ‹5  сік.}

{время_передачи_пакета ‹10  сік.}

{объект_1. время_подачи_сигнала_тревоги‑ 30  сік.}

Примітка

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

Коментарі або примітки

Коментарі або примітки вже розглядалися раніше при вивченні інших видів діаграм. Вони можуть включатися і в діаграми послідовності, асоціюючись з окремими об'єктами або повідомленнями. При цьому використовується стандартне позначення для коментаря – прямокутник з «заламаним» правим верхнім кутом. Усередині цього прямокутника записується текст коментаря на природному язиці.

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

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

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

Мал. 8.8. Початковий фрагмент діаграми послідовності для моделювання телефонної розмови

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

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

Після створення анонімний об'єкт «розмову» відразу одержує фокус активності і посилає повідомлення телефонному апарату d на виконання дії – дзвінка виклику. При цьому другий абонент знімає трубку (асинхронне повідомлення), тим самим встановлюється пряме з'єднання між абонентами а і Ь. После того як абоненти опустять трубки, розмова закінчується. Тим самим об'єкт «розмова» знищується. Остаточний варіант діаграми послідовності може містити деякі тимчасові обмеження і коментарі (мал. 8.10). Призначення окремих повідомлень відповідають розглянутим діям.

Мал. 8.9. Доповнений фрагмент діаграми послідовності для моделювання телефонної розмови

Мал. 8.10. Остаточний варіант діаграми послідовності для моделювання телефонної розмови

Примітка

Доповнити діаграму послідовності для цього прикладу тимчасовими обмеженнями пропонується виконати самостійно як вправа.