Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема5.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.83 Mб
Скачать

Тема 5. Структура і послідовність складання динамічної моделі системи

  1. Події, стан об’єктів та діаграми станів.

  2. Умови.

  3. Активність та дії.

  4. Одночасні події. Синхронізація.

  5. Укладені діаграми станів.

  6. Приклад динамічної моделі.

[1; 3; 6; 11]

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

5.1. Події, стан об’єктів та діаграми станів

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

Події

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

Одна з подій може або логічно передувати іншій, або наставати слідом за іншою, або вони можуть бути незалежними. Прикладами логічно (причинно) пов’язаних між собою подій є старт і фініш одного забігу, початок проведення та видача грошей клієнтові (у результаті цього проведення), прикладами незалежних подій — старт ракети та фініш забігу; проведення, запущені з різних АТМ, і т. ін. Події, які не мають причинного зв’язку (тобто є логічно незалежними), називаються незалежними (concurrent). Такі події не впливають одна на одну. Щодо незалежних подій не має сенсу говорити про впорядкування, оскільки вони відбуваються в довільному порядку.

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

Сценарії та траси подій

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

Приклад сценарію з використання телефонної мережі ілюструє рис. 45. Кожна подія в цьому сценарії передає інформацію з одного об’єкта до іншого: наприклад, подія «починається довгий гудок» передає сигнал від телефонної мережі до того, хто викликає (користувача). Під час аналізу динаміки роботи системи необхідно скласти та розглянути кілька сценаріїв, що відповідають типовим варіантам її роботи.

Викликаючий знімає трубку

Починається довгий гудок

Викликаючий набирає цифру (9)

Гудок припиняється

Викликаючий набирає цифру (3)

Викликаючий набирає цифру (9)

Викликаючий набирає цифру ( )

Викликаючий набирає цифру ( )

Викликаючий набирає цифру ( )

Викликаючий набирає цифру ( )

Викликаний телефон починає дзвонити

Викликаний чує гудки

Викликаний телефон відповідає

Гудки припиняються

Телефони з’єднані

Викликаний по телефону кладе трубку

Телефони роз’єднані

Викликаючий кладе трубку

Рис. 45. Приклад сценарію «телефонна розмова»

Наступним етапом після розробки та аналізу сценаріїв є визначення об’єктів, які генерують та приймають кожну подію сценарію. Послідовності подій з прив’язуванням до об’єктів проектованої системи зручно подавати на діаграмах, які називають трасами подій. Приклад траси подій для телефонної розмови наведено на рис. 46. Вертикальні лінії зображають на цій діаграмі об’єкти, а горизонтальні стрілки — події (стрілка починається в об’єкті, який генерує подію, та закінчується в об’єкті, який приймає подію). Більш пізні події розміщені нижче від більш ранніх, одночасні — на одному рівні.

Рис. 46. Траса подій для розмови по телефону

Стани

Стан визначається сукупністю поточних значень атрибутів та зв’язків об’єкта. Наприклад, банк може мати стан «платоспроможний» та «неплатоспроможний» (коли більша частина банків одночасно перебувають у стані неплатоспроможності, настає банківська криза).

Стан визначає реакцію об’єкта на подію, що впливає на нього (у тому, що реакція буває різна, легко переконатися за допомогою банківської картки: залежно від стану банку, його обслуговування (реакція банку на пред’явлення картки) буде різним. Реакція об’єкта на певний стан може бути така: деякі дії і/або перехід до нового стану.

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

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

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