Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Разработка САПР - лекции (2012)

.pdf
Скачиваний:
51
Добавлен:
16.05.2015
Размер:
846.31 Кб
Скачать

Разработка САПР. Курс лекций. 2009.

14

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

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

смешанным управлением показаны на рисунке.

Оптимальное соотношение доли пользователя в управлении процессом проектирования зависит от специфики решаемой задачи и может пересматриваться для одной и той же САПР.

ОБЩАЯ ХАРАКТЕРИСТИКА МЕТОДОВ ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ САПР

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

Методы проектирования программных систем

В 60-70-е годы в качестве основных инструментов создания программных продуктов начали применяться алгоритмические языки высокого уровня. Это привело к увеличению уровня сложности программных систем. Наибольшее распространение получило структурное проектирование по методу сверху-вниз, или комбинированный метод. Он был непосредственно основан на топологии языков высокого уровня типа FORTRAN и COBOL. В этих языках основной базовой единицей является подпрограмма, и программа в целом принимает форму дерева, в котором одни подпрограммы в процессе работы вызывают другие подпрограммы. Структурное программирование использует именно такой подход: алгоритмическая декомпозиция применяется для разбиения большой задачи на маленькие.

14

Разработка САПР. Курс лекций. 2009.

15

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

Начиная с 60-70-х годов стали появляться компьютеры еще больших возможностей. Значение структурного подхода осталось прежним, но оказалось, что структурный подход не работает, если объем программы превышает приблизительно 100 000 строк. В последнее время появились десятки методов, в большинстве которых устранены очевидные недостатки структурного проектирования.

В настоящее время методы проектирования можно разделить на три основные группы:

1.метод структурного проектирования “сверху-вниз”;

2.метод организации потоков данных;

3.объектно-ориентированное проектирование.

Структурный подход не позволяет выделять абстракции и обеспечивать

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

В основе объектно-ориентированного проектирования (OOD) лежит представление о том, что программную систему необходимо проектировать как совокупность взаимодействующих друг с другом объектов, рассматривая каждый объект как экземпляр определенного класса, причем классы при этом образуют иерархию. Объектно-ориентированный подход отражает топологию новых языков высокого уровня, таких, как Smalltalk, Object Pascal, C++ и Ada.

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

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

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

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

15

Разработка САПР. Курс лекций. 2009.

16

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

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

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

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

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

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

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

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

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

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

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

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

16

Разработка САПР. Курс лекций. 2009.

17

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

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

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

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

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

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

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

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

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

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

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

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

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

17

Разработка САПР. Курс лекций. 2009.

18

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

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

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

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

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

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

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

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

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

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

//Файл : in_hex.c

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

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

//Метод :

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

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

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

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

//Автор :

//Дата :

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

18

Разработка САПР. Курс лекций. 2009.

19

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

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

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

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

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

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

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

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

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

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

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

Виды программных документов

ЕСПД устанавливает следующие вида программных документов:

– спецификацию, содержащую состав программы и документацию на нее;

19

Разработка САПР. Курс лекций. 2009.

20

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

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

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

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

описание программы – сведения о логической структуре и функционировании программы;

текст программы – запись программы с необходимыми комментариями;

эксплуатационные документы, которые, в свою очередь, содержат:

ведомость эксплуатационных документов – перечень эксплуатационных документов на программу;

формуляр – определяет основные характеристики программы, комплектность и сведения об эксплуатации;

описание применения – содержит сведения о назначении, области применения программы, методах и классе решаемых задач;

руководство программиста – содержит сведения, необходимые при эксплуатации программ;

руководство системного программиста – содержит сведения для проверки, обеспечения функционирования и настройки программы на условия конкретного применения;

описание языка – определяет синтаксис и семантику языка взаимодействия пользователя с программой;

руководство оператора – содержит сведения, необходимые для обеспечения процедуры общения оператора ЭВМ в процессе выполнения программы;

руководство по техническому обслуживанию – содержит описание применения текстовых и диагностических программ при обслуживании технических средств.

Состав программного документа

Материалы каждого программного документа необходимо располагать в такой последовательности:

лист утверждения;

титульный лист;

аннотация, в которой кратко излагают назначение и содержание документа;

содержание, текст документа (с рисунками, таблицами и т.п.);

приложения;

перечень ссылочных документов.

20

Разработка САПР. Курс лекций. 2009.

21

Содержание основных документов

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

Техническое задание включает следующие разделы:

введение – даются наименование и краткая характеристика области применения программного изделия;

основания для разработки – указываются наименования документов, на основании которых ведется разработка;

назначение разработки – определяются функциональное и эксплуатационное назначение программного изделия;

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

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

o условия эксплуатации (условия окружающей Среды, выбор типов носителей информации, вид обслуживания, количество и квалификация персонала);

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

требования к программной документации – дается состав программной документации и требования к ней;

технико-экономические показатели;

стадии и этапы разработки – устанавливаются необходимые стадии, этапы и содержание работ, а также сроки разработки;

порядок контроля и приемки – указываются виды испытаний и общие требования к приемке работы.

Пояснительная записка включает следующие разделы:

введение;

назначение и область применения;

технические характеристики – содержит подразделы:

o постановка задачи, описание применяемых математических методов, допущений и ограничений выбранных математических методов;

oописание алгоритма и функционирования программ с обоснованием выбора схемы алгоритма;

oописание и обоснование выбора метода организации входных и выходных данных, состава технических и программных средств;

21

Разработка САПР. Курс лекций. 2009.

22

– ожидаемые технико-экономические показатели.

Программа и методика испытаний включает следующие разделы:

объект испытаний – дается наименование и обозначение испытуемой программы;

цель испытаний – указывается цель проведения испытаний;

состав предъявляемой документации – приводится перечень документации, предъявляемой при проведении испытаний;

технические требования – включают подразделы - требования к

программной

документации;

техническим

характеристикам;

информационной и программной совместимости;

 

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

методы испытаний – приводится описание используемых методов, а также результаты проведения испытаний (перечень тестовых примеров, контрольные распечатки тестовых примеров и т.п.).

Описание программы включает следующие разделы:

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

функциональное назначение – даются классы решаемых задач и сведения о функциональных ограничениях на их применение;

входные данные – описываются характер, организация и предварительная подготовка входных данных, формат и способ их кодирования;

выходные данные – приводятся те же сведения, что и в разделе “Входные данные”;

описание логической структуры – содержит подразделы:

o используемые методы;

o структуру программы с описанием функций составных частей и связи между ними;

o структуру и организацию данных, используемых в программе; o алгоритм программы;

oсвязь программы с другими программами;

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

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

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

22

Разработка САПР. Курс лекций. 2009.

23

Описание применения – эксплуатационный документ, включающий разделы:

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

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

описание задачи – определяется задача и методы ее решения;

входные и выходные данные – указываются сведения о входных и выходных данных.

Руководство программиста – эксплуатационный документ, включающий разделы:

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

характеристики программы – описываются основные характеристики и особенности программы (режим работы, средства контроля правильности выполнения и т.п.);

обращение к программе – описываются процедуры вызова программы, способы передачи управления и параметров;

входные и выходные данные – описываются организация входной и выходной информации, способы ее кодирования;

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

Руководство оператора (пользователя) – эксплуатационный документ, включающий разделы:

назначение программы – приводятся сведения, необходимые для понимания функций программы и условий ее эксплуатации;

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

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

23