ЛЕКЦИЯ 10 Мод прогр Осн пон

реклама
ЛЕКЦИЯ 10
Тема 1.7 Модульное программирование
1. Основные понятия и определения.
2. Программные модули и их свойства.
3. Схема модуляции. Оценка модульной программы.
1 Основные понятия и определения
Идеи модульного программирования связаны с принципами «разделяй и
властвуй» и иерархического упорядочения.
Основные цели модульного программирования:
1. Декомпозиция программы на независимые фрагменты–модули,
которые могут быть в дальнейшем реализованы в виде отдельных
процедур или функций, либо в виде модулей (UNIT).
2. Разделение сложной проблемы на более мелкие и простые
подпроблемы.
3. Независимая разработка и тестирование каждого модуля.
Модульное программирование – это организация программы в виде
небольших независимых блоков, называемых модулями, структура и
поведение которых определяется некоторой совокупностью правил.
Достоинства модульного программирования:
1. Модульная программа проще для понимания, т.к. возможно в каждый
момент времени рассматривать один модуль.
2. Упрощено тестирование программы.
3. Упрощен процесс обнаружения и исправления ошибок.
4. Изменения, вносимые в программу, могут быть ограничены
немногими модулями, т.е. не требуют просмотра всего текста
программы.
5. Упрощен процесс повышения эффективности программы.
6. Отдельные модули могут повторно использоваться в других
программах в качестве строительных блоков.
7. Время разработки сложной программы может быть заметно
сокращено, поскольку разработка отдельных модулей может быть
поручена разным программистам, работа которых может выполняться
более или менее независимо.
2 Программные модули и их свойства
Модуль – это какая-либо процедура или функция, написанная в
соответствии с определенными правилами. Модуль разрабатывается как
последовательность операторов, ограниченных точкой входа и точкой выхода.
Для модуля характерна модель типа «черного ящика», которая реализует
принцип сокрытия информации.
«Черный ящик» - обычная система, для которой известны входы,
выходы и функция, выполняемая процессом, но не известно детально, как
реализован сам процесс, т.е. «черный ящик» может быть использован без
понимания его содержания.
Модуль должен обладать свойствами:
1. Каждый модуль представляет одну логическую задачу.
2. Модуль замкнутый и простой.
3. Модуль дискретен и обозрим.
4. Модуль отдельно тестируется и отлаживается.
5. Каждый модуль реализуется применительно к одной независимой
функции программы.
6. Каждый модуль имеет одну точку входа и одну точку выхода.
7. Модули могут объединяться в более крупные модули без знания
особенностей их внутреннего содержания.
8. Модули должны иметь хорошо определенные интерфейсы, при этом
управляющие связи осуществляются через их точки входа и выхода.
Структурная программа, построенная по модульному принципу,
обладает свойствами:
1. Программа разделяется на ряд модулей, упорядоченных иерархически
в соответствии с их логическими связями и связями по
последовательности выполнения.
2. Последовательность (поток) выполнения программы от модуля к
модулю ограничивается жесткой схемой: управление должно
передаваться к модулю в единственную его точку входа и покидать
модуль в его точке выхода и всегда должно возвращаться к
вызывающему модулю.
3. Конструкция модуля стандартизируется в соответствии с
традиционными правилами модуляции, а в качестве составных блоков
в модуле должны использоваться только последовательность, выбор и
повторение (цикл). Оператор безусловного перехода GO TO только
для перехода непосредственно в точку выхода.
4. Структурная программа должна быть документирована, т.е.
содержать информацию о модуле в тексте исходного кода в виде
комментариев. Описание общей функции программы, пояснение
функций каждого модуля, описание структур данных, а также связей
модуля с другими модулями программы обязательно.
При построении модульной программы важным является выбор размера
модуля. Приводятся разные оценки. Обобщая их, можно сказать, что модуль
не должен содержать более 50 строк кода.
Скачать