Реклама:

11.3. Проектирование сложных систем. (Возможная роль разрешения столкновений структур в проектировании систем)

Если основная предварительная работа по анализу потока данных и конструированию баз данных уже выполнена, то можно построить такую элементарную схему системы, как показанная на рис. 11.1 - этап 1.

Предлагаемая система имеет три входа, для которых структуры данных представлены треугольниками И, 12 и 13. Система должна иметь три выхода, представленные треугольниками 01, 02 И 03.

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

Рис. 11.1. Использование разрешения столкновений структур для определения компонентов ситемы.

На этапе 2 было определено, что вход И не имеет никаких связей или общих элементов с каким-либо из других входов. Кроме того, И имеет связь с выходом 01, но не связан с другими выходами. Аналогично 01 не имеет связей ни с какими структурами данных, кроме И. Однако выход 01 нельзя получить непосредственно из И, между этими двумя структурами данных возникает столкновение. Это столкновение можно разрешить, вставив промежуточный файл ПФ1 и описав два процесса РИ и Р01.

Исследование двух остальных выходов 02 и 03 показывает, что они взаимосвязаны, но между ними тоже имеется столкновение структур. Кроме того, они не могут быть получены непосредственно обработкой входов 12 и 13. Промежуточный файл 02/3 разрешит это столкновение таким образом, что оба выхода 02 и 03 можно будет получить из него посредством вновь описанных процессов Р02 и Р03 соответственно. Наконец, можно описать процесс Р12/3 , который использует в качестве входных данных 12 и 13 и создает 02/3 как выходные данные.

Итак, теперь мы описали несколько процессов или пограмм и связующие их структуры данных, которые при сказанной совместной обработке приведут к получению требуемых выходных данных. Разумеется, здесь представлен очень простой случай, и в реальной жизни будет гораздо больше входов и выходов, гораздо больше этапов разрешения и, возможно, возникнут некоторые столкнове-ния между входными структурами, которые также нуждаются в разрешении. Однако рассмотренные ситуация и процедура должны продемонстрировать, что после определения входов и выходов можно воспользоваться описанным в гл. 7 процессом разрешения столкновений структур, чтобы определить отдельные программные компоненты в рамках системы. Затем при необходимости можно применить инвертирование программ, чтобы способствовать реализации этих программ.

Описанное здесь разрешение столкновений структур является не единственным способом разделения сложных и неудобных структур данных. Приведение к третьей нормальной форме, изложенное в гл. 14 книги Дж. Мартина [7], позволяет разложить сложные структуры данных на простые, легко обрабатываемые таблицы.

11.4. Заключение

Существует несколько методов, которые следует включать в процесс проектирования систем. Три таких метода - это анализ потока данных, моделирование данных и анализ путей доступа; имеются и другие методы. Хотя описанная в этой книге методика Джексона не нацелена специально на проектирование систем, при проектировании системы возникают некоторые ситуации, в которых можно воспользоваться этой методикой наряду с упомянутыми Другими методами. В книге М.Джексона [1] эта концепция разрабатывается гораздо глубже и показано, как данная методика может быть полностью распространена на проблематику проектирования систем.


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