· Второй этап - структурный подход к программированию
Структурный подход (60-70-е годы) охватывает все этапы разработки ПО. Он требует представления задачи в виде иерархии («часть-целое») подзадач более простой структуры вплоть до небольших подпрограмм (40-50 операторов). Разработка осуществляется «сверху-вниз», подразумевая детализацию общей идеи.
Поддержка принципов структурного программирования была заложена в основу процедурныхязыков программирования PL/1, ALGOL-68, Pascal, С, включающих «структурные» операторы, подпрограммы, локализацию данных.
Структурный подход также потребовал структурирования данных. Появляются пользовательские типы данных. Разграничивается доступ к глобальным данным программы, чтобы уменьшить количество ошибок.
В результате появилась технология модульного программирования, предполагающая выделение групп подпрограмм, использующих одни и те же глобальные данные в модули (отдельно компилируемые библиотеки). Связи между модулями осуществляются через интерфейс, а доступ к телам подпрограмм и «внутренним» переменным запрещен.
Модульное программирование упростило разработку ПО несколькими программистами, каждый из них может разрабатывать свои модули независимо от других, взаимодействие модулей обеспечивается через специально оговоренные межмодульные интерфейсы. Кроме того, модули в дальнейшем без изменений можно было использовать в других разработках, что повысило производительность труда программистов.
Но структурный подход позволяет создавать надежные программы размером до 100.000 операторов. Причины: ошибка в интерфейсе выявляется при выполнении программы. При росте программы растает сложность межмо-дульных интерфейсов, и предусмотреть взаимовлияние отдельных частей программы становится практически невозможно.
Для разработки ПО большого объема был предложен объектный подход.