Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C_Kurs_Lekt / DOC_RAZNOE / TEMA-2 / Структурное программирование_раздатка

.pdf
Скачиваний:
16
Добавлен:
13.02.2016
Размер:
526.05 Кб
Скачать

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

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

Неадекватное планирование может привести к перепроектированию, перепрограммированию и перетестированию, что потребует дополнительного времени и расходов.

На рис. 3.5 показаны все основные этапы планирования и реализации при разработке программы. На стадии планирования устанавливается порядок разработки и тестирования модулей. Этот порядок может не следовать строго ни уровням схемы иерархии, ни порядку исполнения — это обычно комбинация иерархического и операционного подходов. На этом этапе особенно важно глубокое знание межмодульных взаимосвязей.- Затрата времени и сил на план работы по программированию и тестированию обычно окупается отсутствием больших задержек и рас-

Рис, 3,5, Шаги нисходящего проектирования,

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

На этапе реализации самая важная задача — получить законченную программу. Поэтому до начала программирования ядра необходимо подготовить тесты и полный текст на языке управления заданиями.( Ядро. ядро может состоять из одного или нескольких модулей самых верхних уровней. Головной модуль должен быть частью ядра.).

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

График нисходящей разработки должен указывать, когда будет завершена реализация функций или модулей. Ожидаемый результат можно формулировать, например, так: «К 15 апреля мы должны запустить обновление файлов. Оно будет состоять из модулей A, D и Е». Следует избегать формулировок типа: «К 15 апреля проект должен быть завершен на 30%». Должно быть явно указано, когда будут готовы и включены в программу конкретные функции (конкретные модули). Таким образом, в тот момент, когда демонстрируется работа модуля с запланированными тестами, можно однозначно определить, выполнен график или нет.

Нисходящая разработка позволяет работать над проектами планомерным, прогнозируемым образом, позволяет упростить межмодульные связи и проблемы объединения модулей, а ресурсы распределить более равномерно.

11