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

4.2.2 Стани, діаграма станів

Стан – абстракція значень та зв’язків об’єкта. Множина значень та зв’язків групуються у стан у відповідності до масової поведінки об’єкта, його реакції на події. Наприклад, об’єкт Принтер може знаходитися в станах Вимкнений, ПідготовкаДоРоботи, Готовий, ЗакінчивсяПапір, ВідсутніЧорнила, ВПроцесіДруку та інших.

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

На діаграмі станів стани зображуются в вигляді прямокутника зі скругленими кутами (рис 4.1).

Рисунок 4.1 – Умовне позначення станів на діаграмі станів

4.2.3 Переходи та умови

Перехдом називається миттєва зміна одного стану іншим. Перехід активується, коли трапляється пов’язана з ним подія. Наприклад, Телефон переходить зі стану Розмова у стан Очікування, коли виникає подія Користувач поклав слухавку. Дії, що виконуються при переході залежать від поточного стану об’єкту та, власне, події. Одна подія може викликати переходи одразу в декількох об’єктах; такі переходи можуть вважатися одночасними.

Сторожова умова – логічний вираз, що має виконатися для того, щоб було запущено пов’язаний перехід. Перехід зі сторожовою умовою запускається в момент виникнення певної події, але якщо тільки сторожова умова на цей момент буде істинною. Наприклад, перехід об’єкту Банкомат зі стану Авторизація в стан Обслуговування можливий лише за виконання сторожової умови Користувач ввів правильний pin-код.

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

Рисунок 4.2 – Приклад діаграми станів з визначеними переходами та сторожовоми умовами

4.2.4 Діяльність на діаграмі станів

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

Діяльність позначається похилою рискою (/), після якої ставиться назва чи опис діяльності. Діяльність вказується після події, яка її викликає. Ключове слово do використовується для позначення поточної діяльності.

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

Крім зазначених випадків, можна визначити діяльність при вході та виході зі стану. Діяльність при вході визначається за допомогою ключового слова entry, а діяльність при виході – за допомогою ключового слова exit. Варто зауважити, що entry та exit є лише конкретними випадками подій всередині стану і крім них можуть бути вказані і інші події, визначені проектувальником.

Якщо до стану відносяться кілька діяльностей, вони виконуються по черзі: діяльність при вхідному переході, діяльність при вході, поточна діяльність, діяльність при виході, діяльність при вихідному переході. Події, що викликають перехід зі стану можуть переривати поточну діяльність. В будь якому випадку, діяльність при виході буде виконано до початку переходу зі стану.

Рис. 4.3 відображає фрагмент діаграми станів з різні варіантами діяльностей.

Рисунок 4.3 – Приклад діаграми станів з різними видами діяльності