logo
Ответы Госы_3

43. Разработка программного обеспечения (восходящая и нисходящая).

Восходящий подход.

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

Подход имеет такие недостатки:

- увеличение вероятности несогласованности компонентов в результате неполноты спецификаций;

- наличие расходов на проектирование и реализацию тестирующих программ, которые нельзя превратить в компоненты;

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

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

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

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

Нисходящий подход допускает нарушение нисходящей последовательности разработки компонентов в специально определенных случаях.

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

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

- максимально полное определение спецификаций проектируемого компонента и согласованность компонентов между собой;

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

- возможность нисходящего тестирования и комплексного налаживания.