Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программная инженерия.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
3.01 Mб
Скачать

5.4Модульное программирование (мп)

Архитектура МП позволяет:

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

  • осуществлять связи между модулями через специальный интерфейс,

  • запретить доступ к реализации модуля (телам подпрограмм и некоторым «внутренним» переменным).

Технологию МП поддерживают современные версии языков Pascal и С (C++), языки Ада и Modula.

Использование МП упрощает разработку программ несколькими программистами:

  • внутренняя организация модулей скрыта и потому может изменяться независимо;

  • взаимодействие модулей осуществляется через специально оговоренные интерфейсы модулей;

  • модули в дальнейшем могут использоваться в других разработках, что увеличивает производительность труда программистов.

Практика программирования показывает, что структурный подход в сочетании с МП позволяет получать достаточно надежные программы, размер которых не превышает 100000 операторов.

Узкие места МП:

  • ошибка в интерфейсе при вызове подпрограммы выявляется только при выполнении программы (из-за раздельной компиляции модулей обнаружить эти ошибки раньше невозможно).

  • при увеличении размера программы свыше 100 000 операторов возрастает сложность межмодульных интерфейсов, и предусмотреть взаимовлияние отдельных частей программы становится практически невозможно.

Стремление уменьшить количество связей между отдельными частями программы приводит к появлению объектно-ориентированного программирования (ООП).

5.5Формирование структуры модулей программы

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

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

Далее формируется структура функций программного средства, показывающая состав главных и подчинённых функций. Она выполняется в виде дерева функций.

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

Когда логические связи между функциями определены, функции трансформируются в модули, с учётом правил их реализации в языке программирования. На этом этапе некоторые функции могут быть объединены, модернизированы и т.п.

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