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

advertisement
ЛЕКЦИЯ 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 строк кода.
Related documents
Download