Входных, выходных и внутренних данных.

На этапе проектирования модульной структуры осуществляется:

Разбиение компонент программного изделия на модули,

Определение их функции и

Способов взаимодействия.

На этапе проектирования модулей составляется:

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

имя модуля;

функции, выполняемые модулем;

описание входных и выходных параметров, диапазонов допустимых значений и т.п.;

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

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

описание формы обращения к модулю;

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

На данной стадии рабочей документации выполняются следующие виды работ:

кодирование, тестирование и отладка программ;

разработка программных документов в соответствии с ЕСПД;

проведение различных видов приемо-сдаточных испытаний;

Корректировка программ и документации по результатам испытаний.

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

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

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

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

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

Значение структурного подхода осталось велико, но оказалось, что структурный подход не работает, если объем программы превышает приблизительно 100 000 строк. Появились десятки методов, в большинстве которых устранены очевидные недостатки структурного проектирования.

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

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

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

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

Примеры методов структурного проектирования приведены в работах Йордана и Константина (Yourdon E. и Constantine), Вирта (Wirth N.), Даля, Дейкстры и Хоара (Dahl O., Dijkstra E.W., and Hoare C. A. R.) и др. В каждом из этих подходов присутствует алгоритмическая декомпозиция. Следует отметить, что большинство существующих программ написано в соответствии с одним из этих методов.

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

Метод организации потоков данных полнее всего описан в работе Джексона (Jackson M.), а также Уорниера и Орра (Orr K.). В этом методе структура программной системы строится как организация преобразований входных потоков в выходные. Метод организации потоков данных, как и структурный метод, с успехом применялся при решении ряда сложных задач, в частности, в системах информационного обеспечения, где существуют прямые связи между входными и выходными потоками системы и где не требуется уделять много внимания быстродействию.

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

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

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

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

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

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

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

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

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