Главная страница / 29. Структурное программирование: 29.1. Технология структур...

29.1. Технология структурного программирования

В конце 1960-х годов в США было отмечено явление под названием «software crisis» (кризис ПО). Это выражалось в том, что большие проекты стали выполняться с отставанием от графика или с превышением сметы расходов, разработанный продукт не обладал требуемыми функциональными возможностями, производительность его была низка, качество получаемого программного обеспечения не устраивало потребителей [18].

Кризис программного обеспечения привел к потребности в новом способе создания программ, который снижал бы общие затраты на протяжении всего жизненного цикла программы – от замысла до завершения эксплуатации (морального старения). Такая технология появилась в начале 1970-х годов и была названа структурным программированием. В основе структурного программирования лежит сочетание теории программирования и личного опыта высококвалифицированных программистов, а также учет современных требований к программам и промышленного характера их производства.

Главное требование, которому должна удовлетворять программа, – работать в полном соответствии со спецификацией и адекватно реагировать на любые действия пользователя. Кроме этого, программа должна быть выпущена точно к заявленному сроку и допускать оперативное внесение необходимых изменений и дополнений. Иными словами, современные критерии качества программы – это прежде всего надежность, а также возможность точно планировать производство программы и ее сопровождение. Для достижения этих целей программа должна иметь простую структуру, быть хорошо читаемой и легко модифицируемой [19].

Структурное программирование – это технология создания программ, позволяющая путем соблюдения определенных правил уменьшить время разработки и количество ошибок, а также облегчить возможность модификации программы.

Структурный подход охватывает все стадии разработки проекта: постановка задачи (анализ требований), проектирование, собственно программирование (кодирование) и тестирование.