Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
215
Добавлен:
22.08.2013
Размер:
297.12 Кб
Скачать

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

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

Эти диаграммы относятся к динамическому виду системы, особенно важна их роль при моделировании поведения интерфейса, класса или кооперации. Они заостряют внимание на поведении объекта, которое в свою очередь зависят от последовательности событий, что очень полезно при моделировании реактивных систем.

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

Элементы диаграммы состояний (слайд 11).

Состояние – условие или ситуация в ходе жизненного цикла объекта, в течение которого он удовлетворяет логическому условию, выполняет определенную деятельность или ожидает события.

Начальное состояние соответствует состоянию объекта, когда он толь­ко что был создан. На диаграмме состояний может быть только одно начальное состояние.

Конечное состояние соответствует состоянию объекта непос­редственно перед его уничтожением. На диаграмме состояний конечных состо­яний может быть столько, сколько нужно, или их может не быть вообще.

Внутренняя деятельность — это поведение, реализуемое объек­том, пока он находится в данном состоянии. Деятельность — это прерываемое поведение. Оно может выполняться до своего завершения, пока объект находится в данном состоянии, или может быть прервано переходом объекта в другое состояние.

Входное действие (entry action) — это поведение, которое вы­полняется, когда объект переходит в данное состояние. Данное действие осуществляется не после того, как объект перешел в это состояние, а, скорее, как часть этого перехода. В отличие от дея­тельности входное действие рассматривается как непрерываемое.

Выходное действие (exit action) подобно входному, однако оно осуществляется как составная часть процесса выхода из данного состояния. Оно является частью про­цесса такого перехода. Как и входное, выходное действие являет­ся непрерываемым.

Переходом (transition) называется перемещение объекта из од­ного состояния в другое.

Переходы могут быть рефлексивными. Объект может перейти в то же состояние, в котором он в настоящий момент находится.

Событие (event) вызывает переход из одного состояния в дру­гое.

Большинство переходов должны иметь события, так как именно они, прежде всего, заставляют переход осуществиться. Тем не менее, бывают и автоматические переходы, не имеющие событий. При этом объект сам перемещается из одного состоя­ния в другое со скоростью, позволяющей осуществиться вход­ным действиям, деятельности и выходным действиям.

Ограничивающие условия (guard conditions) определяют, когда переход может, а когда не может осуществиться. Ограничивающие условия задавать необязательно. Если условие принимает значение «истина», то соответствующий переход может сработать. Если условие принимает значение «ложь», то переход не может сработать, объект остается в исходном состоянии.

Если существует несколько автоматических переходов из состоя­ния, необходимо определить для них взаимно исключающие ог­раждающие условия, чтобы понять, какой путь перехода будет ав­томатически выбран.

Действие может быть не только входным или выходным, но и частью перехода.

Пример диаграммы состояний. (слайд 12)

Соседние файлы в папке Lekcii