Разработка сложных программных изделий

Особенности структурных программ


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

Одной из первьцх появилась идея нисходящего программирования (проектирования), или пошаговая детализация, которая подразуме­вает разбиение с;ложной задачи на некоторое число подзадач. Такое последовательное разбиение продолжается до тех пор, пока полу­ченные подзадачи не станут настолько простыми, что их можно легко записать та языке программирования. В результате последо­вательной детализации программу можно представить в виде ие­рархической стр)уктуры взаимосвязанных модулей в соответствии с распределением подзадач по уровням иерархии.

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

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

• простая стандартная структура управления;

• единые требования к документированию программы;

• соглашения! о стиле кодирования.

Рассмотрим перечисленные характеристики подробнее.

Структурная! программа разделяется на ряд модулей, упорядо­ченных иерархически в соответствии с их логическими связями и связями по последовательности выполнения. Поток выполнения модулей програ,ммы подчиняется простым и понятным правилам (см. главу 4).

Базовый набюр управляющих структур ограничен тремя базовы­ми конструкциями: последовательность, выбор, повторение (цикл). Для расширения! возможности принятия многоальтернативных ре­шений базовый набор дополнен в большинстве языков программи­рования оператсором многоальтернативного выбора.
В структурных программах допускается использование оператора перехода (GO TO), но толгько для перехода в точку выхода данного модуля.

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



• общий обзор программы;

• организация программы;

• операторы программы.

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

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

1. Краткое описание общей функции программы, определяющее ее основные компоненты.

2. Краткое описание базы данных, включая главные файлы и структуры записей.

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

4. Ссылки на предшествующую документацию, проектные доку­менты и материалы.

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

Элементы блока комментариев для каждого модуля содержат:

• назначение модуля (в одном — двух предложениях);

• алгоритмические особенности, ограничения;

• описание интерфейсов модуля (передаваемые параметры);

• реакция на ошибки и процедуры восстановления при ошибках;

• информация о влиянии изменений в модуле на другие части программы.

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


Вместо комментариев зачастую используют­ся:

• содержательные имена процедур и переменных;

• типовые управляющие конструкции и процедуры;

• последовательный, строгий стиль кодирования.

Стандартизация стиля кодирования предполагает выполнение следующих правил.

1. На каждой строке записывается один оператор. Если для за­писи требуется более одной строки, то на следующих строках дела­ются отступы.

2. В структуре выбора для каждой ветви должны быть сделаны отступы, чтобы показать содержание каждой ветви.

3. Для выделения операторов, образующих тело цикла, состав­ных и вложенных операторов также используются отступы.

4. В структуре выбора не допускается более трех уровней вло­женности: большей вложенности циклов следует избегать.

5. Комментарии пролога программы должны отделяться от опе­раторов пустой строкой.

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


Содержание раздела