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

7 АНАЛИЗ ТРЕБОВАНИЙ И ОПРЕДЕЛЕНИЕ СПЕЦИФИКАЦИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
7.2.2 Диаграмма переходов состояний

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

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

Для построения диаграммы переходов состояний необходимо в соответствие с теорией конечных автоматов определить основные состояния, управляющие воздействия (или условия перехода), выполняемые действия и возможные переходы разрабатываемого ПО. Условные обозначения, используемые при построении диаграмм переходов состояний, показаны на рис. 7.3

Рисунок 7.3 - Условные обозначения диаграмм переходов состояний:
а - терминальное состояние; б - промежуточное состояние; в – переход

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

Рисунок 7.4 - Диаграмма переходов состояний программного обеспечения, активно не взаимодействующего с окружающей средой

Для интерактивного программного обеспечения с развитым пользова-тельским интерфейсом основные управляющие воздействия - команды поль-зователя, для программного обеспечения реального времени - сигналы от датчиков и/или оператора производственного процесса. Общим для этих ти¬пов программного обеспечения является наличие состояния ожидания, когда программное обеспечение приостанавливает работу до получения очередно¬го управляющего воздействия. Для интерактивного программного обеспече¬ния наиболее характерно получение команд различных типов (рис. 7.5), а ес¬ли это еще и программное обеспечение реального времени - однотипных сигналов (либо от многих датчиков, либо требующих продолжительной обработки).

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

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

Рисунок 7.5 - Пример диаграммы переходов состояний ПО, активно взаимодействующего с окружающей средой