Реклама:
Кинг Д. Создание эффективного программного обеспечения

Рис. 2.27. Соответствие между структурами входных и выходных данных.

Кинг Д. Создание эффективного программного обеспечения

Рис. 2.28. Расширенные структуры входных и выходных данных.

Кинг Д. Создание эффективного программного обеспечения

Рис. 2.29. Формирование полной структуры программы.

Применяя уже рассмотренную процедуру, можно сформировать упрощенный вариант структуры нужной программы. См. рис 2.29, этап 1.

Ясно, что для программы нужны больше конкретные операторы, чем просто обработка строк! И что делать с элементами каждой строки?

Чтобы распространить дальше наш метод генерирования программы, следует рассмотреть те компоненты структур данных, которые ничему не соответствуют. Начнем с компонента ЭЛЕМЕНТ в структуре данных ТАБЛИЦА. Элементу не соответствует ни один компонент в структуре данных ОТЧЕТ. Но он образует подкомпоненты, которые составляют каждую строку, а СТРОКА сливается с компонентом СУММА СТРОКИ, формируя компонент ОБРАБОТКА СТРОКИ. Поэтому логически ЭЛЕМЕНТ можно трактовать как повторяемый подкомпонент компонента ОБРАБОТКА СТРОКИ и переименовать в компонент ОБРАБОТКА ЭЛЕМЕНТА (см. рис. 2.29, этап 2).

Теперь рассмотрим не имеющие компонент структуры ОТЧЕТ, которые ничему не соответствуют. Это ЗАГОЛОВОК, ТЕЛО ОТЧЕТА и ЗАВЕРШИТЕЛЬ. Каждый из этих компонентов можно трактовать таким же образом, как компонент ЭЛЕМЕНТ из структуры ТАБЛИЦА. Каждый компонент можно поместить в то относительное положение, в котором он появляется в структурах данных. Аналогично его имя нужно изменить, добавив в начало имени слово ПОЛУЧЕНИЕ или ОБРАБОТКА. Слово ПОЛУЧЕНИЕ следует использовать в случаях, когда дело касается получения элементарного выходного компонента; слово «ОБРАБОТКА» следует применять во всех остальных случаях.

Выполнение этой процедуры вносит новые компоненты ПОЛУЧЕНИЕ ЗАГОЛОВКА и ПОЛУЧЕНИЕ ЗАВЕРШИТЕЛЯ соответственно как самый левый и самый правый (первый и последний) подкомпоненты компонента ПРОГРАММА ТАБЛИЦЫ. Аналогично, поскольку ТЕЛО ОТЧЕТА появляется в структуре ОТЧЕТ между компонентами ОТЧЕТ и СУММА СТРОКИ, то новый компонент программы ОБРАБОТКА ТЕЛА ОТЧЕТА помещается между существующими программными компонентами ПРОГРАММА ТАБЛИЦЫ и ОБРАБОТКА СТРОКИ. Дело в том, что эти два компонента программы сформированы слиянием ОТЧЕТА и СУММЫ СТРОКИ с соответствующими им компонентами структуры входных данных. Полученная в результате структура программы показана на этапе 3 рис. 2.29.

В этом разделе мы объяснили на простом примере процесс генерации структуры программы из структур входных и выходных данных. В следующем разделе 2.6 мы формализуем этот процесс наряду с другими процедурами, включаемыми в конструирование программ по методике Джексона.

2.6. Этапы конструирования программы

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

1. Изобразить структуры входных и выходных данных.

2. Идентифицировать соответствия между структурами данных.

3. Создать структуру программы.

4. Перечислить и распределить выполнимые операции.

5. Написать структурированное изложение.

ИДЕНТИФИКАЦИЯ: Вход

Ссылочный Повт., Ссылочный Имя компонента дан-номер поел., номер стар- ных (включающее при выб., шего компо- необходимости усло-элем. нента вие появления)


⇐ Предыдущая страница| |Следующая страница ⇒