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

Структурное кодирование.

Структурное кодирование - это метод кодирования (программирования), предусматривающий создание понятных, простых и удобочитаемых программных модулей и программных комплексов на требуемых языках программирования.

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

Программные комплексы и программные модули, закодированные в соответствии с правилами структурного программирования, называются структурированными.

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

«Один модуль – одна функция»

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

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

· программа должна разделяться на независимые части, называемые модулями;

· модуль - это независимый блок, код (текст) которого физически и логически отделен от кода других модулей;

· модуль выполняет только одну логическую функцию, иначе говоря, должен решать самостоятельную задачу своего уровня по принципу: один программный модуль - одна функция;

· работа программного модуля не должна зависеть:

Þ от входных данных;

Þ от того, какому программному модулю предназначены его выходные данные;

Þ от предыстории вызовов программного модуля;

· размер программного модуля желательно ограничивать одной - двумя страницами исходного листинга (50-100 строк исходного кода);

· взаимосвязи между модулями устанавливаются по иерархической структуре;

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

· при создании модуля можно использовать только стандартные управляющие конструкции: выбор, цикл, блок (последовательность операторов);

· оператор безусловного перехода или вообще не используется в модуле, или применяется в исключительных случаях только для перехода на выходную точку модуля (в направлении от начала к концу модуля, «по шерсти»);

· в тексте модуля необходимо использовать комментарии, в особенности в сложных местах алгоритма;

· идентификаторы переменных и модулей должны быть смысловыми, «говорящими»;

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

· желательно не допускать вложенности операторов IF более чем трех уровней;

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

Порядок разработки программы.

Варианты

1) сверху вниз;

2) снизу вверх;

3) комбинированный;

4) пооперационный, по ветвям;

5) «большого скачка».

Рекомендации по разработке программы.

1) выполняется нисходящее проектирование, как результат - построение структурной схемы программы;

2) осуществляется тщательная проработка интерфейсов в программе, то есть:

v использование только параметров для обмена информацией между подпрограммами,

v контроль правильности использования параметров от подпрограммы к подпрограмме (требования к соответствию формальных и фактических параметров: «количество, качество, порядок следования»). Здесь велика роль таблицы спецификаций, составленной для разрабатываемого пакета;

3) разработка меню, реализующего выполнение программы в удобной технологической последовательности (не рекомендуется в меню на одном уровне предусматривать выполнение большого, например, больше 6-7) количества действий;

4) программирование модулей (подпрограмм) пакета на базе сочетания методов «сверху вниз» и пооперационного. На первом этапе разработки желательно размещать подпрограммы внутри главной программы (достаточно удобный доступ к текстам подпрограмм при тестировании и отладке);

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: