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

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

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

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

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

Слід обов'язково перевіряти, щоб жодні два переходи з одного стану не спрацювали одночасно (вимога відсутності конфліктів у переходів). Наявність такого конфлікту може бути ознакою помилки або неявної паралельності типа галуження даного процесу на два і більше підавтомати. Якщо паралельність за задумом розробника відсутня, то необхідно ввести додаткові сторожові умови або змінити що існують, щоб виключити конфлікт переходів. За наявності паралельності слід замінити конфліктуючі переходи одним паралельним переходом типу галуження.

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

Про деякі додаткові конструкції автоматів, такі як точки динамічного вибору (dynamic choice points) або точки з'єднання (junction points) можна прочитати в оригінальній документації по мові UML. (Вони дозволяють моделювати складніші аспекти динамічного управління поведінкою об'єкту, не є базовими.)

12

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