В стандартизованном стиле

Модульное и структурное программирование. Программирование

Методы программирования ПО САПР

Материалы, полученные на стадии технического проекта программы, являются основой для выполнения последующих этапов программирования, а также отладки и испытаний программ САПР, которые составляют содержание стадии рабочего проекта ПО САПР.

Этап программирования заключается в переводе алгоритмов программ в тексты программ на исходных языках программирования. Этап отладки включает проверку программ с целью выявления ошибок, поиск и устранение выявленных ошибок. Этапы программирования и отладки завершаются разработкой программных документов в соответствии с ГОСТ 19.101-77. Программная документация, необходимая и достаточная для испытаний, внедрения, эксплуатации и сопровождения программ САПР, является важнейшей неотъемлемой частью ПО. Работа программиста на может считаться законченной, пока не будет разработан необходимый комплект программных документов.

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

К основным методам программирования, ориентированным на получение надежных, пригодных для отладки, испытаний и сопровождения программ, можно отнести:

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

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

· структурное программирование;

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

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

 

 

Модульное программирование.Многие системы программирования строятся в расчете на модульное программирование.

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

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

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

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

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

- каждый модуль содержит, как правило, одну точку входа и одну точку выхода.

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

Упрощается отладка программ. Это дает возможность разрабатывать программу методами сверху вниз или снизу вверх, постепенно присоединяя написанные модули к ранее отлаженным. После каждого такого присоединения неверная работа программы сигнализирует о присутствии ошибки в новом модуле, а не в уже отлаженном.

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

 

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

- имеют модульную структуру;

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

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

- использование глобальных переменных ограничено.

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

И м я м о д у л я. Имя модуля используется другими модулями для обращения к нему.

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

С п и с о к п а р а м е т р о в. Список определяет число и порядок задания параметров.

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

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

В н е ш н и е э ф ф е к т ы. Дается описание внешних эффектов для программы или системы событий, происходящих при работе модуля.

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

 

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

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

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

 

//****************************** C text file ************************

// Имя функции: in_hex

// Файл : in_hex.c

// Назначение: Модуль ввода табличных исходных данных для

// программ конструктивного расчета теплообменника

// Метод :

// Параметры:

// Входные данные:

// Выходные данные:

// Используемые функции:

// Автор :

// Дата :

// Модификации:

//*********************************************************************

 

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

Большую роль при программировании имеет правильное присвоение имен данным, файлам, функциям. Имена должны отражать сущность описываемых с их помощью объектов. Рекомендуемая длина идентификаторов составляет 5-10 символов.

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

1. Использовать пробелы для выделения составных частей операторов.

2. Не следует располагать на одной строке программы более одного оператора. Это облегчает чтение текста, поиск и удаление ошибок, модификацию программы;

3. Необходимо использовать отступы для выявления составных и вложен­ных операторов.

4. Желательно использовать пустые строки для разделения логически или функционально самостоятельных частей программы.

4.7. Документирование программного обеспечения САПР

 

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

Документирование ПО САПР осуществляется в соответствии с Единой системой программной документации (ЕСПД). ЕСПД представляет собой комплекс государственных стандартов, которые устанавливают взаимоувязанные правила разработки, оформления и хранения программной документации.

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