Тема: ДІАГРАМИ ПЕРЕХОДІВ СТАНІВ

Лекція 12

Діаграма переходів станів (SDT)демонструє поведінку майбутньої програмної системи, при отриманні керуючих дій (ззовні) [ 11].

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

Умовні позначення, які використовуються при побудові діаграм переходів станів, показані на рис. 12.1.

Якщо програмна система в процесі функціонування активно не взаємодіє з навколишнім середовищем (користувачем або давачами), наприклад, використовує примітивний інтерфейс і виконує деякі обчислення за заданими початковими даними, то діаграма переходів станів зазвичай інтересу не представляє. В цьому випадку вона демонструє тільки послідовно виконувані переходи: з початкового стану в стан введення даних потім після виконання обчислень - в стан виводу і, нарешті, в стан завершення роботи (рис. 12.2).

Для інтерактивного програмного забезпечення з розвиненим призначеним для користувача інтерфейсом основні керуючі дії - команди користувача, для програмного забезпечення реального часу — сигнали від давачів і/або оператора виробничого процесу. Загальним для цих типів програмного забезпечення є наявність стану очікування, коли програмне забезпечення припиняє працювати до отримання чергової керуючої дії. Для інтерактивного програмного забезпечення найбільш характерне отримання команд різних типів (рис. 12.3), а якщо це ще і програмне забезпечення реального часу - однотипних сигналів (або від багатьох давачів, або потребуючих тривалої обробки).

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

 


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

Приклад 12.1.Розглянемо діаграму переходів станів для програми побудови графіків функцій однієї змінної.

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

 

 


Приводимо приклад діаграми переходів станів торгового автомата, який активно взаємодіє з навколишнім середовищем (рис.12.5).

 

 

Рисунок 12.5 – Діаграма переходів станів

торгового автомату

Контрольні запитання та завдання:

 

  1. Що показує діаграма переходів станів?
  2. Що означає стан очікування?
  3. Побудуйте діаграму переходів станів для прикладу процесу складання розкладу для студентів.