· Нисходящая и восходящая разработка ПО
При проектировании, реализации и тестировании компонентов структурной иерархии, полученной при декомпозиции, применяют следующие подходы:
• восходящий;
• нисходящий;
• расширяющегося ядра.

· Восходящая разработка ПО
Сначала проектируют и реализуют компоненты нижнего уровня, затем предыдущего и т.д. По мере завершения тестирования и отладки компонентов осуществляют их сборку. Для тестирования и отладки компонентов проектируют и реализуют специальные тестирующие программы.
Подход имеет следующие недостатки:
• увеличение вероятности несогласованности компонентов вследствие неполноты спецификаций;
• позднее проектирование интерфейса, а соответственно невозможность продемонстрировать его заказчику для уточнения спецификаций и т.д.
Нисходящий подход к разработке ПО
Нисходящий подход предполагает, что проектирование и последующая реализация компонентов выполняется «сверху-вниз», т.е. вначале проектируют (затем и реализуют) компоненты верхних уровней иерархии, затем следующих и так далее до самых нижних уровней. При этом в процессе программирования компоненты нижних, еще не реализованных уровней заменяют специально разработанными отладочными модулями – «заглушками», что позволяет тестировать и отлаживать уже реализованную часть.