Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Структурное программирование.doc
Скачиваний:
12
Добавлен:
04.09.2019
Размер:
55.81 Кб
Скачать

Основные принципы структурного подхода

Принцип абстракции позволяет рассматривать программу по уровням. Верхний уровень показывает наибольшую степень абстракции, упрощает восприятие программы; нижний уровень показывает детали реализации (например, восходящие и нисходящие стратегии программирования).

Разделение программы на отдельные фрагменты (методы), которые просты по управлению и допускают независимую отладку и тестирование.

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

Возможность участия в результате большого количества людей.

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

Возможность демонстрирования работы программы на всех этапах ее создания.

Возможность планирования работы, уверенность в реальных сроках завершения.

Принцип иерархического упорядочения.

Структурный подход включает в себя 3 основные составные части:

– нисходящее проектирование;

– структурное программирование;

– сквозной структурный контроль.

Рассмотрим подробнее часть первую. При возрастании сложности и объема программ они становятся слишком большими для анализа и понимания даже при условии правильной организации их структуры. С целью управления процессом создания программ прибегают к делению большой программы на модули. Этот процесс называется нисходящим проектированием.

Делить программу на модули необходимо, учитывая следующие свойства (или требования) модулей:

Возможность обособления модуля в исходном и объектном кодах.

Наличие имени у модуля и возможность вызова по имени.

Модуль должен иметь один вход и один выход.

Модуль должен возвращать управление в ту точку, откуда был вызван.

Модуль должен иметь возможность вызывать другие модули.

Внутренний текст модуля должен быть структурирован (представлять комбинацию простых структур).

Модуль должен быть обозрим в исходном тексте (желательно помещаться на одной странице).

Модуль не использует историю своих вызовов для управления своим функционированием (сколько бы мы ни вызывали модуль, он делает одно и тоже).

Функциональная замкнутость модуля. Идеальный модуль выполняет только одну функцию, но выполняет ее целиком.

Модуль должен иметь минимальную возможность обмена информацией с другими модулями.

Модуль может использовать глобальные объекты, но не должен их менять (без необходимости).

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

Завершение разработки схемы иерархии должно сопровождаться согласованием ее с заказчиком и написанием ее объяснения.

Спецификация программ

Спецификация модуля включает в себя:

Проектирование:

  • описание функции модуля;

  • описание интерфейса модуля с другими модулями, т. е. описание тех данных, которыми модуль обменивается с другими модулями при вызовах;

  • разработка руководства по модулю для пользователя и утверждение с пользователем.

Планирование:

  • распределение работы между группой исполнителей;

  • определение очередности реализации;

  • определение способа отладки и способа проверки достоверности результатов;

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

Этап реализации:

  • написание модуля;

  • отладка;

  • документирование (в соответствии с ЕСПД – единой системой проектной документации);

  • сдача.