Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на госэкзамен / модул_программ.doc
Скачиваний:
43
Добавлен:
02.05.2014
Размер:
98.3 Кб
Скачать

Здесь Вы найдете ответ на вопрос 3. Принципы модульного программирования.

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

Модульное программирование предполагает выделение групп подпрограмм, использующих одни и те же глобальные данные в отдельно компилируемые модули (библиотеки подпрограмм), например, модуль графических ресурсов, модуль подпрограмм вывода на принтер (рис. 1.5). Связи между модулями при использовании данной технологии осуществляются через специальный интерфейс, в то время как доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным) запрещен. Эту технологию поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

Рис. 1.5. Архитектура программы, состоящей из модулей

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

Модуль – это программа, обладающая тремя основными атрибутами:

  1. он выполняет одну или несколько функций;

  2. модуль реализует некоторую логику (алгоритм).

  3. используется в одном или нескольких контекстах.

При этом функция – это то, что делает модуль, а не то, как он это делает. А вот логика характеризует, как модуль выполняет свои функции. Контекст описывает конкретное применение.

Например: модуль с функцией “удалить пробелы из литерной строки” может использоваться в контексте “сжать сообщение для телеобработки”.

Или модуль, вычисляющий сумму:

может использоваться в контекстах “вычисление зарплаты всех сотрудников” или “определение пробега всех автомобилей”. В этом случае содержательный смысл слагаемых ai различный.

Основная причина по которой разрабатываемое ПО разбивается на модули – борьба со сложностью ПО.

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

а) усиление внутренних связей в каждом модуле (иначе принцип называется повышением прочности модуля);

б) ослабление взаимосвязи между модулями (иначе этот принцип называется ослаблением сцепления модулей).

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

Для качественной характеристики модулей введены 7 классов прочности (в литературных источниках последних лет выпуска это качество модуля называется связностью) модулей и 5 видов сцепления модулей. Класс прочности является мерой связи предложений внутри модуля. Сцепление модулей – это мера зависимости между модулями.

Соседние файлы в папке Ответы на госэкзамен