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


Доопределение функций


Следующий шаг — доопределение функций. Этот шаг развивает диаграмму системной спецификации этапа анализа. Уточняются процессы-модели. В них вводятся дополнительные функции. Джексон выделяет 3 типа сервисных функций:

1. Встроенные функции (задаются командами, вставляемыми в структурный текст процесса-модели).

2. Функции впечатления (наблюдают вектор состояния процесса-модели и вырабатывают выходные результаты).

3.  Функции диалога.

Они решают следующие задачи:

q     наблюдают вектор состояния процесса-модели;

q     формируют и выводят поток данных, влияющий на действия в процессе-модели;

q     выполняют операции для выработки некоторых результатов.

Встроенную функцию введем в модель ТРАНСПОРТ-1. Предположим, что в модели есть панель с лампочкой, сигнализирующей о прибытии. Лампочка включается командой LON(i), а выключается командой LOFF(i). По мере перемещения транспорта между остановками формируется поток LAMP-команд. Модифицированный структурный текст модели ТРАНСПОРТ-1 принимает вид

ТРАНСПОРТ-1

LON(l);

опрос SV;

ЖДАТЬ цикл ПОКА ПРИБЫЛ(1)

опрос SV;

конец ЖДАТЬ;

LOFF(l);

покинуть(1);

ТРАНЗИТ цикл ПОКА УБЫЛ(1)

опрос SV;

конец ТРАНЗИТ;

ТРАНСПОРТ цикл

ОСТАНОВКА;

прибыть(i);

LON(i);

ЖДАТЬ цикл ПОКА ПРИБЫЛ(i)

опрос SV;

конец ЖДАТЬ;

LOFF(i);

покинуть(i);

ТРАНЗИТ цикл ПОКА УБЫЛ(i)

опрос SV;

конец ТРАНЗИТ;

конец ОСТАНОВКА;

конец ТРАНСПОРТ;

прибыть(1);

конец ТРАНСПОРТ-1;

Теперь введем функцию впечатления. В нашем примере она может формировать команды для мотора транспорта: START, STOP.

Условия выработки этих команд.

q       Команда STOP формируется, когда датчики регистрируют прибытие транспорта на остановку.

q       Команда START формируется, когда нажата кнопка для запроса транспорта и транспорт ждет на одной из остановок.

Видим, что для выработки команды STOP необходима информация только от модели транспорта.


- Начало -  - Назад -  - Вперед -