Принципы модульного программирования программных продуктов во многом сходны с
принципами нисходящего проектирования. Сначала определяются состав и подчиненность
функций, а затем — набор программных модулей, реализующих эти функции.
Однотипные функции реализуются одними и теми же модулями. Функция верхнего
уровня обеспечивается главным модулем; он управляет выполнением нижестоящих функций, которым соответствуют подчиненные модули.
При определении набора модулей, реализующих функции конкретного алгоритма, необходимо учитывать следующее:
• каждый модуль вызывается на выполнение вышестоящим модулем и, закончив работу, возвращает управление вызвавшему его модулю;
• принятие основных решений в алгоритме выносится на максимально "высокий" по
иерархии уровень;
• для использования одной и той же функции в разных местах алгоритма создается один
модуль, который вызывается на выполнение по мере необходимости.
В результате дальнейшей детализации алгоритма создается функционально-модульная
схема (ФМС) алгоритма приложения, которая является основой для программирования
(рис. 18.3).
Рис. 18.3. Функционально-модульная структура приложения
Пример 18.5. Некоторые функции могут выполняться с помощью одного и того же
программного модуля (например, функции Ф1 и Ф2).
• Функция Фз реализуется в виде последовательности выполнения программных модулей.
• Функция Фт реализуется с помощью иерархии связанных модулей.
• Модуль п управляет выбором на выполнение подчиненных модулей.
• Функция Фх реализуется одним программным модулем.
Состав и вид программных модулей, их назначение и характер использования в программе в значительной степени определяются инструментальными средствами. Например,
применительно к средствам СУБД отдельными модулями могут быть:
• экранные формы ввода и/или редактирования информации базы данных;
• отчеты генератора отчетов;
• макросы;
• стандартные процедуры обработки информации;
• меню, обеспечивающее выбор функции обработки и др.
Алгоритмы большой сложности обычно представляются с помощью схем двух видов:
• обобщенной схемы алгоритма — раскрывает общий принцип функционирования алгоритма и основные логические связи между отдельными модулями на уровне обработки информации (ввод и редактирование данных, вычисления, печать результатов и
т.п.);
• детальной схемы алгоритма — представляет содержание каждого элемента обобщенной схемы с использованием управляющих структур в блок-схемах алгоритма, псевдокода либо алгоритмических языков высокого уровня.
Наиболее часто детально проработанные алгоритмы изображаются в виде блок-схем
согласно требованиям структурного программирования; при их разработке используются
условные обозначения согласно ГОСТ 19.003-80 ЕСПД (Единая система программной
документации). Обозначения условные графические, ГОСТ 19.002-80 ЕСПД. Схемы алгоритмов и программ. Правила обозначения.