Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
B16-B18_DEMO.doc
Скачиваний:
9
Добавлен:
20.11.2019
Размер:
8.98 Mб
Скачать

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

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

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

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

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

На практике чрезмерная детализация не всегда полезна, так как нижние уровни детализации привязаны к конкретному языку программирования, и содержат детали, несущественные с точки зрения поведения системы. Рекомендуется прекращать процесс детализации на таком уровне, чтобы все операции носили элементарный характер в понимании разработчиков системы. Например, «сложить два числа», «отсортировать массив», «доказать теорему» и т.д.

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

Состояния

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

К онечное состояние изображается на диаграмме в виде чёрного круга внутри белого. Переход в конечное состояние соответствует завершению жизненного цикла системы.

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

Переходы

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]