1.2 Составление проекта программы и плана отладки
На основании анализа формализованной постановки задачи (спецификации) выбирается основной метод ее решения ( если он не оговорен специально на предыдущем этапе ) и составляется общий проект программы. Выбранный подход к решению задачи должен обеспечивать правильные результаты для тех условий функционирования программы, которые предусмотрены спецификацией, удобство использования программы, простоту подготовки исходных данных и т.п.
Помимо формулировки выбранного метода решения задачи в проекте должны описываться основные части разрабатываемой программы, их функции, взаимосвязь и последовательность выполнения, а также точно определяться входные и выходные данные как всей программы, так и ее частей. На данном этапе разрабатывается и проект инструкции для пользователей, в которой фиксируется ( и, таким образом, может быть заранее оценен и исправлен ) предполагаемый режим обращения пользователя с программой.
С целью избежания появления в разрабатываемой программе ошибок следует разработать на данном этапе и основную стратегию отладки, общий план ее проведения, необходимо решить, каким путем можно будет в дальнейшем убедиться, что выбранный метод решения задачи и разработанная программа обеспечивают получение правильных результатов для указанных в спецификации диапазонов изменения величин и условий функционирования программы. Для этого разрабатываются общая методика проверки правильности программы и система необходимых для отладки контрольных примеров.
1.3 Алгоритмизация
На данном этапе с помощью блок-схем или других специальных языков отображения алгоритмов представляются общая структура программы и алгоритмы выполнения отдельных частей (блоков) программы.
Для достаточно сложных программ алгоритмизация проводится в несколько шагов с целью постепенной детализации алгоритма. Критерием окончания детализации некоторого блока (блоков) алгоритма является формирование у программиста мысленного представления о том, как данный блок алгоритма может быть реализован средствами данного языка программирования. Рекомендуется размещать каждую блок-схему на одном стандартном листе бумаги.
После каждого шага детализации проводится проверка полученного алгоритма для выявления возможных ошибок. При этом, возможно, придется изменять и уточнять решения, принятые на этом и предыдущем этапах.
Все такие изменения обязательно должны вноситься в проект программы.
На этапе алгоритмизации следует предусмотреть способы контроля отдельных блоков и методы предстоящей локализации возможных ошибок. Для этого следует подготовить контрольные примеры, в блок-схемах алгоритмов наметить места, моменты и объемы необходимой отладочной печати, которые должны обеспечить возможность быстрой локализации ошибок при отладке.
2 Программирование
Программирование по разработанным блок-схемам алгоритмов представляет собой традиционный этап в создании прикладных программ. Чем выше качество подготовленных блок-схем, тем более легким будет составление программы. Основные трудности и, следовательно причины ошибок на этом этапе заключаются, во-первых, в необходимости знания всех требований и ограничений выбранного языка программирования и, во-вторых, в необходимости постоянного внимания ко многим деталям языка, которые приходится учитывать в ходе написания программы. Кроме того, вследствие возможных ошибок, на этапе алгоритмизации, на этапе программирования на ряду с реализацией системы осуществляется логический контроль правильности ранее принятых решений. При обнаружении ошибок такого рода следует внести соответствующие изменения в алгоритм, поскольку к нему придется обращаться на следующих этапах, и тексты алгоритма и программы должны соответствовать друг другу. Изменяя некоторые части алгоритма, всегда следует проверять не окажут ли внесенные коррективы влияния на выполнение других блоков и частей.
После составления программы проводится ее проверка для обнаружения и исправления ошибок, внесенных на данном этапе. Следует помнить об обязательной реализации плана и средств отладки, намеченных на предыдущих этапах.
Чем более тщательно выполнены этапы 2, 3 и 4, и, в частности, чем более детально разработан план отладки, чем больше внимания было уделено проверке составленного алгоритма и программы, а также применению отладочных средств для облегчения предстоящей отладки, тем меньше времени потребуется на проведение самой отладки и получение корректных результатов.
