Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
1. Принцип абстракции позволяет рассматривать программу по уровням. Верхний уровень показывает наибольшую степень абстракции, упрощает восприятие программы; нижний уровень показывает детали реализации (например, восходящие и нисходящие стратегии программирования).
2. Разделение программы на отдельные фрагменты (методы), которые просты по управлению и допускают независимую отладку и тестирование.
3. Строгий методический подход (принцип формальности) позволяет изучать программы (алгоритмы) как математические объекты, ускорять принятие решений, избежать ошибок.
4. Возможность участия в получении результата большого количества людей.
5. Программы должны быть построены так, чтобы можно было вносить в них изменения без участия автора.
6. Возможность демонстрирования работы программы на всех этапах ее создания.
7. Возможность планирования работы, уверенность в реальных сроках завершения.
8. Принцип иерархического упорядочения.
Структурный подход включает в себя три основные составные части:
– нисходящее проектирование;
– структурное программирование;
– сквозной структурный контроль.
Рассмотрим подробнее первую часть. При возрастании сложности и объема программ они становятся слишком большими для анализа и понимания даже при условии правильной организации их структуры. С целью управления процессом создания программ прибегают к делению большой программы на модули. Этот процесс называется нисходящим проектированием.
Делить программу на модули необходимо, учитывая следующие свойства (или требования) модулей:
1. Возможность обособления модуля в исходном и объектном кодах.
2. Наличие имени у модуля и возможность вызова по имени.
3. Модуль должен иметь один вход и один выход.
4. Модуль должен возвращать управление в ту точку, откуда был вызван.
5. Модуль должен иметь возможность вызывать другие модули.
6. Внутренний текст модуля должен быть структурирован (представлять комбинацию простых структур).
7. Модуль должен быть обозрим в исходном тексте (желательно чтобы он помещался на одной странице).
8. Модуль не использует историю своих вызовов для управления своим функционированием (сколько бы мы ни вызывали модуль, он делает одно и то же).
9. Функциональная замкнутость модуля (идеальный модуль выполняет только одну функцию, но выполняет ее целиком).
10. Модуль должен иметь минимальную возможность обмена информацией с другими модулями.
11. Модуль может использовать глобальные объекты, но не должен их менять (без необходимости).
Итак, нисходящее проектирование – это процесс проектирования программной системы как совокупности модулей, основанный на уровнях абстракции, которые сначала представляют собой уровни функций, а затем – уровни модулей. На самой вершине этого процесса находится единственный модуль, который является образом всей системы. Его функция – основная функция всей системы. Мы рассматриваем его функцию и выясняем, чем он должен обладать, чтобы соответствовать свойствам модуля.
П р и м е р (рис. 1.1). Если функции F1, F2, F3 реализованы отдельно, но основной модуль может обращаться к ним, тогда модуль хорошо организован.
|
Второй
уровень
Третий уровень
|
|
|
|
|
|
|
|
Дата публикования: 2014-10-25; Прочитано: 1248 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!