Структурное программирование: нисходящая разработка, сквозной структурный контроль. Использование базовых логических структур. - Painted-Black/BMSTU-OOP GitHub Wiki

Основные идеи структурного программирования:

  • Нисходящая разработка

    Нисходящий подход предполагает, что проектирование и последующая реализация компонентов выполняется «сверху-вниз», т.е. вначале проектируют компоненты верхних уровней иерархии, затем следующих и так далее до самых нижних уровней. В той же последовательности выполняют и реализацию компонентов. При этом в процессе программирования компоненты нижних, еще не реализованных уровней заменяют специально разработанными отладочными модулями – «заглушками», что позволяет тестировать и отлаживать уже реализованную часть.

    Формализует задачу более низкий уровень, решение принимает более высокий уровень. Зависимых подзадач должно быть не более 7.

    Преимущества нисходящей разработки:

    • Логические ошибки выявляются на самой ранней стадии
    • Выделение уровней абстракции упрощает написание кода
    • Совмещение этапов разработки - кодирование, проектирование, тестирование
    • Удобное естественное распределение задач между программистами
    • Практически нет "кода в корзирну"
    • Хорошо формируются библиотеки, повторное использование кода
    • Плавное распределение ресурсов при разработке
    • Упрощается процесс сопровождения программного продукта
    • Упрощается отладка.

    Использование базовых логических структур - следование, развилка, повторение. Алгоритм любой сложности можно реализовать с их использованием.

    • Цикл с предусловием - while
    • Цикл с постусловием - do while/ until
    • Цикл с известным количеством итераций - for
    • Безусловный цикл - loop.
  • Сквозной структурный контроль

    Идея IBM: перенести контроль на программиста.

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

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

    Контрольные встречи (сессии) проводятся руководителем проекта или главным программистом, его замом + исполнитель работы (контролируемое лицо) + иногда лицо со стороны заказчика. Чем чаще сессии, тем меньше ошибок в программном продукте, упрощается процесс тестирования, ускоряется процесс разработки программного продукта.

    Это средство, которое облегчает управление проектом. является техническим средством и используется людьми, занятыми непосредственно в проекте.

Три подхода программирования модулей:

  • Иерархический (по уровню абстракции)
  • Операционный (в порядке вызова модулей)
  • Смешанный.