4. Диаграмма не должна содержать изолированных состояний и переходов. Переходы и их спецификация должны быть заданы таким образом, чтобы на графе каждое состояние было потенциально достижимо из начального и из любого состояния было потенциально достижимо конечное. На рис. 12.12 из состояния 2 нет пути в конечное, а из начального состояния нет пути в состояние 3.
Рис. 12.12. Пример неправильно составленной диаграммы
5. В каждый момент времени автомат или подавтомат должен находиться только в одном состоянии. Это означает, что спецификация переходов из одного состояния не должна допускать потенциальной возможности перехода в два и более состояний. На рис. 35 приведены примеры фрагментов диаграмм с конфликтными переходами.
Рис. 12.13. Фрагменты диаграмм с конфликтными переходами
Исключением из этого правила является параллельный переход в подсостояния параллельных подавтоматов одного составного состояния.
12.4. Примеры построения диаграммы состояний
Детализация вариантов использования с помощью диаграмм состояний позволяет более наглядно отобразить логику их реализации в системе (компоненте). С этой целью на диаграмме указывается основной и альтернативные потоки событий как последовательности состояний и переходов. Основной поток лучше отображать прямыми стрелками, а альтернативные – загнутыми.
Диаграмма на рис. 12.14, с одной стороны, описывает поведение, реализуемое в рамках варианта использования, а с другой стороны, может расцениваться как описание поведения компонента (подсистемы) или системы.
Рис. 12.14. Пример детализации варианта использования
Узлы, входящие в состав системы и представляющие собой различные аппаратные устройства, как правило, характеризуются богатым набором состояний. Диаграммы состояний являются удобным инструментом анализа, проектирования и реализации их поведения. Например, банкомат, сопряженный с информационной системой, может характеризоваться состояниями «инициализация», «ожидание», «прием карточки», «обработка банковской транзакции», «выдача наличных» и т. д.