Слайд 2 Впервые термин “Структурное программирование” ввел Эдсгер Дейкстра. Он рассматривал программу как
![Впервые термин “Структурное программирование” ввел Эдсгер Дейкстра. Он рассматривал программу как совокупность](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-1.jpg)
совокупность иерархических абстрактных уровней, которые позволяли четко структурировать программу, выполнять доказательства при ее корректировке, а значит, и повышать надежность функционирования программы, и сокращать сроки ее разработки
Слайд 3 Цели структурного программирования:
Обеспечение дисциплины программирования (“Структурное программирование-это дисциплина, которую программист навязывает
![Цели структурного программирования: Обеспечение дисциплины программирования (“Структурное программирование-это дисциплина, которую программист навязывает](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-2.jpg)
сам себе”- Э. Дейкстра);
Повышение эффективности (например, разбиение на относительно независимые модули);
Повышение надежности (облегчение тестирования и отладки);
Уменьшение времени и стоимости (повышение производительности программистов);
Улучшение читабельности программы
Слайд 4Основные принципы структурного подхода:
Принцип абстракции позволяет рассматривать программу по уровням. Верхний
![Основные принципы структурного подхода: Принцип абстракции позволяет рассматривать программу по уровням. Верхний](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-3.jpg)
уровень показывает детали реализации (например, восходящее и нисходящие стратегии программирования).
Разделение программы на отдельные фрагменты (методы), которые просты по управлению и допускают независимую откладку и тестирование
Строгий методический подход (принцип формальности) позволяет изучать программы (алгоритмы) как математические объекты, ускорить принятия решений, избежать ошибок
Слайд 5Структурный подход включает в себя три основные составные части:
Нисходящее проектирование;
Структурное программирование;
Сквозной структурный
![Структурный подход включает в себя три основные составные части: Нисходящее проектирование; Структурное программирование; Сквозной структурный контроль.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-4.jpg)
контроль.
Слайд 6
Для управления процессом создания программ прибегают к делению большой программы на модули.
![Для управления процессом создания программ прибегают к делению большой программы на модули.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-5.jpg)
Этот процесс называется нисходящим проектированием.
Делить программу на модули необходимо, учитывая следующие свойства (или требования) модулей:
Возможность обособления модуля в исходном и объектном кодах
Наличие имени у модуля и возможность вызова по имени
Модуль должен иметь один вход и один выход
Модуль должен возвращать управление в ту точку, откуда был вызван
Модуль должен иметь возможность вызывать другие модули
Внутренний текст модуля должен быть структурирован
Модуль должен быть обозрим в исходном тексте
Модуль должен иметь минимальную возможность обена информацией с другими модулями
Слайд 7Спецификация программ:
Спецификация модуля включает в себя:
Проектирование:
Описание функции модуля
Описание интерфейса модуля с другими
![Спецификация программ: Спецификация модуля включает в себя: Проектирование: Описание функции модуля Описание](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-6.jpg)
модулями, т.е. описание тех данных, которыми модуль обменивается с другими модулями при вызовах
Разработка руководства по модулю для пользователя и утверждение с пользователем
Слайд 8Планирование:
Распределение работы между группой исполнителей
Определение очередности реализации
Определение способа откладки и способа проверки
![Планирование: Распределение работы между группой исполнителей Определение очередности реализации Определение способа откладки](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-7.jpg)
достоверности результатов
Проработка тестовых заданий, которые проверяют работу программы. Они должны быть продуманы и разработаны до начала написания работы
Этап реализации:
Написание модуля
Откладка
Документирование (в соответствии с ЕСПД – единой системой проектной документации)
Сдача
Слайд 9Метод пошаговой детализации
Метод пошаговой детализации – еще одно средство создания структурированных
![Метод пошаговой детализации Метод пошаговой детализации – еще одно средство создания структурированных](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-8.jpg)
алгоритмов. Сущность метода – проектирование алгоритма разбивается на ряд последовательных шагов. На первом шаге задача рассматривается обобщенно, и описывает полный алгоритм ее решения т.о, что бы он представлял простую структуру или элементарную комбинацию простых структур. На втором шаге мы просматриваем наш алгоритм и те действия, которые недостаточно детализированы, уточняем т.о, чтобы эти уточнения также представляли собой простую структуру или элементарную комбинацию простых структур. На третьем и последующих шагах мы повторяем второй шаг для тех действий, которые содержатся в предыдущих уточнениях. Процесс заканчивается тогда, когда все действия оказываются элементарными для программирования.
Слайд 10Правила пошаговой детализации:
Не следует спешить сразу дробить задачу на мелкие детали. На
![Правила пошаговой детализации: Не следует спешить сразу дробить задачу на мелкие детали.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/438960/slide-9.jpg)
каждом шаге нужно делать небольшие уточнения
По мере детализации нужно внимательно следить за данными (можно составить таблицу идентификаторов). Следует избегать использования одинаковых имен в разных смыслах
Надо быть готовым вернуться назад и отказаться от какой-то детализации, которая ведет в тупик