Реклама:

(4) Повторяйте шаг (3) до тех пор, пока все компоненты, изображенные на самом нижнем уровне структуры, не станут элементарными.

На рис. 2.31 представлена схема структуры, полученная в результате применения этого процесса к компонентам данных, перечисленным на рис. 2.30. Справа от схемы указаны шаги процесса, на которых создается каждый уровень схемы. (Читатель может решиться выполнить весь процесс, используя в качестве исходного приведенный список компонентов данных и попытавшись достичь той же самой структуры данных. )

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

Рис. 2.31. Структура входного файла.

Построение списка компонентов данных (рис. 2.30) может показаться тривиальным и необязательным. Почему бы не проводить обработку непосредственно по словесным описаниям или по форматам физических файлов входных и выходных данных? Разумеется, во многих случаях это вполне возможно и в сущности легко выполнимо. Однако в случаях, когда имеется много неясностей и трудностей, список компонентов данных поможет справиться с этими проблемами. Кроме того, такой список часто является основой для входов в словарь данных в окончательной программе.

Когда структуры данных завершены, возникает необходимость в методе проверки их правильности. В следующем разделе (в) представлен контрольный перечень, предназначенный для этой цели.

(в) Контрольный перечень для формирования структур данных

(1) Полнота

• Был ли идентифицирован каждый вход и выход и построена ли для каждого из них структура данных?

• Представляет ли компонент данных самого высокого уровня для каждой структуры данных весь вход или выход?

• Идентифицирован ли каждый компонент из списка компонентов данных именем в схемах структур данных?

• Идентифицированы ли все объекты прикладного уровня (например, записи каждого типа, типы строк отчетов, заголовки, служебная постинформация и т.д.)?

• Можно ли идентифицировать дополнительные структуры данных, которые подразумеваются в требованиях, но не имеют специальных имен (например, группы компонентов данных или различные типы обобщенных компонентов, таких как группы заказов в рамках области сбыта или отдельные типы записей в файле, который в свою очередь состоит из записей различных типов)?

(2) Корректность

• Является ли каждый компонент выбора взаимно исключающим среди соответствующих компонентов выбора?

• Была ли структура данных изображена сверху вниз и слева направо с точки зрения появления компонентов данных?

• Является ли каждый компонент данных корректной последовательностью, выбором, повторением или элементарным компонентом? Иначе говоря.

- Соединен ли каждый компонент данных только с одним компонентом более высокого уровня?

- Содержит ли каждый компонент-последовательность только корректные последовательные части?

- Содержит ли каждый компонент выбора только выбираемые части?

- Соединен ли каждый компонент повторения только с одним компонентом нижнего уровня повторяемой частью?

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


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