Структурапрограммных продуктов В большей степени программные продукты не являются «монолитом» и имеют конструкцию (архитектуру) построения – состав и взаимосвязь программных модулей.
Программный продукт обладает внутренней организацией, или внутренней структурой, образованной взаимосвязанными программными модулями. Это справедливо для сложных и многофункциональных программных продуктов, которые часто называются программными системами. При создании программных продуктов выделяются многократно используемые модули, проводится их типизация и унификация, за счет чего сокращаются сроки и трудозатраты на разработку программного продукта в целом.
Некоторые программные продукты используют модули из готовых библиотек стандартных подпрограмм, процедур, функций, объектов, методов обработки данных.
На рис1 приведена типовая структура программного продукта, состоящего из отдельных программных модулей и библиотек процедур, встроенных функций, объектов и т. п.
Рис1.Структура программного продукта
Среди множества модулей различают:
головной модуль – управляет запуском программного продукта (существует в единственном числе);
управляющий модуль – обеспечивает вызов других модулей на обработку;
сервисные модули и библиотеки, утилиты – осуществляют обслуживающие функции.
В работе программного продукта активизируются необходимые программные модули. Управляющие модули задают последовательность вызова на выполнение очередною модуля. Информационная связь модулей обеспечивается за счет использования общей базы данных либо межмодульной передачи данных через переменные обмена.
Каждый модуль может оформляться как самостоятельно хранимый файл. Для функционирования программного продукта необходимо наличие программных модулей в полном составе.
Программы произвольных размеров и сложности могут быть написаны на основе ограниченного множества базисных структур. Этот принцип положен в основу проектирования схем, где любая логическая структура может быть создана из элементарных структур:
структура последовательности – это формализация того, что операторы программы выполняются в порядке их появления в программе, пока что-то не изменит их последовательность.
структура выбора – это выбор одного из двух действий исходя из выполненного некоторого условия.
структура повторения – используется для повторного выполнения группы команд до тех пор, пока не выполниться некоторое условие.
Получение правильной программы путем замены операторов программы на управляющие логические структуры называется вложением структур.
Простота исходных конструкций структурного программирования предотвращает появление сложных информационных связей и запутанных передач управления.
Структурированными считаются программы, которые не имеют циклов с несколькими выходами, не имеют переходов внутрь циклов или условных операторов и не имеют выходов из внутренней части циклов или условных операторов.
Любое ПО можно представить в виде иерархии модулей. Модули верхнего уровня выполняют более общие функции и вызывают модули нижних уровней, в которых детализируется решение задачи. Например, при работе программы системы управления объекта, показанной на рис2, поочередно вызываются модули 1, 2, 3. В свою очередь модуль 1 вызывает модули нижнего уровня (1.1; 1.2; 1.3).
Рис2. Пример иерархии программных модулей
Модули нижних уровней или одного уровня иерархии могут вызываться для исполнения только модулями высших уровней, т.е. модули нижних уровней не могут вызывать модули высших уровней, а модули одного уровня – вызывать друг друга.