Cтраница 2
В соответствии с принципом пошаговой детализации окончательная программа получается после серии трансформаций или детализаций решения. Мы начинаем с первого решения - решения верхнего уровня, а затем последовательно проходим по цепочке решений; все эти решения эквивалентны, но каждое следующее решение выражено более детально, чем предыдущее. На каждом шагу детализации понятия, использовавшиеся в предыдущих формулировках, прорабатываются более подробно, а их представление все более приближается к языку программирования. Следует отдавать себе отчет в том, что детализация касается не только процедур, но и структур данных. [16]
Теперь, по-видимому, ясно, как возник термин пошаговая детализация. Первый шаг связан с очень общим предложением. Разложение первого общего шага в последовательность шагов второго или более низкого уровня заставляет более точно определить логику модуля - это и есть детализация предыдущей формулировки задачи. Таким образом, хорошо видно, как модуль расширяется по мере добавления и уточнения деталей. Это похоже на проектирование здания - вначале определяется общий замысел, затем проектируются этажи, комнаты и, наконец, решается вопрос об обоях, мебели и деталях конкретных комнат. Конечно, можно было бы спроектировать одну комнату полностью до начала проектирования следующей и проектировать второй этаж только тогда, когда полностью завершен первый, но это, вероятно, приведет к ошибкам и противоречиям в документации. Подобным же образом, модули должны вначале целиком проектироваться на достаточно общем уровне, а затем следует возвращаться, чтобы с каждой итерацией определять все новые и новые детали. [17]