Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
В 70-е годы XX века объёмы и сложность программ достигли такого уровня, что «интуитивная» (неструктурированная) разработка программ, которая была нормой в более раннее время, перестала удовлетворять потребностям практики. Программы становились слишком сложными, чтобы их можно было нормально сопровождать, поэтому потребовалась систематизация процесса разработки и структуры программ. В результате в 70-х годах XX века была предложена Э. Дейкстроем, разработана и дополнена Н. Виртом методология создания программного обеспечения, получившая название структурного программирования.
В основу этой методологии положены три принципа.
1. Любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
- последовательное исполнение – однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
- ветвление – однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
- цикл – многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.
2. Повторяющиеся фрагменты программы (либо не повторяющиеся, но представляющие собой логически целостные вычислительные блоки) могут оформляться в виде т. н. подпрограмм (процедур или функций). В этом случае в тексте основной программы, вместо помещённого в подпрограмму фрагмента, вставляется инструкция вызова подпрограммы. При выполнении такой инструкции выполняется вызванная подпрограмма, после чего исполнение программы продолжается с инструкции, следующей за командой вызова подпрограммы.
3. Разработка программы ведётся пошагово, методом «сверху вниз».
Сначала пишется текст основной программы, в котором, вместо каждого связного логического фрагмента текста, вставляется вызов подпрограммы, которая будет выполнять этот фрагмент. Вместо настоящих, работающих подпрограмм, в программу вставляются «заглушки», которые ничего не делают. Полученная программа проверяется и отлаживается. После того, как программист убедится, что подпрограммы вызываются в правильной последовательности (то есть общая структура программы верна), подпрограммы-заглушки последовательно заменяются на реально работающие, причём разработка каждой подпрограммы ведётся тем же методом, что и основной программы. Такая последовательность гарантирует, что на каждом этапе разработки программист одновременно имеет дело с обозримым и понятным ему множеством фрагментов, и может быть уверен, что общая структура всех более высоких уровней программы верна.
При сопровождении и внесении изменений в программу выясняется, в какие именно процедуры нужно внести изменения, и они вносятся, не затрагивая части программы, непосредственно не связанные с ними. Это позволяет гарантировать, что при внесении изменений и исправлении ошибок не выйдет из строя какая-то часть программы, находящаяся в данный момент вне зоны внимания программиста.
Следование принципам структурного программирования сделало тексты программ, даже довольно крупных, нормально читаемыми. Серьёзно облегчилось понимание программ, появилась возможность разработки программ в нормальном промышленном режиме, когда программу может без особых затруднений понять не только её автор, но и другие программисты. Это позволило разрабатывать достаточно крупные программные комплексы силами коллективов разработчиков, и сопровождать эти комплексы в течение многих лет, даже в условиях неизбежных изменений в составе персонала.
Перечислим некоторые достоинства структурного программирования:
1. Структурное программирование позволяет значительно сократить число вариантов построения программы по одной и той же спецификации, что значительно снижает сложность программы и облегчает понимание её другими разработчиками.
2. В структурированных программах логически связанные инструкции находятся визуально ближе, а слабо связанные – дальше, что позволяет во многих случаях обходиться без блок-схем и других графических форм изображения алгоритмов.
3. Упрощается процесс тестирования и отладки структурированных программ.
Дата публикования: 2014-11-03; Прочитано: 765 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!