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

Рис. 2.21. Иерархический вид сети.

Важно помнить также, что различные виды данных являются логическими и могут не совпадать с физическим размещением данных на магнитных дисках, лентах, барабанах, в полупроводниковых запоминающих устройствах или на других носителях. Итак, обработке подлежат логические виды, и именно их мы будем рассматривать при конструировании программ. В гл. 11 мы продолжим рассмотрение влияния систем управления базами данных на методику Джексона.

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

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

Рис. 2.22. Табличная структура. 2.5. Создание структур программ

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

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

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

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

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

Рис. 2.23. Схема входа - выхода.

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

Рассмотрим простой пример, чтобы проверить, сможем ли мы определить требуемую взаимосвязь. Предположим, что нужно суммировать числовые данные в простой таблице, строку за строкой. Суммы всех элементов каждой строки будут выводиться на печать как последовательность чисел, по одному числу для каждой строки. Таблица состоит из 10 строк по 8 числовых элементов в каждой. Входные и выходные данные требуемого процесса представлены структурами данных на рис. 2.24.


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