Діаграма стану автомата та діаграма стану в UML
Що таке діаграма кінцевого автомата?
Діаграма стану використовуються для фіксації поведінки програмної системи. Діаграми кінцевого автомата UML можна використовувати для моделювання поведінки класу, підсистеми, пакету або навіть усієї системи. Її також називають діаграмою стану або діаграмою переходу стану.
Що таке діаграма стану?
Діаграми станів надають нам ефективний спосіб моделювання взаємодій або зв’язку, які відбуваються всередині зовнішніх об’єктів і системи. Ці діаграми використовуються для моделювання подійної системи. Станом об'єкта керують за допомогою події. Діаграми станів використовуються для опису різних станів сутності в прикладній системі.
Всього в UML існує два типи діаграм кінцевого автомата:
1. Поведінкова діаграма стану машини
- Він фіксує поведінку об’єкта, присутнього в системі.
- Він використовується для представлення конкретної реалізації елемента.
- Поведінка системи може бути змодельована за допомогою діаграми поведінкового автомата в OOAD.
2. Діаграма стану протоколу
- Ці діаграми використовуються для фіксації поведінки протоколу.
- Він показує, як змінюється стан протоколу щодо події. Він також представляє відповідні зміни в системі.
- Вони не представляють конкретну реалізацію елемента.
Чому діаграма кінцевого автомата?
Діаграма стану використовується для відображення динамічного аспекту системи. Діаграми кінцевого автомата використовуються для представлення поведінки програми. Протягом свого життя предмет проходить різні стани. Тривалість життя об'єкта зберігається до завершення програми. Об’єкт переходить із кількох станів залежно від події, яка відбувається в об’єкті. Кожен стан представляє певну унікальну інформацію про об'єкт.
Діаграми станів використовуються для розробки інтерактивних систем, які реагують на внутрішні або зовнішні події. Діаграма станів в UML візуалізує потік виконання від одного стану до іншого стану об’єкта.
Він представляє стан об’єкта від моменту створення об’єкта до моменту його знищення або ліквідації.
Основне призначення діаграми станів — моделювання інтерактивних систем і визначення кожного стану об’єкта. Діаграми станів призначені для відображення динамічної поведінки прикладної системи. Ці діаграми використовуються для представлення різних станів системи та об’єктів у системі.
Нотація та символ для діаграми кінцевого автомата (діаграма станів)
Нижче наведено різні позначення, які використовуються на діаграмі станів. Усі ці позначення в сукупності складають єдину діаграму.
Початковий стан
Символ початкового стану використовується для позначення початку діаграми кінцевого автомата.
Кінцевий стан
Цей символ використовується для позначення кінця діаграми кінцевого автомата.
Коробка рішень
Він містить умову. Залежно від результату оціненої захисної умови для виконання програми вибирається новий шлях.
Transition
Перехід - це зміна одного стану в інший, що відбувається внаслідок якоїсь події. Перехід викликає зміну стану об’єкта.
Державна скринька
Це певний момент у житті об'єкта. Він визначається за допомогою певної умови або оператора в тілі класифікатора. Він використовується для представлення будь-яких статичних і динамічних ситуацій.
Позначається за допомогою прямокутника із закругленими кутами. Всередині округленого прямокутника записується назва штату.
Назву штату також можна розмістити за межами прямокутника. Це можна зробити у випадку композитного або субмашинного станів. Назву штату можна розмістити всередині прямокутника або поза прямокутником у табличному полі. Не можна виконувати обидва одночасно.
Стан може бути як активним, так і неактивним. Коли стан знаходиться в робочому режимі, він активний, як тільки він припиняє виконання і переходить в інший стан, попередній стан стає неактивним, а поточний стан стає активним.
Типи держави
Уніфікована мова моделювання визначає три типи станів:
- Простий стан
- Вони не мають жодної піддержави.
- Складений стан
- Ці типи станів можуть мати один або більше ніж один підстан.
- Складений стан з двома або більше підстанами називається ортогональним станом.
- Підмашинний стан
- Ці стани семантично дорівнюють складеним станам.
- На відміну від складеного стану, ми можемо повторно використовувати стани підмашини.
Як намалювати діаграму стану?
Діаграми станів використовуються для опису різних станів, через які проходить об’єкт. Перехід між одним станом в інший відбувається через якусь спровоковану подію. Щоб намалювати діаграму стану в UML-, необхідно ідентифікувати всі можливі стани будь-якої конкретної сутності.
Мета цих UML діаграми полягає в представленні станів системи. Стани відіграють важливу роль у діаграмах переходів станів. Усі основні об’єкти, стани та події, які викликають зміни в межах станів, необхідно спочатку проаналізувати перед впровадженням діаграми.
При складанні діаграми стану необхідно враховувати наступні правила:
- Назва переходу стану має бути унікальною.
- Назва держави має бути легко зрозумілою та описувати поведінку держави.
- Якщо є кілька об’єктів, то слід реалізувати лише основні об’єкти.
- Необхідно вказати власні назви для кожного переходу та події.
Коли використовувати діаграму кінцевого автомата?
Діаграми станів використовуються для глибокої реалізації робочих моделей реального життя та об’єктно-орієнтованих систем. Ці діаграми використовуються для порівняння динамічної та статичної природи системи шляхом відображення динамічної поведінки системи.
Діаграми станів використовуються для відображення змін у різних об’єктах системи від початку до кінця. Вони використовуються для аналізу того, як подія може викликати зміни в кількох станах системи.
Використовуються діаграми стану символів:
- Моделювати об’єкти системи.
- Моделювати та впроваджувати інтерактивні системи.
- Для відображення подій, які викликають зміни в межах штатів.
Приклад державної машини
Наступний приклад діаграми стану відображає процес автентифікації користувача.
Загалом існує два стани, і перший стан вказує на те, що спочатку потрібно ввести OTP. Після цього OTP перевіряється у вікні прийняття рішення, якщо він правильний, то відбудеться лише перехід стану, і користувач буде підтверджений. Якщо OTP неправильний, перехід не відбудеться, і він знову повернеться до початкового стану, доки користувач не введе правильний OTP, як показано на прикладі схеми кінцевого автомата.
Діаграма кінцевого автомата проти блок-схеми
Нижче наведено основні відмінності між діаграмою стану та блок-схемою
Діаграма державного автомата | Блок-схема |
---|---|
Він представляє різні стани системи. | Блок-схема ілюструє потік виконання програми. |
Кінцевий автомат має концепцію WAIT, тобто очікування дії або події. | Блок-схема не стосується очікування концепції. |
Автомати стану використовуються для живої працюючої системи. | Блок-схема візуалізує послідовності розгалуження системи. |
Кінцевий автомат є моделюючою діаграмою. | Блок-схема — це послідовність потоків або діаграма DFD. |
Кінцевий автомат може досліджувати різні стани системи. | Блок-схема стосується шляхів і контролю потоку. |
Підсумки
- Діаграми станів також називаються діаграмами кінцевих автоматів.
- Ці діаграми використовуються для моделювання подійної системи.
- Стан сутності контролюється за допомогою події.
- Всього існує два типи діаграм кінцевого автомата: 1) діаграма поведінкового автомата 2) діаграма кінцевого автомата протоколу
- Діаграма стану використовується для відображення динамічного аспекту системи.
- Стан - це певний момент у тривалості життя об'єкта.