Технологии разработки программного обеспечения


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


Диаграмма схем состояний — одна из пяти диаграмм UML, моделирующих динамику систем. Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат — поведение, которое определяет последовательность состояний в ходе существования объекта. Эта последовательность рассматривается как ответ на события и включает реакции на эти события.

Диаграмма схем состояний показывает:

1) набор состояний системы;

2) события, которые вызывают переход из одного состояния в другое;

3) действия, которые происходят в результате изменения состояния.

В языке UML состоянием называют период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию, выполняет определенную деятельность или ожидает некоторого события. Как показано на рис. 12.1, состояние изображается как закругленный прямоугольник, обычно включающий его имя и подсостоя-ния (если они есть).

Рис. 12.1. Обозначение состояния

Переходы между состояниями отображаются помеченными стрелками (рис. 12.2).

Рис. 12.2. Переходы между состояниями

На рис. 12.2 обозначено: Событие — происшествие, вызывающее изменение состояния, Действие — набор операций, запускаемых событием.

Иначе говоря, события вызывают переходы, а действия являются реакциями на переходы.

Примеры событий:

баланс < 0

помехи

уменьшить(Давление)

after (5 seconds)

when (time = 16:30)

Изменение в состоянии

Сигнал (объект с именем)

Вызов действия

Истечение периода времени

Наступление абсолютного момента времени

Примеры действий:

Кассир. прекратитьВыплаты( )

flt:= new(Фильтp); Ш.убратьПомехи( )

send Ник. привет

Вызов одной операции

Вызов двух операций

Посылка сигнала в объект Ник

 

ПРИМЕЧАНИЕ

Для отображения посылки сигнала используют специальное обозначение — перед именем сигнала указывают служебное слово send.

Для отображения перехода в начальное состояние принято обозначение, показанное на рис. 12.3.

Рис. 12.3. Переход в начальное состояние




- Начало -  - Назад -  - Вперед -