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

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

Таким образом, диаграмма состояния показывает автомат. С помощью диаграмм состояний можно описывать как автомат Мили, так и автомат Мура. Разновидностью диаграммы состояний является диаграмма деятельности (activity diagram), в которой состояния — это некоторые работы, а переходы соответствуют завершению работы в исходном состоянии и, возможно, выполнению некоторых условий.

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

Пример диаграммы активности, иллюстрирующей поведение объекта (экземпляра) класса «Строка заказа»:

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

Переходы помечаются в соответствии со шаблоном:

«Событие»(«аргументы») [«условие»] / «Действие» ^ «Отправляемое сообщение»(«аргументы»)

В данном примере события и отправляемые сообщения не имеют аргументов.

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

Процесс построения полезной диаграммы состояний может состоять из следующих шагов:

· выбор конечного и начального состояния объекта;

· определение устойчивых состояний объекта, т.е. таких, в которых он может находиться неопределенно долгое время;

· определение допустимых состояний объекта;

· определение подсостояний для некоторых важных состояний;

· выявление событий, инициирующих переходы между состояниями;

· спецификация переходов;

· проверка достижимости всех состояний и отсутствия тупиковых состояний;

· упрощение графа за счет реорганизации с помощью подсостояний, ветвлений, слияний и т.п.;

· трассировка автомата для проверки согласованности его поведения с ожидаемым.








Дата добавления: 2018-11-25; просмотров: 858;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.