logo
Структурные методологии

Методологии, ориентированные на данные

С позиций ориентированных на данные методологий вход и выход модели являются наиболее важными, структуры данных (а не потоки данных) определяются первыми, а процедурные компоненты строятся как производные от структур данных. Фактически процесс проектирования заключается в определении структур данных, слиянии их в некий прообраз иерархической структуры программы и наполнении этой структуры детальной логикой обработки данных. Для поддержки такого подхода традиционно используются сетевые диаграммы для определения потоков, источников и приемников данных, древовидные структурные диаграммы для представления иерархии как структур данных, так и программных структур, а также диаграммы детализации логики процедур (обычно на базе структурированного естественного языка).

Классическим примером рассматриваемого подхода является структурное проектирование Джексона. Его базовая процедура проектирования предназначена для "простых" программ ("сложная" программа разбивается на "простые" традиционными методами) и включает следующие 4 этапа:

1. Этап проектирования данных.

§ Построение системной сетевой диаграммы, демонстрирующей все хранилища, источники и стоки данных в программе.

§ Представление каждой входной и выходной структуры данных древовидной структурной диаграммой.

2. Этап проектирования программ.

§ Формирование структуры программы комбинированием структур данных.

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

§ Верификация полученной структуры программы.

3. Этап проектирования операций.

§ Построение списка операций, необходимых для продуцирования выходных структур данных из входных.

§ Назначение операций компонентам структуры программы.

4. Этап проектирования текстов.

§ Трансляция построенной модели программы в текстовый вид с добавлением ряда логических условий для управления выполнением циклов и выбором данных.

Другим примером рассматриваемого подхода является DSSD (Data-Structured Systems Development), предложенная Варнье-Орром и ориентированная на разработку систем со структурными данными методология, использующая теорию множеств для описания проекта ПО. Также как и в математике, множество определяется перечислением его элементов. Так множество отделов компании может быть описано следующим образом:

компания = {бухгалтерия, маркетинг, производство, распространение}

DSSD использует аналогичную нотацию, а именно множественную скобку (рис. 9.5).

Рис. 9.5. Множественная скобка

Подобно методологии Джексона, в рассматриваемом подходе структура программы строится на базе структур данных, а главным отличием является то, что в методологии Джексона необходимо сливать все входные и выходные структуры данных для продуцирования структуры программы, а в DSSD входные данные и структура программы продуцируются из выходных структур. Таким образом, главная аксиома DSSD утверждает, что выходные структуры данных полно и точно определяют входные структуры, которые, в свою очередь, определяют и логику их обработки.

При построении модели в DSSD используются диаграммы сущностей (диалект DFD) для определения системного контекста и диаграммы Варнье-Орра (assembly-line diagrams) в качестве основного средства моделирования системы. Базовым элементом диаграммы Варнье-Орра является множественная скобка. Детализация элементов данных производится слева-направо, предполагаемая последовательность действий осуществляется слева-направо и сверху-вниз. Такая нотация удобна для представления композиции структур, определения структур данных, спецификации форматов файлов, и может быть использована для иллюстрирования структуры программы и иерархии модулей (заменой структур данных на модули или файлы, а на нижних уровнях - на подпрограммы, DO-циклы, условные и другие операторы), являясь в этом случае неким аналогом визуального языка проектирования типа FLOW-форм. Основные этапы методологии изображены на рис. 9.6 с помощью диаграммы Варнье-Орра.

Рис. 9.6. Диаграмма Варнье-Орра