Основные принципы проектирования ПО САПР

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

открытые программные системы, облегчают их комплексную отладку и

информационное согласование.

Модуль – структурная составляющая ПО, рассматриваемая как единое

целое на определенных стадиях разработки или в процессе эксплуатации.

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

загрузки, в машинных командах. Различают модули исходные, объектные и

абсолютные.

Исходные - это модули на исходном языке текста.

Объектные (модули загрузки) - это модули, полученные в результате

трансляции, однако не обработанные еще редактором внешних связей и

загрузчиком.

Абсолютные - модули в истинных адресах оперативной памяти,

записанные в машинных командах.

Ценность каждого модуля определяется тем, насколько часто он

встречается в задачах данного класса.

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

также включать статистическую информацию об использовании различных

компонентов пакета, каталоги, справочные данные и др. Различные компоненты

пакета могут храниться на исходном языке, языке загрузки, в машинных кодах и

на языке управления заданиями.

Сборка модулей в рабочую программу осуществляется с помощью

системных средств пакета. Сборка может производиться в автоматическом

режиме или по указанию пользователя. При сборке осуществляется стыковка

модулей по управлению и информации.

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

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

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

считывая их с определенных областей оперативной памяти и помещая в

соответствующие области свои результаты для другого блока. В этом и состоит

установление информационных связей.

Требования, предъявляемые к модулям и средствам связи:

1. Независимость разработки, т.е. возможность вести разработку модулей

без взаимного общения разработчиков.

2. Комбинируемость - возможность получения нового модуля при

комбинировании имеющихся модулей средствами сборки. Это значительно

сокращает сборку и упрощает получение готовых модулей.

3. Контекстная независимость - возможность проводить сборку

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

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

такая система неэффективна.

4. Информационная независимость. Если происходят изменения в

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

это не должно приводить к изменению такого модуля.

Существуют следующие способы сборки модулей текста в рабочую

программу:

- библиотечный способ;

- сборка с изначальным заданием связей;

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

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

Простейший способ сборки основан на использовании библиотек и систем

программирования. В библиотеке хранятся модули загрузки. Они транслируются

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

информации). Пользователь сам в тексте своей программы организует эти связи

указанием обращений к подпрограммам (связи по управлению) и за счет

указаний фактических параметров в обращениях и переменных в общих

(common-) блоках (связи по информации). В этом случае пользователь целиком

берет на себя рутинную работу по сборке: он должен везде указать фактические

параметры, внимательно распределить память в общих (common-) блоках.

Сборка с изначальным заданием связей основана на жестком задании

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

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

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

модули могут быть одинаковыми по входным и выходным данным, но могут

отличаться по физической постановке, реализуемой ими задачи (взята другая

модель). Все информационные связи модулей при сборке концентрируются в

одном месте - модуле памяти. Неудобство таких методов сборки состоит в том,

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

возможные варианты программ.


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



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