Диаграммы состояний

Диаграммы состояний

Для определения требований недостаточно иметь только функциональные модели и модели потоков данных. Необходимо также рассмотреть поведение системы в различных ситуациях, имея в виду, что при этом система может находиться в конечном числе возможных состояний.
Внешние события для системы могут служить триггерами, которые, срабатывая, переводят систему из одного состояния в другое. Для того чтобы рассмотреть систему в данном аспекте необходимо наглядно представить возможные состояния системы и ее реакцию на внешние события в разных состояниях. Обычно для этого используются диаграммы состояний (statecharts) Харела (Harel).
Диаграммы состояний обеспечивают описание поведения системы. В рамках одной диаграммы состояний может быть показана вся иерархия состояний системы и последовательность переходов системы из одного состояния в другое. Тем не менее, диаграммы состояний могут также использоваться и для описания систем, внутри которых возможно протекание параллельных процессов. На диаграмме состояний прямоугольником с закругленными углами обозначается состояние.
Рис. 3.11 Диаграмма состояний для полета самолета.
Иерархия состояний отображается путем включения одного состояния в другое и направленными стрелками, причем подписи к стрелкам являются описаниями событий, символизирующими переход между состояниями.
Поскольку диаграммы состояний описывают состояния системы, события и переходы между состояниями системы, то это делает их пригодными для моделирования систем.
На рис. 3.11 изображена диаграмма состояний, соответствующая полету самолета.
Два состояния верхнего уровня это - «на земле» и «в воздухе», между которыми определены переходы. Внутри состояния «в воздухе» существует три других независимых состояния, а внутри состояния «на земле» существуют состояния «готовность к рулению» и «на взлетно-посадочной полосе». При этом внутри состояний «готовность к рулению» и «на взлетно-посадочной полосе» также имеются собственные вложенные состояния.
Система переходит в состояние «в воздухе» когда колеса самолета отрываются от земли, а когда колеса касаются земли, система возвращается в состояние «на земле». Далее эти состояния детализируются в иерархическом порядке.
Диаграммы состояний имеют еще одну важную составляющую нотации - историю (history).
Здесь имеется в виду следующее.
Если имеется некое состояние, которое на диаграмме помечается специальным значком (H), то при возвращении системы в это состояние все вложенные состояния внутри этого Нсостояния также считаются перешедшими в это первичное состояние.