Разработка сложных программных изделий


Программирование с использованием пошаговой детализации


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

Пошаговая детализация отличается следующими особенностя­ми:

1. Процесс выполняется в виде последовательности отдельных шагов.

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

3. Множества задач и данных каждого шага детализируют мно­жества, полученные на предыдущем шаге детализации.

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

5. На каждом шаге решение о детализации принимается после рассмотрения альтернативных вариантов.

Для описания процесса детализации Дейкстра ввел понятие уровней абстракции. Самый верхний уровень описания программы представляет ее в самой абстрактной форме, а самый нижний — в терминах компонент программной обстановки, которые легко могут быть оттранслированы в программный код. Каждый уровень абстракции формируется из компонент трех типов:

• множество структур данных;

• множество инструкций;

• алгоритм, выраженный в терминах данных и инструкций, со­зданных на рассматриваемом уровне.

Дейкстра рассматривает каждый уровень как машину, обладаю­щую набором выполняемых инструкций и обрабатывающую дан­ные определенной структуры. Вначале рассматривается наиболее абстрактная (виртуальная) машина, которая оперирует, например, с данными на уровне файлов, выполняя операции типа "обновить" или "напечатать" (файл). Затем множество инструкций и множество данных детализируется и расширяется и приближается к реальной ЭВМ.



Содержание раздела