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



При проектировании, реализации и тестировании компонентов структурной иерархии, полученной при декомпозиции, применяют два подхода:

1)восходящий; 2)нисходящий.

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

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

Для тестирования и отладки компонентов проектируют и реализуют специальные тестирующие программы. Минусы:

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

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

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

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

Структурное программирование.

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

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

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

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

Для изображения схем алгоритмов программ в свое время был разработан ГОСТ 19.701-90, согласно которому каждой группе действий ставится в соответствие специальный блок (табл). Хотя этот стандарт предусматривает блоки для обозначения циклов, он не запрещает и произвольной передачи управления, т.е. допускает использование команд условной и безусловной передачи управления при реализации алгоритма.

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

следование - обозначает последовательное выполнение действий (рис. 2.3, а);

ветвление - соответствует выбору одного из двух вариантов действий (рис.2.3, б);

цикл-пока - определяет повторение действий, пока не будет нарушено некоторое условие, выполнение которого проверяется в начале цикла (рис. 2.3, в).

 Примечание. Слово «структурное» в данном названии подчеркивает тот факт, что при программировании использованы только перечисленные конструкции (структуры). Отсюда и понятие «программирование без go to».

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


Дата добавления: 2018-02-15; просмотров: 531; ЗАКАЗАТЬ РАБОТУ