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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • отладка;

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

  • сдача.