Технология программирования. - 34 стр.

UptoLike

- 36 -
лю, обработке значений его входных параметров и выдаче, если нужно, заранее
определённого результата или сообщения. После этого тестируются модули, кото-
рые в данный момент представлены имитаторами. Для чего имитатор выбранного
для тестирования модуля заменяется этим модулем. При таком порядке каждый
такой модуль будет тестироваться в «естественной» информационной среде. И,
кроме того
, большой объём «отладочного» программирования при восходящем
тестировании заменяется программированием достаточно простых имитаторов ис-
пользуемых в программе модулей. Таким образом, вся необходимая глобальная
информация для разработки программы формируется своевременно.
Рассмотренные методы восходящей и нисходящей разработок (их называют
классическими) объединяет требование, чтобы модульная структура программы
была разработана до начала программирования (кодирования) модулей
. Это тре-
бование полностью соответствует водопадному подходу к разработке ПС (см.
3.1.), так как разработка модульной структуры программы и её программирование
выполняются на разных этапах разработки ПС: на первом этапе завершается кон-
струирование ПС, а на второмначинается кодирование. Однако классические
методы вызывают ряд возражений: представляется маловероятным доста-
точно точно
и содержательно до программирования модулей разработать
структуру программы. Можно несколько модернизировать водопадный подход.
Для этого предлагаются конструктивный и архитектурный подходы к разра-
ботке программы [1], в которых модульная структура формируется в процессе
программирования или кодирования модулей.
Конструктивный подход к разработке программы является модификацией ме-
тода нисходящей разработки, при которой модульная древовидная
структура про-
граммы формируется в процессе кодирования модулей. Начинается всё с программи-
рования головного модуля, исходя из спецификации программы в целом. При этом
спецификация программы принимается в качестве спецификации её головного моду-
ля. В процессе программирования головного модуля выделяются подзадачи, которые
реализуют внутренние функции. То есть, для каждой выделяемой подзадачи (
функ-
ции) создаётся спецификация реализующего её фрагмента программы, который в