Анализ модульного программирования. Определение метода разработки программных модулей.

2.5. Анализ модульного программирования:

Язык модульного программирования реализован как средство написания управляющей программы (блок-схемы) решения прикладной задачи с помощью системы МОПР. Он является расширением Фортрана в первую очередь благодаря введению операций вызовов модуля и макроса. Дополнительные возможности обеспечиваются также использованием стандартных переменных, операций обращения к архивам, арифметических действий с массивами и некоторых других средств.

Возможность модульного программирования в той степени, которая сейчас получает воплощение в языках Ада, Модула-2 и других, довольно слабо представлена в Паскале и Литтле, где невозможна раздельная компиляция модулей.

Язык модульного программирования прост для понимания и обучения, он оперирует простыми средствами построения сложных программ. Программы, написанные на этом языке, по эффективности Сравнимы с программами, написанными на мнемокоде ММЭВМ.

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

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

Методология модульного программирования SADT ( Structured Analysis and Design Technigue) обеспечивает определение и представление в стандартной документированной форме требований к системе. Методология SADT представляет собой не только основу разработки модульных программ, но и обеспечивает проведение анализа обоснованности требований к программному обеспечению. Она основывается на функциональной декомпозиции разрабатываемой программы и итеративном процессе самой разработки. Для представления результатов проектирования используются диаграммы SADT. Каждая диаграмма содержит шесть выделенных взаимосвязанных прямоугольников.

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

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

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

Я-технология и модульное программирование, - технология и обеспечивающие ее инструментальные комплексы имеют все необходимое для достижения высокого уровня модульности программ. Они обладают необходимыми средствами, позволяющими без существенных дополнительных затрат ресурсов ЭВМ удобно компоновать программу из модулей, имеющих произвольный (в том числе и малый) размер, написанных разными исполнителями и на различных языках программирования.

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

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

Основные достоинства модульного программирования состоят в следующем.

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

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

2.6. Определение метода разработки программных модулей:

При разработке программного модуля необходимо придерживаться следующего порядка:

1.изучение и проверка спецификации модуля, выбор языка программирования;

2.выбор алгоритма и структуры данных;

3.программирование (кодирование) модуля;

4.шлифовка текста модуля;

5.проверка модуля;

6.компиляция модуля.

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

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

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

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

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

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

Наши рекомендации