Диаграмма состояний отображает поведение объектов одного класса в динамике, связь состояний объектов с событиями и определяет:
· какие типичные состояния проходит объект;
· какие события ведут к изменению состояния объекта;
· какие действия объект выполняет, когда он получает сообщение об изменении состояния;
Входная точка | |
Состояние | |
Переход состояний | |
Выходная точка |
· как объекты создаются и уничтожаются (входные и выходные точки диаграммы).
Ниже представлены используемые в диаграмме состояний понятия и их графическое обозначение:
Входная точка определяет событие, которое образует начальное состояние объекта. В точку входа нельзя перейти из состояния объекта.
Выходная точка определяет завершение существования объекта. Из точки выхода нет перехода состояния.
Состояние представляет ситуацию, в течение которой выполняется непрерывная деятельность или объект находится в стационарном положении. Состояние определяется как набор значений атрибутов и отношений, связанных с объектом. Имя состояния должно быть уникальным только внутри класса объекта, для которого оно определяется.
|
|
С каждым состоянием связано одно событие или более, которые могут его изменить. Для состояния задаются имена всех связанных с ним переходов в другие состояния.
Переход состояний определяет изменение в состоянии объекта, которое происходит в результате события, возникшего в то время, когда объект находился в данном состоянии. Каждый переход состояний должен иметь уникальное имя.
Переход состояний описывается следующими атрибутами:
Назначение - состояние объекта, в которое перейдет объект после перехода состояния.
Вызов - имя события, которое вызывает переход состояний. Имена событий должны быть идентичными в определении класса и состояния. Вызываемые события могут быть либо внешними, осуществляемыми актерами, либо внутренними, связанными с поведением других объектов, либо временными, связанными с истечением заданного интервала времени.
Условие перехода - это логическое выражение, связанное с атрибутами объекта, которое должно быть проверено для выбора перехода состояния. Условие перехода задается в том случае, если происходит событие, в результате которого может произойти неоднозначный переход состояний. Условия переходов для одного исходного состояния должны быть взаимоисключающими.
Действие - атрибут, информационно описывающий сущность действия, которое должно выполняться при переходе состояний. Этому действию будет соответствовать некоторая процедура, реализующая метод класса объектов.
|
|
Переход состояний графически помечается меткой линии, на которой задается по крайней мере один из следующих атрибутов:
Вызов, Условие перехода, Действие.
Пример модели перехода состояний представлен на рис. 13.12.
Рис. 13.12. Пример диаграммы состояний для объекта «строка заказа»