Лекция: Методы заданий спецификации процессов - таблицы решений.

Проектирование спецификаций процессов с помощью таблиц решений (ТР)заключается в задании матрицы, ото­бражающей множество входных условий во множестве действий.

ТР состоит из двух частей. Верхняя часть таблицы используется для определения условий. Обычно условие является ЕСЛИ-частью оператора ЕСЛИ—ТОи требует ответа «да-нет». Однако иногда в условии может присутствовать и ограни­ченное множество значений, например, ЯВЛЯЕТСЯ ЛИ ДЛИНА СТРОКИ БОЛЬШЕЙ, МЕНЬШЕЙ ИЛИ РАВНОЙ ГРА­НИЧНОМУ ЗНАЧЕНИЮ?

Нижняя часть ТР используется для определения действий, т.е. ТО-части оператора ЕСЛИ—ТО.Так, в конструкции

ЕСЛИИДЕТ ДОЖДЬ, ТОРАСКРЫТЬ ЗОНТ

ИДЕТ ДОЖДЬ является условием, а РАСКРЫТЬ ЗОНТ — действием.

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

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

если очередной символ является управляющим, то подать звуковой сигнал и вернуть код ошибки;

если буфер формируемой строки заполнен, то подать звуковой сигнал и вернуть код ошибки;

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

иначе поместить символ в буфер, увеличить значение счетчика выбранных символов и вернуть новое значение счетчика

Заметим, что ели выполняется условие С1, то нет необходимости в проверке условий С2 и СЗ. Поэтому комбинации условий 1, 2, 3, 4 могут быть заменены обобщающей комбинацией (Д, — -), где знак "-" означает любую из возможных аль­тернатив (в данном случае, Д или Н). Аналогично, комбинации условий 5 и б могут быть заменены обобщающей комбина­цией (Н, Д, -).

 

  Условия     Условия
C1 isctrl(c) Д Д Д Д Н Н Н Н   C1 isctrl(c) Д Н Н Н
C2 I > max lenght Д Д Н Н Д Д Н Н   C2 I > max lenght Д Н Н
C3 out of range(c) Д Н Д Н Д Н Д Н   C3 out of range(c) Д Н
  Действия                     Действия        
D1 beep()     D1 beep()  
D2 return(ER­ROR)     D2 return(ER­ROR)  
D3 retum(++i)                 D3 retum(++i)      
D4 putchar(c)                 D4 putchar(c)      

Построение ТР рекомендуется осуществлять по следующим шагам:

— Идентифицировать все условия (или переменные) в спецификации. Идентифицировать все значения, которые каждая пере­менная может иметь.

— Вычислить число комбинаций условий. Если все условия являются бинарными, то существует 2N комбинаций N перемен­ных.

— Идентифицировать каждое из возможных действий, которые могут вызываться в спецификации.

— Построить пустую таблицу, все возможные условия и действия, а также номера комбинаций условий;

— Выписать и занести в таблицу все возможные комбинации условий;

— Редуцировать комбинации условий;

— Проверить каждую комбинацию условий и идентифицировать соответствующие выполняемые действия;

— Выделить комбинации условий, для которых спецификация не указывает список выполняемых действий;

— Обсудить построенную таблицу.

еще рефераты
Еще работы по истории