Структурное программирование: нисходящая разработка, сквозной структурный контроль. Использование базовых логических структур. - Painted-Black/BMSTU-OOP GitHub Wiki
Основные идеи структурного программирования:
-
Нисходящая разработка
Нисходящий подход предполагает, что проектирование и последующая реализация компонентов выполняется «сверху-вниз», т.е. вначале проектируют компоненты верхних уровней иерархии, затем следующих и так далее до самых нижних уровней. В той же последовательности выполняют и реализацию компонентов. При этом в процессе программирования компоненты нижних, еще не реализованных уровней заменяют специально разработанными отладочными модулями – «заглушками», что позволяет тестировать и отлаживать уже реализованную часть.
Формализует задачу более низкий уровень, решение принимает более высокий уровень. Зависимых подзадач должно быть не более 7.
Преимущества нисходящей разработки:
- Логические ошибки выявляются на самой ранней стадии
- Выделение уровней абстракции упрощает написание кода
- Совмещение этапов разработки - кодирование, проектирование, тестирование
- Удобное естественное распределение задач между программистами
- Практически нет "кода в корзирну"
- Хорошо формируются библиотеки, повторное использование кода
- Плавное распределение ресурсов при разработке
- Упрощается процесс сопровождения программного продукта
- Упрощается отладка.
Использование базовых логических структур - следование, развилка, повторение. Алгоритм любой сложности можно реализовать с их использованием.
- Цикл с предусловием - while
- Цикл с постусловием - do while/ until
- Цикл с известным количеством итераций - for
- Безусловный цикл - loop.
-
Сквозной структурный контроль
Идея IBM: перенести контроль на программиста.
Сквозной структурный контроль представляет собой совокупность технологических операций контроля, позволяющих обеспечить как можно более раннее обнаружение ошибок в процессе разработки. Термин «сквозной» в названии отражает выполнение контроля на всех этапах разработки. Термин «структурный» означает наличие четких рекомендаций по выполнению контролирующих операций на каждом этапе.
Сквозной структурный контроль должен выполняться на специальных контрольных сессиях, в которых, помимо разработчиков, могут участвовать специально приглашенные эксперты.
Контрольные встречи (сессии) проводятся руководителем проекта или главным программистом, его замом + исполнитель работы (контролируемое лицо) + иногда лицо со стороны заказчика. Чем чаще сессии, тем меньше ошибок в программном продукте, упрощается процесс тестирования, ускоряется процесс разработки программного продукта.
Это средство, которое облегчает управление проектом. является техническим средством и используется людьми, занятыми непосредственно в проекте.
Три подхода программирования модулей:
- Иерархический (по уровню абстракции)
- Операционный (в порядке вызова модулей)
- Смешанный.