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

Проектирование программ.

Проектирование программ подобно проектированию всей системы. В отличии от системы каждая программа имеет единственное функциональное назначение и не может быть разбито на части, используемые в различные моменты времени. Сходство программы с системой заключается в наличии внешних и внутренних потоков данных, областей хранения данных, возможность разделения её на независимые модули, которые можно обрабатывать и настраивать отдельно. Модуляризация программы – это разделение её на части по некоторым правилам. Этими частями могут быть: внутренние или внешние процедуры, программные секции.

Преимущества модульности:

  1. Упрощение разработки и реализации программ.

  2. Облегчение чтения программ.

  3. Упрощение настройки и модификации программ.

  4. облегчение работы с данными, имеющие сложную структуру.

  5. Возможность избежать чрезмерной детализации алгоритма.

  6. Обеспечение более выгодного размещения программ в памяти ЭВМ.

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

  1. Методы нисходящего проектирования.

  2. Методы расширения ядра.

  3. Методы восходящего проектирования.

  4. Методы объектно-ориентированного проектирования.

    1. Метод нисходящего проектирования.

1-й шаг: формулируется предложение, описывающее функцию всей программы.

2-й шаг: определяются подфункции программы.

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

Пошаговое уточнение.

На каждом следующем этапе декомпозиции определяются программы очередного более низкого уровня. Для этого используются процедурные языки программирования.

Пример:

1-й шаг:

Процедура! обработка_пакетов;

2-й шаг:

Процедура! обработка_пакетов;

сортировать записи по управляющим полям;

отделить правильные записи от неправильных

и обработать;

ВСЁ – Процедура!

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

Пример:

Процедура! обработка пакетов;

сортировать записи по управляющим полям;

взять первую запись;

Цикл – пока не конец входного файла;

Повторять

взять правую управляющую группу;

обработать группу записей;

ВСЁ – цикл;

обработать неправильные управляющие группы;

ВСЁ – Процедура!

Операцию сортировки надо написать и оформить в виде независимого модуля.

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

  1. Заставляет сформулировать программу.

  2. Разбить программу на проблемы.

Преимущества метода пошагового уточнения:

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

Недостаток метода:

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]