Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБУЧАЮЩИЙ КУРС Глухова Лилия Александровна 2004.doc
Скачиваний:
189
Добавлен:
15.06.2014
Размер:
894.98 Кб
Скачать
  1. Классические технологии проектирования программ

    1. Модульное проектирование программ

Под модуляризацией понимается разделение программы на части по некоторым установленным правилам.

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

Признаки модульности программы:

  1. Программа состоит из модулей.

  2. Независимость модулей.

  3. Условие : один вход, один выход.

Достоинства модульного проектирования:

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

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

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

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

  5. Исключение чрезмерной детализации алгоритма.

Недостатки:

  1. модульность требует большей дополнительной работы программиста и определенных навыков проектирования программ.

  2. модульный подход в среднем требует большего времени работы ЦП(на 5-10%) за счет времени обращения к модулям.

  3. модульность программ приводит к увеличению объема программ(на 5-10%).

Методы проектирования модульных программ делятся на 3 группы:

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

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

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

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

Основное назначение:

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

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

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

Метод основан на двух стратегиях:

  1. пошаговое уточнение (разработана Дейкстрой)

  2. анализ сообщений (разработана группой авторов:Йодан, Константайн, Мейерс).

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

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

Существуют 2 способа реализации пошагового уточнения:

  1. кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования.

  2. Взаимное расположение записи должно обеспечивать читабельность всей программы.

Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования

Общее правило записи текста программы:

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

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

1 этап: programобработка_пакетов;

2 этап

Programобработка_пакетов;

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

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

Endprogram

3 этап

Programобработка_пакетов;

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

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

[Whileне_конец_входного_файлаDo

взять_прав_уппр_группу

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

End

обработать_неправ_упр_группы

]

Endprogram

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

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

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

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

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

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

Использование комментариев для описания обработки данных.

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

Существуют следующие виды комментариев.

  1. заголовки: объясняют назначение основных блоков программы на отдельных этапах пошаговой детализации.

  2. построчные: описывают мелкие фрагменты программы.

  3. вводные комментарии: помещаются в начале текста программы и задают общую информацию о программе.

Нормы комментариев:

4-5 строк комментария заголовка на каждую подпрограмму или блок и по 1 комментарию на каждые 2-3 строки исходного текста для построчных комментариев.

Пример:

1 этап

{программа обработки пакетов записей

разработчик – Иванов И.И. …}

{Заголовок программы}

2 этап

{вводный комментарий из предыдущего этапа}

{заголовок программы}

Program{обработка пакетов}

{сортировка записей по упр полям}

{отделение правильных записей от неправильных и их обработка}

Endprogram

3 этап

{отделение правильных записей от неправильных и их обработка}

{взятие первой записи}

While{не конец входного файла}do

{взятие правильной управляющей группы}

{Обработка группы записей}

End

{обработка неправильной управляющей группы}

Endprogram