Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПП пособие Шишов.doc
Скачиваний:
132
Добавлен:
17.11.2018
Размер:
3.25 Mб
Скачать

7.2. Структура программных продуктов

Таким образом, в большей степени программные продукты не являются «монолитом» и имеют конструкцию (архитектуру) построения – состав и взаимосвязь программных модулей.

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

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

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

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

Р и с Структура программного продукта

Среди множества модулей различают:

  • головной модуль – управляет запуском программного продукта (существует в единственном числе);

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

  • рабочие модули выполняют функции обработки;

  • сервисные модули и библиотеки, утилиты – осуществляют обслуживающие функции.

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

Каждый модуль может оформляться как самостоятельно хранимый файл. Для функционирования программного продукта необходимо наличие программных модулей в полном составе.

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

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

  2. структура выбора – это выбор одного из двух действий исходя из выполненного некоторого условия.

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

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

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

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

Любое ПО можно представить в виде иерархии модулей. Модули верхнего уровня выполняют более общие функции и вызывают модули нижних уровней, в которых детализируется решение задачи. Например, при работе программы системы управления объекта, показанной на рис. 7, поочередно вызываются модули 1, 2, 3. В свою очередь модуль 1 вызывает модули нижнего уровня (1.1; 1.2; 1.3).

Р и с. 7. Пример иерархии программных модулей

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

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