Диаграмма конечного автомата и диаграмма состояний в UML
Что такое диаграмма конечного автомата?
Диаграмма состояния используются для фиксации поведения программной системы. Диаграммы конечных автоматов UML можно использовать для моделирования поведения класса, подсистемы, пакета или даже всей системы. Ее также называют диаграммой состояний или диаграммой перехода состояний.
Что такое диаграмма состояний?
Диаграммы состояний предоставляют нам эффективный способ моделирования взаимодействий или коммуникаций, происходящих внутри внешних объектов и системы. Эти диаграммы используются для моделирования системы, основанной на событиях. Состояние объекта контролируется с помощью события. Диаграммы состояний используются для описания различных состояний объекта в прикладной системе.
Всего в UML существует два типа диаграмм конечных автоматов:
1. Диаграмма поведенческого автомата
- Он фиксирует поведение объекта, присутствующего в системе.
- Он используется для представления конкретной реализации элемента.
- Поведение системы можно смоделировать с помощью диаграммы поведенческого автомата в OOAD.
2. Схема конечного автомата протокола
- Эти диаграммы используются для отображения поведения протокола.
- Он показывает, как изменяется состояние протокола относительно события. Он также представляет соответствующие изменения в системе.
- Они не представляют конкретную реализацию элемента.
Почему диаграмма конечного автомата?
Диаграмма состояний используется для отражения динамического аспекта системы. Диаграммы конечных автоматов используются для представления поведения приложения. В течение своей жизни объект проходит различные состояния. Срок жизни объекта сохраняется до тех пор, пока программа не будет завершена. Объект переходит из нескольких состояний в зависимости от события, происходящего внутри объекта. Каждое состояние представляет некоторую уникальную информацию об объекте.
Диаграммы состояний используются для проектирования интерактивных систем, реагирующих на внутренние или внешние события. Диаграмма состояний в UML визуализирует поток выполнения от одного состояния объекта к другому.
Он представляет состояние объекта с момента создания объекта до его уничтожения или прекращения работы.
Основная цель диаграммы состояний — моделировать интерактивные системы и определять каждое состояние объекта. Диаграммы состояний предназначены для отображения динамического поведения прикладной системы. Эти диаграммы используются для представления различных состояний системы и объектов в системе.
Обозначение и символ для диаграммы состояний (диаграммы состояний)
Ниже приведены различные обозначения, которые используются на диаграмме состояний. Все эти обозначения в совокупности составляют единую диаграмму.

Начальное состояние
Символ начального состояния используется для обозначения начала диаграммы конечного автомата.
Конечное состояние
Этот символ используется для обозначения конца диаграммы конечного автомата.
Коробка решений
Он содержит условие. В зависимости от результата оцененного защитного условия выбирается новый путь для выполнения программы.
Переход
Переход – это изменение одного состояния в другое, происходящее вследствие какого-либо события. Переход вызывает изменение состояния объекта.
Государственная ячейка
Это конкретный момент жизни объекта. Он определяется с помощью некоторого условия или оператора в теле классификатора. Он используется для представления любых статических, а также динамических ситуаций.
Обозначается прямоугольником с закругленными углами. Название штата написано внутри закругленного прямоугольника.
Название штата также можно разместить за пределами прямоугольника. Это можно сделать в случае составных или субмашинных состояний. Название штата можно поместить либо внутри прямоугольника, либо за его пределами в табличном поле. Нельзя выполнять и то, и другое одновременно.
Состояние может быть активным или неактивным. Когда состояние находится в рабочем режиме, оно активно, как только оно прекращает выполнение и переходит в другое состояние, предыдущее состояние становится неактивным, а текущее состояние становится активным.
Типы государства
Унифицированный язык моделирования определяет три типа состояний:
- Простое состояние
- У них нет никакого подгосударства.
- Составное состояние
- Эти типы состояний могут иметь одно или несколько подсостояний.
- Составное состояние с двумя или более подсостояниями называется ортогональным состоянием.
- Состояние автомата
- Эти состояния семантически равны составным состояниям.
- В отличие от составного состояния, мы можем повторно использовать состояния субмашин.
Как нарисовать диаграмму состояний?
Диаграммы состояний используются для описания различных состояний, через которые проходит объект. Переход из одного состояния в другое происходит из-за какого-либо инициирующего события. Чтобы нарисовать диаграмму состояний в UML-, необходимо идентифицировать все возможные состояния любого конкретного объекта.
Цель этих UML-диаграммы предназначен для представления состояний системы. Государства играют жизненно важную роль в диаграммах перехода состояний. Перед реализацией диаграммы необходимо сначала проанализировать все существенные объекты, состояния и события, вызывающие изменения внутри состояний.
При построении диаграммы состояний необходимо учитывать следующие правила:
- Имя перехода между состояниями должно быть уникальным.
- Название состояния должно быть легко понятным и описывать поведение состояния.
- Если объектов несколько, следует реализовать только существенные объекты.
- Для каждого перехода и события должны быть заданы собственные имена.
Когда использовать диаграмму конечного автомата?
Диаграммы состояний используются для более глубокой реализации реальных рабочих моделей и объектно-ориентированных систем. Эти диаграммы используются для сравнения динамической и статической природы системы путем отражения динамического поведения системы.
Диаграммы состояний используются для фиксации изменений в различных объектах системы от начала до конца. Они используются для анализа того, как событие может вызвать изменения в нескольких состояниях системы.
Диаграммы состояний используются:
- Моделировать объекты системы.
- Моделировать и внедрять интерактивные системы.
- Для отображения событий, которые вызывают изменения внутри состояний.
Пример конечного автомата
Следующий пример диаграммы состояний представляет процесс аутентификации пользователя.
Всего существует два состояния, и первое состояние указывает, что сначала необходимо ввести OTP. После этого в поле решения проверяется OTP, если он правильный, то произойдет только переход состояния, и пользователь будет проверен. Если OTP неверен, переход не произойдет и он снова вернется в исходное состояние, пока пользователь не введет правильный OTP, как показано в приведенном выше примере схемы конечного автомата.
Диаграмма конечного автомата и блок-схема
Ниже приведены ключевые различия между диаграммой состояний и блок-схемой.
| Диаграмма конечного автомата | блок-схема |
|---|---|
| Он представляет различные состояния системы. | Блок-схема иллюстрирует процесс выполнения программы. |
| Конечный автомат имеет концепцию WAIT, т. е. ожидание действия или события. | Блок-схема не предполагает ожидания концепции. |
| Конечные автоматы используются для работающей системы. | Блок-схема визуализирует последовательности ветвления системы. |
| Конечный автомат представляет собой диаграмму моделирования. | Блок-схема — это поток последовательности или диаграмма DFD. |
| Конечный автомат может исследовать различные состояния системы. | Блок-схема описывает пути и поток управления. |
Резюме
- Диаграммы состояний также называются диаграммами конечных автоматов.
- Эти диаграммы используются для моделирования системы, основанной на событиях.
- Состояние сущности контролируется с помощью события.
- Всего существует два типа диаграмм конечных автоматов: 1) Диаграмма поведенческого автомата 2) Диаграмма конечного автомата протокола
- Диаграмма состояний используется для отражения динамического аспекта системы.
- Состояние — это конкретный момент жизни объекта.
