Восходящее и нисходящее проектирование

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

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

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

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

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

Типовая структура программного комплекса

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

Независимо от профиля решаемых задач каждый программный комплекс включает четыре группы программ:

-решения функциональных задач,

-обмена с внешними абонентами,

-организации вычислительного процесса,

-контроля и обеспечения надежности.

САПРяжение-2013, Ростов-на-Дону Восходящее и нисходящее проектирование в Inventor


Читать еще…

Понравилась статья? Поделиться с друзьями: