WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 3 | 4 || 6 |

«Серия учебных пособий Информатика в техническом университете !.". #$%&#'$( !"#$%!#&'&($"!))$* +($*,#&($"!)&* Москва — 2000 Даны сведения по различным аспектам и видам обеспечения систем ...»

-- [ Страница 5 ] --

(RAD — Rapid Application Development). Примерами широко известных инструментальных сред RAD являются VB (Visual Basic), Delphi, PowerBuilder фирм Microsoft, Borland, PowerSoft соответственно. Применение инструментальных сред существенно сокращает объем ручной работы программистов, особенно при проектировании интерактивных частей программ. Большое практическое значение имеют инструментальные среды для разработки ПП, предназначенных для работы под управлением операционных систем Windows, в связи с широкой распространенностью последних. Простейшая система для написания Windows-программ на языке С++, позволяющая сократить объем кода, создаваемого пользователем вручную, основана на библиотеке DLL (Dynamic Link Library), которая содержит модули, реализующие функции API (Application Programming Interface) для связи прикладных программ с ОС Windows. Эта система получила развитие в MFC (Microsoft Foundation Classes), представляющей собой библиотеку классов для автоматического создания каркасов ПО многоуровневых приложений. В библиотеке имеются средства для поддержки оконного интерфейса, работы с файлами и др. В средах быстрой разработки приложений RAD обычно реализуется способ программирования, называемый 70")(4$*'$/ +#2.&'9/'. При этом достигается автоматическое создание каркасов программ, существенно сокращается объем ручного кодирования. В этих средах пользователь может работать одновременно с несколькими экранами (окнами). Типичными являются окна из следующего списка. 1. Окно меню с пунктами “file”, “edit”, “window” и т.п., реализующими функции, очевидные из названия пунктов. 2. Окно формы, на котором собственно и создается прототип экрана будущей прикладной программы. 3. Палитра инструментов — набор изображений объектов пользовательского интерфейса, из ко&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( торых можно компоновать содержимое окна формы. 4. Окно свойств и событий, с помощью которого ставятся в соответствие друг другу объекты окна формы, события и обработчики событий. :#2.&'$/ в прикладной программе является нажатие клавиши или установка курсора мыши в объект формы. Каждому событию должна соответствовать событийная процедура (обработчик события), которая проверяет код клавиши и вызывает нужную реакцию. В RAD имеются средства для удобства разработки обработчиков событий. 5. Окно редактора кода, в котором пользователь записывает создаваемую вручную часть кода. 6. Окно проекта — список модулей и форм в создаваемой программе. Для написания событийных процедур в Visual Basic используется язык и текстовый редактор одноименного языка, в Delphi — язык и редактор языка Object Pascal. В CASE-системе фирмы IBM, включающей части VisualAge (для клиентских приложений) и VisualGen (для серверных приложений), базовым языком выбран SmallTalk. В среде разработки приложений клиент-сервер SQLWindows оригинальные фрагменты программ пишутся на специальном языке SAL. Нужно заметить, что для реализации вычислительных процедур и, в частности, для написания миниспецификаций используется обычная для 3GL технология программирования. Обычно после написания ПП на базовом языке компилятор системы переводит программу на промежуточный "-код. Вместе с интерпретатором "-кода эта программа рассматривается, как ЕХЕфайл. В некоторых развитых средах компилируется обычный ЕХЕ-файл, не требующий интерпретации для своего исполнения. Помимо упрощения написания пользовательского интерфейса, в средах RAD предусматриваются средства для реализации и ряда других функций. Так, в наиболее развитой версии Visual Basic к ним относятся средства выполнения следующих функций: — поддержка ODBC, что дает возможность работы с различными СУБД;

— разработка баз данных;

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

. — интерактивная отладка процедур на SQL Server;

— управление версиями при групповой разработке ПО;

— моделирование и анализ сценариев распределенных вычислений. Для создания сред RAD в случае +$&$(#8# 0"#8")//'"#()*'9 требуется решить ряд дополнительных проблем, обусловливаемых многоплатформенностью в гетерогенных сетях, обилием применяемых форматов данных, необходимостью защиты информации и т.п. Решение этих проблем достигнуто в объектно-ориентированных технологиях на базе языка сетевого программирования Java. Кроме того, с помощью Java удается решить еще одну актуальную для Internet и Intranet задачу — сделать Web-страницы интерактивными. Платформенная инвариантность в Java достигается, благодаря введению виртуальной метамашины с системой команд, максимально приближенной к особенностям большинства машинных языков. Любой Web-сервер при наличии запроса на Java-программу со стороны клиента транслирует (компилирует) эту программу на язык метамашины. Скомпилированный модуль, называемый байт-кодом, пересылается клиенту. Клиент должен выполнить интерпретацию байт-кода. Соответствующие интерпретаторы в настоящее время имеются в браузерах всех основных разработчиков Web-технологий. Java используется двояким образом. Во-первых, как средство “оживления” Web-страниц. В этом случае программный Java-компонент называют )04$&#/, аплет встраивается в страницу с помощью специального тега, имеющегося в языке HTML. Во-вторых, Java — универсальный язык программирования и может быть использован для написания любых приложений, не обязательно привязанных к Web-технологии. Хотя и ранее были известны технологии на базе промежуточных "-кодов, именно технология Java, оказалась наилучшим образом приспособленной для использования в гетерогенной сетевой среде. Она последовательно отражает принципы объектно-ориентированного программирования и обеспечивает приемлемую эффективность (производительность) исполнения программ. Эту эффективность можно еще более повысить, если в браузерах заменить интерпретацию на компиляцию. Для разработки ПО на языке Java создан ряд инструментальных средств. Основной средой явля&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( ется JDK (Java Developer’s Kit). В ней имеются: 1) библиотеки классов, в том числе библиотеки основных элементов языка, часто используемых оболочек (wrapper), процедур ввода-вывода, компонентов оконного интерфейса и др. 2) инструментальные средства такие, как компилятор байт-кодов, интерпретатор, просмотрщик аплетов, отладчик, формирователь оконных форм и т.п. Развитую RADсреду — PowerJ — предлагает фирма Sybase.

Значительное внимание уделяется разработке инструментальных сред для создания Web-узлов, примером такой среды может служить HAHTSite фирмы HAHTSoftware. Для разработки Java-программ из готовых компонентов можно использовать среду IBM Visual Age for Java, в которой имеются (как и в среде VB) версии учебная, профессиональная и общецелевая (Enterprise), и др. Наряду с самостоятельными RAD-системами имеются и RAD-системы в составе САПР. Это прежде всего упомянутая выше система CAS.CADE фирмы Matra Datavision.

'4/340.0-04-48+.0-+849:001. -.604D4@++. Появление компонентно-ориентированных технологий вызвано необходимостью повышения эффективности разработки сложных программных систем, являющихся в условиях использования корпоративных и глобальных вычислительных сетей распределенными системами. Компонентно-ориентированные технологии основаны на использовании предварительно разработанных готовых программных компонентов. Компиляция программ из готовых компонентов — идея не новая. Уже первые шаги в области автоматизации программирования были связаны с созданием библиотек подпрограмм. Конечно, для объединения этих подпрограмм в конкретные прикладные программы требовалась ручная разработка значительной части программного кода на языках третьего поколения. Упрощение и ускорение разработки прикладного ПО достигается с помощью языков четвертого поколения (4GL), но имеющиеся системы на их основе являются специализированными и не претендуют на взаимодействие друг с другом. Современные системы интеграции ПО построены на базе объектной методологии. Так, выше приведены примеры библиотек классов, применяя которые прикладные программисты могут создавать субклассы в соответствии с возможностями наследования, заложенными в используемые объектно-ориентированные языки программирования. При этом интероперабельность компонентов в сетевых технологиях достигается с помощью механизмов, подобных удаленному вызову процедур RPC. К библиотекам классов относятся MFC, библиотеки для доступа к реляционным БД (например, для встраивания в прикладную программу драйверов ODBC) и др. Преимущества использования готовых компонентов обусловлены тщательной отработкой многократно используемых компонентов, их соответствием стандартам, использованием лучших из известных методов и алгоритмов. В то же время в компонентах библиотек классов спецификации интерфейсов не отделены от собственно кода, следовательно, использование библиотек классов не профессиональными программистами проблематично. Именно стремление устранить этот недостаток привело к появлению CBD — компонентно-ориентированных технологий разработки ПО. Составными частями таких технологий являются унифицированные способы интеграции программного обеспечения. Возможны два способа включения компонентов (модулей) в прикладную программу — модернизация (reenginering) или инкапсуляция (encapsulation или wrapping). L#-$"*'6)='9 требует знания содержимого компонента, интероперабельность достигается внесением изменений собственно в сам модуль. Такой способ можно назвать способом “белого ящика”. Очевидно, что модернизация не может выполняться полностью автоматически, требуется участие профессионального программиста. D*%)0+749='9 выполняется включением модуля в среду с помощью интерфейса — его внешнего окружения (оболочки — wrapper). При этом компонент рассматривается как “черный ящик”: спецификации, определяющие интерфейс, выделены из модуля, а детали внутреннего содержимого скрыты от пользователя. Обычно компоненты поставляются в готовом для использования виде скомпилированного двоичного кода. Обращения к модулю возможны только через его интерфейс. В спецификации интерфейса включаются необходимые для интероперабельности сведения о характеристиках модуля — /#-745*)9 )2+&")%='9. В состав этих сведений могут входить описания всех входных и выходных для модуля данных (в том числе имеющихся в модуле интерактивных команд), структура командной строки для инициализации процедур, сведения о требуемых ресурсах. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( Компонентно-ориентированные системы построены на основе инкапсуляции компонентов. В архитектуре этих систем можно выделить следующие части: 1) прикладная программа (клиент), создаваемая для удовлетворения возникшей текущей потребности;

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

3) множество компонентов, состоящих каждый из программного модуля, реализующего некоторую полезную функцию, и оболочки (интерфейса). В спецификации интерфейса могут быть указаны характеристики модуля, реализуемые методы и связанные с модулем события (например, реакции на нажатие клавиш). Собственно интерфейс представляет собой обращения к функциям модуля, называемым в СВDтехнологиях методами. Эти обращения переводятся в двоичный код, что обеспечивает при их использовании независимость от языка программирования. Один и тот же модуль может реализовывать несколько разных функций, поэтому у него может быть несколько интерфейсов или методов. Каждый новый создаваемый интерфейс обеспечивает доступ к новой функции и не отменяет прежние возможно еще используемые интерфейсы. Схематично взаимодействие компонентов можно представить следующим образом. Клиент обращается с запросом на выполнение некоторой процедуры. Запрос направляется к посреднику. В посреднике имеется предварительно сформированный каталог (реестр или репозиторий) интерфейсов процедур с указанием компонентов-исполнителей. Посредник перенаправляет запрос соответствующему исполнителю. Исполнитель может запросить параметры процедуры. После выполнения процедуры полученные результаты возвращаются клиенту. При этом пользователь оперирует удобными для его восприятия идентификаторами компонентов и интерфейсов, а с помощью каталога эти идентификаторы переводятся в указатели (ссылки), используемые аппаратно-программными средствами и которые однозначно определяют интерфейс в распределенной сети из многих компьютеров. В большинстве случаев реализуется синхронный режим работы, подразумевающий приостановку процесса клиента после выдачи запроса до получения ответа. Наиболее популярными в настоящее время являются следующие CBD-технологии. — OpenDoc — технология, основанная на спецификациях CORBA, разработанных в начале 90х г.г. специально созданным консорциумом OMG, в который вошли представители ведущих компьютерных фирм. В OpenDoc реализуется технология распределенных вычислений на базе программ-посредников ORB. — COM (Common Object Model) — технология, развиваемая корпорацией Microsoft на базе механизма OLE. Сетевой вариант этой технологии (для систем распределенных вычислений) известен под названием DCOM (Distributed COM). Объекты DCOM (в частности, объекты, которые можно вставлять в HTML-документы или к которым можно обращаться из Web-браузеров) известны под названием компонентов ActiveX. В СОМ/DCOM, как и в OpenDoc, можно использовать компоненты, написанные на разных объектно-ориентированных языках программирования. Но в отличие от OpenDoc в СОМ/DCOM остается естественная для Microsoft ориентация только на операционные системы Windows (реализация DCOM предусмотрена в ОС Windows NT 4.0). Технология ActiveX (прежнее название OLE Automation) обеспечивает интерфейс для управления объектами одного приложения из другого. В общем плане ActiveX — технология интеграции программного обеспечения фирмы Microsoft. Например, используя эту технологию, можно в среде VBA организовать доступ к объектам AutoCAD. — JavaBeans — сравнительно новая технология, в которой используются компоненты, написанные на языке Java.

Рассмотрим подробнее основные CBD-технологии. Организация связи клиента с серверными компонентами и в CORBA, и в DCOM происходит с помощью разновидностей языка IDL (Interface Definution Language). Язык IDL в CORBA позволяет описывать интерфейсы создаваемых компонентов. Описание, называемое метаданными, представляется в виде модуля, состоящего из заголовка, описаний типов данных, интерфейсов и операций. В заголовке указывается идентификатор модуля. В части типов данных перечисляются атрибуты, возвращаемые значения, исключительные ситуации. Примерами типов данных могут служить типы базовые (например, float, double, char, boolean, struct), конструируемые пользователем (например, записи и массивы) и объектные &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( ссылки, указывающие на интерфейсы компонентов. Описание интерфейсов начинается с ключевого слова interface, за которым следуют идентификаторы данного интерфейса и возможно наследуемых интерфейсов. Далее описываются операции (методы) в виде идентификаторов операций с возможными перечислениями параметров операций и указанием их принадлежности к входным или выходным данным. Далее классы объектов (программные модули) должны быть реализованы в CORBA-среде. Для этого компилятор IDL выполняет следующие действия. Во-первых, метаданные для каждого класса объектов помещаются в специальную базу данных, имеющуюся в ORB, — репозитарий интерфейсов. Во-вторых, компилятор создает для каждого определенного на IDL метода клиентский и серверный стабы – специальные программные модули, обеспечивающие доступ к компонентам. Основное назначение стабов – выполнение маршалинга и организация передачи данных через сеть. Маршалингом называют упаковку параметров в стандартный формат для пересылки. Маршалинг необходим по той причине, что представление данных в разных компьютерных средах может быть различным (например, различия в кодировке символов, в изображении чисел с плавающей запятой). Клиентский стаб будет использоваться для передачи вызовов и данных от клиента в сеть, а серверный стаб, называемый также скелетоном, будет вызывать метод уже в среде сервера и возвращать результаты. На серверной стороне данные о каждом новом классе объектов, поддерживаемом конкретным сервером, заносятся в репозитарий реализаций. Эту операцию выполняет объектный адаптер. Обычно в ORB имеется несколько объектных адаптеров, обслуживающих разные группы компонентов (так, возможны объектные адаптеры, ориентированные на библиотеки, на базы данных, на группу отдельных программ и т.п.). Объектные адаптеры выполняют также ряд других функций, например, таких как интерпретация объектных ссылок, активация и дезактивация компонентов, вызов их методов через скелетоны. Возможны разные способы активации и дезактивации компонентов. В первом из них для обслуживания каждого клиентского запроса создается своя копия компонента. В других способах копии не создаются, компонент обслуживает все запросы с разделением или без разделения во времени. При реализации запроса брокер через объектный адаптер активирует соответствующий компонент. Далее клиентсерверное взаимодействие происходит через стабы. Изложенную схему клиент-серверного взаимодействия называют статической. В CORBA предусмотрены также динамические вызовы. Для их осуществления не требуется предварительного формирования стабов с помощью компилятора языка IDL. Вместо стабов, специфических для каждого вызываемого метода, в CORBA используются специальные программы динамического взаимодействия, инвариантные к вызываемым методам. При этом необходимые данные для обращения к компоненту должны быть представлены в клиентской программе, в частности, они могут быть предварительно получены из репозитария интерфейсов. Динамические вызовы обеспечивают большую гибкость при программировании, но выполняются они значительно медленнее В CORBA предусмотрен ряд унифицированных сервисов, работающих под управлением ORB. В частности, это сервисы: — именования — присваивает объектам уникальные имена, в результате пользователь может искать объекты в сети по имени;

— жизненного цикла – обеспечивает создание, перемещение, копирование и удаление объектов (документов) в системе, в том числе составных объектов вместе со всеми ссылками и ассоциированными объектами;

— обработки транзакций — осуществляет управление транзакциями (блокировка, фиксация и откат транзакций) из приложений или из ОС, что позволяет многим объектам в сети использовать одни и те же серверы;

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

— обеспечения безопасности — поддерживает целостность данных. В СОМ/DCOM все объекты сгруппированы в классы и каждый класс имеет свой идентификатор CLSID, а каждый интерфейс (метод) класса – свой идентификатор. Для создания объекта (экземпляра класса) клиент обращается к серверу библиотеки СОМ с указанием CLSID и идентификаторов всех требуемых интерфейсов. Сервер библиотеки СОМ находит в таблице-реестре по CLSID адрес удаленной машины, на которой размещен запрошенный компонент, и передает ей запрос клиента. На серверной стороне создается объект (копия компонента), он активируется и возвращает клиенту указатели-ссылки на требуемые интерфейсы. Теперь клиент может многократно обращаться к методам объекта, указывая в своих запросах имена интерфейса, методов и их параметров. Обычно объект исполняется на той машине, на которой размещен компонент, но можно выбрать и другую машину, указав в запросе, например, ее IP- адрес. Появление технологии JavaBeans обусловлено успехом языка программирования Java. Технологию JavaBeans отличают от СОМ/DCOM две особенности. Во-первых, Java — единственный в JavaBeans язык программирования. Единственность языка и притом объектно-ориентированного обусловливает сравнительную легкость освоения и применения технологии JavaBeans. Во-вторых, технология JavaBeans является платформенно-независимой. Компоненты в JavaBeans являются классами Java. Для их создания, модификации и объединения в прикладные программы имеются специальные средства в составе инструментальной среды JDK (Java Development Kit). С их помощью компоненты JavaBeans могут быть встроены в Java-аплеты, приложения или другие более крупные компоненты. В качестве Java-аплетов компоненты JavaBeans поддерживаются большинством имеющихся WWW-браузеров.

&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( Развитие CBD-систем возможно в направлении дальнейшего упрощения программирования и, следовательно, сокращения сроков разработки ПО, однако это происходит за счет снижения степени универсальности соответствующих инструментальных средств. Такие более специализированные средства представляют собой группу компонентов, взаимосвязанных некоторым зависящим от приложения образом, и входят в системные среды САПР. В общем случае компоненты системной среды объединены в несколько сценариев (потоков процедур или маршрутов), в которых выделяются точки входа для вставки специфичных пользовательских фрагментов и расширений. Имеются возможности не только вставки новых фрагментов, но и замены исходных компонентов в потоках процедур на оригинальные с сохранением интерфейса. Собственно многие системы, основанные на применении языков четвертого поколения (4GL), относятся именно к таким системным средам, в которых последовательности инкапсулированных модулей образуются с помощью операторов 4GL. "8+/.8 8.:D+?:=++ 74/340.0-04-48+.0-+849:0042 -.604D4@++ 9 *C"%. Основные идеи компонентно-ориентированной (объектной) технологии с созданием расширенных специализированных библиотек компонентов реализованы в системе CAS.CADE (Computer Aided Software/ Computer Aided Design Engineering) фирмы Matra Datavision.

Система CAS.CADE состоит из нескольких частей. Основными частями являются библиотеки классов и инструментальная среда для создания программного обеспечения (ПО) технических и научных приложений. Библиотеки (Object Libraries) в CAS.CADE представляют собой специализированные наборы заранее разработанных компонентов на языке С++. Совокупность библиотек имеет иерархическую структуру. Базовые компоненты соответствуют классам объектной методологии. Примерами компонентов являются строки, списки, точки, матрицы, линии, поверхности, деревья, решатели уравнений, операторы сортировки, поиска на графах и т.п. Классы группируются в пакеты (Packages), пакеты – в наборы (Toolkits), наборы – в домены (Resourse Domains). В CAS.CADE выделено несколько библиотек. Во-первых, это библиотеки 2D и 3D моделирования, включающие компоненты для определения, создания и манипулирования геометрическими моделями. Во-вторых, ряд библиотек предназначен для связи с ОС и управления данными, для обмена данными с внешними CAD системами, для создания сеточных моделей и др. Так, в состав библиотеки обмена данными входят конверторы данных из формата CAS.CADE в Expressфайл прикладного протокола АР214 стандарта STEP и обратно. Аналогичные конверторы имеются для взаимного преобразования данных из формата CAS.CADE в другие популярные в САПР форматы IGES и DXF/SAT. Необходимо отметить, что основные приложения, на которые ориентирована CAS.CADE, — это приложения машинной графики и геометрического моделирования, поэтому в системе наиболее развиты библиотеки графических и геометрических компонентов. Геометрическое моделирование и визуализация в CAS.CADE поддерживаются соответствующим ПО. В это ПО входят библиотечные наборы “Геометрия”, “Топология”, “Визуализация” и др. Для тестирования и демонстрации компонентов перед их встраиванием в проектируемую прикладную САПР используются специальные язык, интерпретатор и просмотрщик, составляющие подсистему “Тестирование”. Набор “Геометрия” включает пакеты канонических геометрических элементов и массивов (множеств) этих элементов. Пакеты gp, geom2d и geom включают 2D и 3D геометрические элементы (классы), используемые в качестве сущностей в вычислительных процедурах, в том числе в таких операциях, как поворот, отражение, масштабирование и т.п. Примерами элементов могут служить декартовы координаты, точки, векторы, линии, окружности, квадратичные кривые, сферические, тороидальные и конические поверхности, кривые и поверхности Безье, В-сплайнов и др. Большое число пакетов разработано для выполнения геометрических построений и метрических расчетов. Пакеты gce, GC, GCE2d включают алгоритмы построения сущностей из элементов пакетов gp, Geom, Geom2d, например, построение прямых, дуг окружностей, кривых по заданным параметрам таким, как инцидентные точки, центральные точки и радиусы, параллельные или нормальные прямые и т.п. Набор “Топология” определяет структуры данных, описывающих связи (отношения) между геометрическими сущностями – классами предыдущего набора “Геометрия”. К структурам топологических данных относятся вершины, ребра, линии каркасных моделей, участки поверхности, оболочки – совокупности связанных через ребра участков поверхности, тела – части пространства, ограниченные оболочкой, совокупности тел, в том числе простые конструкции вида частей цилиндра, конуса, сферы, тора. В наборе имеются также средства: 1) для скругления острых углов и кромок, т.е. формирования галтелей постоянного или переменного радиуса;

2) для поддержания непрерывности при сопряжении разных поверхностей;

3) для метрических расчетов – определения длин ребер, площадей участков поверхности, объемов тел, центров масс и моментов инерции. В подсистему “Тестирование” входят командный язык TCL (Test Command Language), на котором задается программа тестирования и просмотра библиотечных компонентов, интерпретатор TCL и 2D/3D визуализатор. В TCL имеются обычные для языков программирования команды, такие как присвоение значения переменной, организация цикла, условный переход, так и специальные команды. Среди последних выделяют базовые, геометрические и топологические команды. Примеры базовых команд: задержка при исполнении программы (например, при презентациях), обращение к файлу, &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! :&:#*%)K* :(*AK & +($5(!%%)$-%*#$A&F*:,&*,$%+@*,:K :!+( вывод на экран координат и других параметров геометрических объектов, создание окон для различных видов, масштабирование изображения, его поворот, установка цвета, выделение на экране одного заданного объекта и т.п. С помощью геометрических команд выполняют создание и модификацию кривых, поверхностей, геометрические преобразования типа поворота или зеркального отражения, вычисления координат, кривизн, производных, нахождение точек пересечения линий и поверхностей. Аналогичные действия производят по отношению к топологическим объектам с помощью топологических команд. Инструментальная среда CAS.CADE включает интегрированную оболочку, подсистему проектирования пользовательского интерфейса, а также ряд многократно используемых специализированных программ, таких как 2D и 3D моделеры, подсистема управления данными, прикладные программы анализа и т.п. Интегрированная оболочка служит для управления версиями и параллельной работой многих пользователей. Для проектирования пользовательского интерфейса в CAS.CADE имеются специальные языковые и программные средства. Язык проектирования диалога состоит из команд создания интерфейса и доступа к компонентам. Создание интерфейса включает создание контейнеров и диалоговых элементов. Контейнер представляет собой экранное окно, в котором будут размещаться элементы. Элементы обеспечивают информирование пользователя создаваемого приложения о возникающих событиях, дают возможность пользователю задавать значения параметров, выбирать режим работы и т.п. Различают ряд видов контейнеров. Среди них контейнеры для сообщений, предупреждающих об ошибке, запрашивающих от пользователя ответы типа “да/нет”, задания размеров или цвета, выбора файла и т.п. Примерами команд проектирования диалоговых элементов могут служить команды определения позиции элемента в окне, выбора одного элемента из заданного множества, конструирования текстовой строки или меню, фиксации событий, вызванных выбором мышью позиции или пункта меню, и др. В структуре прикладной программы, создаваемой в среде CAS.CADE, можно выделить диалоговый модуль (модуль пользовательского интерфейса GUI – Graphic User Interface), модуль связи с прикладной частью и собственно прикладную часть, включающую отобранные компоненты и БД, зависящую от приложения Объединение используемых в приложении компонентов в прикладную программу осуществляется на языке С++ или специальном языке описания интерфейсов, напоминающем язык IDL.. Следовательно, реализуются присущие С++ поддержка наследования и ограничение доступа (компоненты могут иметь статус защиты от несанкционированного доступа).

С помощью CAS.CADE создают специализированные приложения (прежде всего специализированные САПР) с сравнительно малыми затратами времени и средств.

P38:L0.0+> + 94384,1 5D>,:/4740-84D> 1. Какие функции выполняет сетевое ПО? 2. Что понимают под менеджером и агентом в ПО управления сетью? 3. Что такое “эмуляция терминала”? 4. Охарактеризуйте различия между телеконференцией и видеоконференцией. 5. Назовите основные функции браузера. 6. Какие средства имеются в языке HTML для реализации гипертекста? 7. Что такое “электронная подпись”? 8. Перечислите основные особенности БнД в САПР. 9. Что такое “транзакция” в системах обработки данных? 10. Что понимают под системой PDM? Чем отличается система PDM от обычного БнД? 11. Назовите основные особенности хранилищ данных. Почему они используются в PDM? 12. Поясните механизм двухфазной фиксации транзакций в БнД. 13. В чем заключаются специфические особенности компонентно-ориентированных технологий разработки ПО? 14. Поясните назначение брокера ORB в технологии CORBA. 15. Что такое язык описания интерфейсов IDL? 16. Каковы назначение и структура системы CAS.CADE? Приведите примеры компонентов CAS.CADE.

&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %.=3/0<0 ;

-3.<=0-34690N 64=3B6=0C0-34699?G 101=.B 6.). $,4B.004,-+ 384.7-+849:0+> :9-4/:-+?+849:0016,+,-./ Q-:31 384.7-+849:0+> C*. К проектированию АС непосредственное отношение имеют два направления деятельности: 1) собственно 0"#$%&'"#()*'$ K: конкретных предприятий (отраслей) на базе готовых программных и аппаратных компонентов с помощью специальных инструментальных средств разработки;

2) проектирование упомянутых %#/0#*$*&#( K: и инструментальных средств, ориентированных на многократное применение при разработке многих конкретных автоматизированных систем. Сущность первого направления можно охарактеризовать словами “+'+&$/*)9 '*&$8")='9” (другое близкое понятие имеет название — %#*+)4&'*8). Разработчик АС должен быть специалистом в области системотехники, хорошо знать соответствующие международные стандарты, состояние и тенденции развития информационных технологий и программных продуктов, владеть инструментальными средствами разработки приложений (CASE-cредствами) и быть готовым к восприятию и анализу автоматизируемых процессов в сотрудничестве с специалистами-прикладниками.

Существует ряд фирм, специализирующихся на разработке проектов АС (например, Price Waterhouse, Jet Info, Consistent Software, Interface и др.) Второе направление в большей мере относится к области разработки математического и программного обеспечений для реализации функций АС — моделей, методов, алгоритмов, программ на базе знания системотехники, методов анализа и синтеза проектных решений, технологий программирования, операционных систем и т.п. Существует ряд общеизвестных технологий (методик) проектирования ПО АС, среди которых прежде всего следует назвать %#/0#*$*&*#-#"'$*&'"#()**7< ")6")2#&%7 — технологию индустриальной разработки программных систем СВD, поясненную в гл. 5. Для каждого класса АС (САПР, АСУ, геоинформационные системы и т.д.) можно указать фирмы, специализирующиеся на разработке программных (а иногда и программно-аппаратных) систем. Многие из них на основе одной из базовых технологий реализуют свой подход к созданию АС и придерживаются стратегии либо тотального поставщика, либо открытости и расширения системы приложениями и дополнениями третьих фирм. В России действует государственный стандарт на стадии создания автоматизированных систем ГОСТ 34.601-90. Существует и международный стандарт на стадии жизненного цикла программной продукции (ISO 12207:1995). Как собственно АС, так и компоненты АС являются сложными системами и при их проектировании можно использовать один из стилей проектирования: — *'+,#-9A$$ (Top-of-Design);

четкая реализация нисходящего проектирования приводит к +0'")45*#;

/#-$4' разработки ПО, на каждом витке спирали блоки предыдущего уровня детализируются, используются обратные связи (альтернативой является так называемая %)+%)-*)9 /#-$45, относящаяся к поочередной реализации частей системы);

— (#+,#-9A$$ (Bottom-of-Design);

— B(#4<='#**#$ (Middle-of-Design). Чаще всего используется нисходящий стиль блочно-иерархического проектирования. Рассмотрим этапы нисходящего проектирования АС. Верхний уровень проектирования АС часто называют %#*=$0&7)45*./ проектированием. Концептуальное проектирование выполняют в процессе предпроектных исследований, формулировки ТЗ, разработки эскизного проекта и прототипирования (согласно ГОСТ 34.601-90, эти стадии называют формированием требований к АС, разработкой концепции АС и эскизным проектом). !"$-0"#$%&*.$ '++4$-#()*'9 проводят путем анализа (обследования) деятельности предприятия (компании, учреждения, офиса), на котором создается или модернизируется АС. При этом нужно получить ответы на вопросы: что не устраивает в существующей технологии? Что можно улучшить? Кому это нужно и, следовательно, каков будет эффект? Перед обследованием формируются и в процессе его проведения уточняются цели обследования — определение возможностей и ресурсов для повышения эффективности функционирования предприятия на основе автоматизации процессов уп&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% равления, проектирования, документооборота и т.п. Содержание обследования — выявление структуры предприятия, выполняемых функций, информационных потоков, имеющихся опыта и средств автоматизации. Обследование проводят системные аналитики (системные интеграторы) совместно с представителями организации-заказчика. На основе анализа результатов обследования строят модель, отражающую деятельность предприятия на данный момент (до реорганизации). Такую модель называют “As Is”. Далее разрабатывают исходную концепцию АС. Эта концепция включает в себя предложения по изменению структуры предприятия, взаимодействию подразделений, информационным потокам, что выражается в модели “To Be” (как должно быть). Результаты анализа конкретизируются в ТЗ на создание АС. В ТЗ указывают потоки входной информации, типы выходных документов и предоставляемых услуг, уровень защиты информации, требования к производительности (пропускной способности) и т.п. ТЗ направляют заказчику для обсуждения и окончательного согласования. F+%'6*.;

0"#$%& (техническое предложение) представляют в виде проектной документации, описывающей архитектуру системы, структуру ее подсистем, состав модулей. Здесь же содержатся предложения по выбору базовых программно-аппаратных средств, которые должны учитывать прогноз развития предприятия. В отношении аппаратных средств и особенно ПО такой выбор чаще всего есть выбор фирмы-поставщика необходимых средств (или, по крайней мере, базового ПО), так как правильная совместная работа программ разных фирм достигается с большим трудом. В проекте может быть предложено несколько вариантов выбора. При анализе выясняются возможности покрытия автоматизируемых функций имеющимися программными продуктами и, следовательно, объемы работ по разработке оригинального ПО. Подобный анализ необходим для предварительной оценки временных и материальных затрат на автоматизацию. Учет ресурсных ограничений позволяет уточнить достижимые масштабы автоматизации, подразделить проектирование АС на работы первой, второй и т.д. очереди. После принятия эскизного проекта разрабатывают 0"#&#&'0 АС, представляющий собой набор программ, эмулирующих работу готовой системы. Благодаря прототипированию можно не только разработчикам, но и будущим пользователям АС увидеть контуры и особенности системы и, следовательно, заблаговременно внести коррективы в проект. Как на этапе обследования, так и на последующих этапах целесообразно придерживаться определенной дисциплины фиксации и представления получаемых результатов, основанной на той или иной методике формализации спецификаций. Формализация нужна для однозначного понимания исполнителями и заказчиком требований, ограничений и принимаемых решений. При концептуальном проектировании применяют ряд спецификаций, среди которых центральное место занимают /#-$4' преобразования, хранения и передачи информации. Модели, полученные в процессе обследования предприятия, являются моделями его функционирования. В процессе разработки АС модели, как правило, претерпевают существенные изменения (переход от “As Is” к “To Be”) и в окончательном виде модель “To Be” рассматривают в качестве модели проектируемой АС. Различают функциональные, информационные, поведенческие и структурные модели. H7*%='#*)45*)9 модель системы описывает совокупность выполняемых системой функций. D*E#"/)='#**.$ модели отражают структуры данных — их состав и взаимосвязи. !#($-$*1$+%'$ модели описывают информационные процессы (динамику функционирования), в них фигурируют такие категории, как состояние системы, событие, переход из одного состояния в другое, условия перехода, последовательность событий, осуществляется привязка ко времени. :&"7%&7"*.$ модели характеризуют морфологию системы (ее построение) — состав подсистем, их взаимосвязи. Содержанием последующих этапов нисходящего проектирования (согласно ГОСТ 34.601-90, это стадии разработки технического проекта, рабочей документации, ввода в действие) является уточнение перечней приобретаемого оборудования и готовых программных продуктов, построение системной среды, детальное инфологическое проектирование БД и их первоначального наполнения, разработка собственного оригинального ПО, которая, в свою очередь, делится на ряд этапов нисходящего проектирования. Эти работы составляют содержание ")2#1$8# 0"#$%&'"#()*'9. После этого следуют &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% закупка и инсталляция программно-аппаратных средств, внедрение и опытная эксплуатация системы. Особое место в ряду проектных задач занимает разработка проекта корпоративной вычислительной сети, поскольку техническое обеспечение АС имеет сетевую структуру. Если территориально АС располагается в одном здании или в нескольких близко расположенных зданиях, то корпоративная сеть может быть выполнена в виде совокупности нескольких локальных подсетей типа Ethernet или Token Ring, связанных опорной локальной сетью типа FDDI или высокоскоростной Ethernet. Кроме выбора типов подсетей, связных протоколов и коммутационного оборудования приходится решать задачи распределения узлов по подсетям, выделения серверов, выбора сетевого ПО, определения способа управления данными в выбранной схеме распределенных вычислений и т.п. Если АС располагается в удаленных друг от друга пунктах, в частности, расположенных в разных городах, то решается вопрос об аренде каналов связи для корпоративной сети, поскольку альтернативный вариант использования выделенного канала в большинстве случаев оказывается неприемлемым по причине высокой цены. Естественно, что при этом прежде всего рассматривается возможность использования услуг Internet. Возникающие при этом проблемы связаны с обеспечением информационной безопасности и надежности доставки сообщений. %.74/.05:=++ 34 384.7-+849:0+;

748348:-+9016,.-.2. Основные сетевые протоколы и технологии реализованы в программных и аппаратных средствах ряда фирм, и задача проектировщика сети (системного интегратора) — правильно выбрать эти средства для заданных условий конкретного предприятия, обеспечив требуемый уровень производительности и надежности при минимизации затрат. Среди основных рекомендаций следует упомянуть следующие. 1. Информатизацию и автоматизацию деятельности предприятия необходимо начинать с анализа процессов функционирования его подразделений. Следует выявить информационные потребности подразделений, решаемые задачи, информационные потоки между подразделениями, установить, какие процессы требуют автоматизации и компьютеризации и в какую очередь. Целесообразно проводить эту работу совместно с работниками самих подразделений, с самого начала выделить сотрудников предприятия, которые будут поддерживать и развивать информационную структуру, вычислительные и сетевые средства. 2. Если сеть создается заново (особенно в новых зданиях), целесообразен комплексный подход к проектированию кабельной системы сети. При этом в проекте нужно учитывать прокладку не только коммуникаций для передачи данных, но и одновременно соединений телефонной связи, проводов пожарной и охранной сигнализации, кабельного телевидения и т.п., а возможно, и использование для этих целей некоторых общих кабельных соединений. 3. При выборе типа линий связи между отдельно стоящими зданиями необходимо провести сравнительный анализ проводных линий и радиоканалов. 4. В наиболее популярном варианте кабельной системы и размещения коммутационного оборудования внутри здания рекомендуется под коммутационное оборудование отводить помещение на этаже с максимальным числом рабочих мест, горизонтальную (этажную) проводку выполнять витой парой категории 5 (длина до 90 м) или коаксиальным кабелем, вертикальную проводку (межэтажную) — ВОЛС или коаксиальным кабелем. 5. Относительно выбора одного из двух наиболее популярных вариантов построения подсетей (ЛВС) — Ethernet или Token Ring однозначные выводы отсутствуют. Если нагрузка подсети может превышать 35% (т.е. без учета конфликтов передача данных в сети занимает 35% времени), то лучше использовать Token Ring. При меньшей загрузке предпочтительнее Ethernet, так как обеспечиваются меньшие задержки. Вариант Ethernet можно применять и при большем трафике, но тогда нужно предусмотреть разделение ЛВС на подсети с мостовым соединением между ними. Следует также рассмотреть целесообразность использования виртуальных ЛВС. 6. Как сказано выше, при выборе типов коммутационного оборудования полезно ориентироваться на средства, предоставляемые одной фирмой, иначе возможны нестыковки, несмотря на общность используемых стандартов, могут возникнуть затруднения при последующей эксплуатации и развитии сети. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% 7. Если сеть связывает удаленные друг от друга здания, в частности, расположенные в разных городах, то возможны варианты использования выделенных каналов связи или сетей общего пользования (прежде всего Internet). Второй вариант обходится значительно дешевле, но в этом случае нужно обратить особое внимание на обеспечение информационной безопасности (разграничение доступа, установка защитных экранов — брандмауэров и т.п.). 8. Для корректировки и верификации проекта сети нужно использовать имеющиеся средства имитационного моделирования.

Примерами программ анализа и моделирования вычислительных сетей могут служить COMNET III и OPNET. Ниже приведены краткие характеристики этих программ. COMNET III;

(фирма CACI Products Company;

http://www.caciasl.com) выполняет интерактивное моделирование работы локальных и территориальных вычислительных сетей. Исходные данные задаются на проблемно-ориентированных языках моделирования MODSIM или SIMSCRIPT с графическими расширениями. На экране ЭВМ изображается топология сети с указанием узлов, линий связи, источников данных (трафика). В результате моделирования определяются “узкие” места, задержки в передаче данных, загрузка линий, буферов, процессоров, длины очередей, пиковые нагрузки. Имеется библиотека моделей протоколов и аппаратных средств: маршрутизаторов (3COM, Cisco, DEC, HP и др.), алгоритмов протоколов (TCP/IP, SNA, RIP, OSPF, IGRP и др.) и ряда методов доступа (CSMA/CD, FDDI, ALOHA). OPNET (Planner and Modeler);

(фирма OPNET;

http://www.mil3.com) выполняет анализ работы различных локальных и территориальных гетерогенных вычислительных сетей, в том числе высокоскоростных сетей FDDI и ATM, радиоканалов с временным мультиплексированием и др. На входном графическом языке задается структура сетей с указанием процессоров, источников потоков данных, очередей, трансмиттеров и т.п. Система позволяет сравнивать различные архитектуры построения сетей, определять размещение серверов, рассчитывать трафик. В библиотеке системы имеются модели различных протоколов (Ethernet, FDDI, TCP/IP, ATM, PSTN, Frame Relay и др.).

Математическое обеспечение для моделирования сетей и сетевых протоколов — системы массового обслуживания и (или) сети Петри. Для структурного синтеза сетей используют дискретное математическое программирование и экспертные системы, перспективно применение генетических алгоритмов синтеза. Существуют пакеты интерактивного проектирования сетей. С их помощью можно изобразить поэтажную схему здания, разместить на ней обозначения компьютеров и сетевого оборудования, выбрать из базы данных типы оборудования и каналов связи, проверить допустимость их совместного использования и другие ограничения. Пример такого пакета — NetSuit Advanced Professional Design фирмы NetSuit Development. 9. Разрабатывается конфигурация сети. Все узлы сети распределяются по рабочим группам, а затем рабочие группы — по подсетям. Исходя из оценок прогнозируемого трафика и его характера, числа узлов и подсетей выбирается структура сети и типы сетевого оборудования. Если нет уверенности в том, что состав пользователей в рабочих группах будет стабильным, то целесообразно использовать виртуальные ЛВС. Необходимо учитывать возможности масштабирования сети, если ожидается ее расширение в процессе эксплуатации. $B.,3.A.0+. 4-781-4,-+ :9-4/:-+?+849:0016,+,-./. Одной из главных тенденций современной индустрии информатики является создание #&%".&., +'+&$/. Свойство открытости означает, во-первых, переносимость (мобильность) ПО на различные аппаратные платформы, во-вторых, приспособленность системы к ее модификациям (модифицируемость или собственно открытость) и комплексированию с другими системами с целью расширения ее функциональных возможностей и (или) придания системе новых качеств (интегрируемость). Переход к открытым информационным системам позволяет существенно ускорить научно-технический прогресс в результате замены длительной и дорогостоящей разработки новых систем по полному циклу их компоновкой из ранее спроектированных подсистем или быстрой модернизацией уже существующих систем (реинжиниринг). Открытость подразумевает выделение в системе интерфейсной части (входов и выходов), обеспечивающей сопряжение с другими системами или подсистемами, причем для комплексирования достаточно располагать сведениями только об интерфейсных частях сопрягаемых объектов. Если же интерфейсные части выполнены в соответствии с заранее оговоренными правилами и соглашениями, которых должны придерживаться все создатели открытых систем определенного приложения, то проблема создания новых сложных систем существенно упрощается. Из этого следует, что основой создания открытых систем является стандартизация и унификация в области информационных технологий. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Значительное развитие концепция открытости получила в области построения вычислительных сетей, что нашло выражение в эталонной модели взаимосвязи открытых систем, поддерживаемой рядом международных стандартов. Идеи открытости широко используются при построении программного, информационного и лингвистического обеспечений автоматизированных систем;

в результате повышается степень универсальности программ и расширяются возможности их адаптации к конкретным условиям. Аспекты открытости выражаются в стандартизации: — API (Application Program Interface) — интерфейсов прикладных программ с операционным окружением, в том числе системных вызовов и утилит ОС, т.е. связей с ОС;

— межпрограммного интерфейса, включая языки программирования;

— сетевого взаимодействия;

— пользовательского интерфейса, в том числе средств графического взаимодействия пользователя с ЭВМ;

— средств защиты информации.

Стандарты, обеспечивающие открытость ПО, в настоящее время разрабатываются такими организациями, как ISO (International Standard Organization), IEEE (Institute of Electrical and Electronics Engineers), EIA (Electronics Industries Association) и рядом других. Выше уже были отмечены телекоммуникационные и сетевые стандарты семиуровневой модели взаимосвязи открытых систем (ЭМВОС). Стандарты POSIX (Portable Operating System Interface) предназначены для API и составляют группу стандартов IEEE 1003. В этих стандартах содержатся перечень и правила вызова интерфейсных функций, определяются способы взаимодействия прикладных программ с ядром ОС на языке С (что означает преимущественную ориентацию на ОС Unix), даны расширения для взаимодействия с программами на других языках, способы тестирования интерфейсов на соответствие стандартам POSIX, правила административного управления программами и данными и т.п. Ряд стандартов ISO посвящен языкам программирования. Имеются стандарты на языки C (ISO 9899), Фортран (ISO 1539), Паскаль (ISO 7185) и др. Среди других стандартов, способствующих открытости ПО АС, следует отметить стандарты графического пользовательского интерфейса, хранения и передачи графических данных, построения БД и файловых систем, сопровождения и управления конфигурацией программных систем и др.

Важное значение для создания открытых систем имеет унификация и стандартизация средств межпрограммного интерфейса или, другими словами, необходимо наличие профилей АС для информационного взаимодействия программ, входящих в АС. !"#E'4$/ открытой системы называют совокупность стандартов и других нормативных документов, обеспечивающих выполнение системой заданных функций.

Так, в профилях АС могут фигурировать язык EXPRESS стандарта STEP, спецификация графического пользовательского интерфейса Motif, унифицированный язык SQL обмена данными между различными СУБД, стандарты сетевого взаимодействия, в профили САПР машиностроения может входить формат IGES и в случае САПР радиоэлектроники — формат EDIF и т.п.

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

Например, предлагаются профили АМН11 передачи сообщений между прикладными и транспортным уровнями;

ТА51 — устанавливает требования к работе оконечной системы в IEEE 802.3, RA51.1111 — ретрансляция услуг сетевого уровня между МДКН/ОК и PSDN (Packed Switched Data Network) и др. Теперь можно выбрать один базовый стандарт и соответствующее средство выдаст профиль — все остальные необходимые стандарты.

6.2. !0,-8 CASE-,+,-./1. В современных информационных технологиях важное место отводится инструментальным средствам и средам разработки АС, в частности, системам разработки и сопровождения их ПО. Эти технологии и среды образуют системы, называемые CASE-+'+&$/)/'. Используется двоякое толкование аббревиатуры CASE, соответствующее двум направлениям использования CASE-систем. Первое из них — Computer Aided System Engineering — подчеркивает направленность на поддержку концептуального проектирования сложных систем, преимущественно слабоструктурированных. Далее CASE-системы этого направления будем называть +'+&$/)/' CASE -49 %#*=$0&7)45*#8# 0"#$%&'"#()*'9. Второе направление было рассмотрено выше, его название &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Computer Aided Software Engineering переводится, как автоматизированное проектирование программного обеспечения, соответствующие CASE-системы называют '*+&"7/$*&)45*./' CASE или '*+&"7/$*&)45*./' +"$-)/' разработки ПО (одно из близких к этому названий — RAD — Rapid Application Development). Среди систем CASE для концептуального проектирования различают системы функционального, информационного или поведенческого проектирования. Наиболее известной методикой E7*%='#*)45*#8# 0"#$%&'"#()*'9 сложных систем является методика SADT (Structured Analysis and Design Technique), предложенная в 1973 г. Р.Россом и впоследствии ставшая основой международного стандарта IDEF0 (Integrated DEFinition 0). Системы '*E#"/)='#**#8# 0"#$%&'"#()*'9 реализуют методики инфологического проектирования БД. Широко используются язык и методика создания информационных моделей приложений, закрепленные в международном стандарте IDEF1X. Кроме того, развитые коммерческие СУБД, как правило, имеют в своем составе совокупность CASE-средств проектирования приложений. Основные положения стандартов IDEF0 и IDEF1X использованы также при создании комплекса стандартов ISO 10303, лежащих в основе технологии STEP для представления в компьютерных средах информации, относящейся к проектированию и производству в промышленности. !#($-$*1$+%#$ /#-$4'"#()*'$ сложных систем используют для определения динамики функционирования сложных систем. В его основе лежат модели и методы имитационного моделирования систем массового обслуживания, сети Петри, возможно применение конечно-автоматных моделей, описывающих поведение системы, как последовательности смены состояний. Применение инструментальных CASE-систем ведет к сокращению затрат на разработку ПО за счет уменьшения числа итераций и числа ошибок, к улучшению качества продукта за счет лучшего взаимопонимания разработчика и заказчика, к облегчению сопровождения готового ПО. Среди инструментальных CASE-систем различают интегрированные комплексы инструментальных средств для автоматизации всех этапов жизненного цикла ПО (такие системы называют Workbench) и специализированные инструментальные средства для выполнения отдельных функций (Tools). Средства CASE по своему функциональному назначению принадлежат к одной из следующих групп: 1) средства программирования;

2) средства управления программным проектом;

3) средства верификации (анализа) программ;

4) средства документирования. К первой группе относятся компиляторы с алгоритмических языков;

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

планировщики для построения высокоуровневых спецификаций и планов ПО (возможно на основе баз знаний, реализованных в экспертных системах);

интерпретаторы 96.%#( +0$='E'%)=';

и 96.%#( 1$&($"# 0#%#4$*'9;

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

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

кросс-средства;

отладчики программ. При этом под 96.%)/' +0$='E'%)=';

понимают средства укрупненного описания разрабатываемых алгоритмов и программ, к языкам 4GL относят языки для компиляции программ из набора готовых модулей, реализующих типовые функции достаточно общих приложений (чаще всего это функции технико-экономических систем). Управление программным проектом называют также 70")(4$*'$/ %#*E'87")='9/' ПО (SCM — software configuration management). Этому понятию соответствуют корректное внесение изменений а программную систему при ее проектировании и сопровождении, контроль целостности проектных данных, управление версиями проекта, организация параллельной работы членов коллектива разработчиков. Использование средств управления конфигурациями позволяет создавать программные системы из сотен и тысяч модулей, значительно сокращать сроки разработки, успешно модернизировать уже поставленные заказчикам системы. Основой средств управления программным проектом является репозиторий — БД проекта. Именно в репозитории отражена история развития программного проекта, содержатся все созданные версии (исходный программный код, исполняемые программы, библиотеки, сопроводительная документация и т.п.) с помощью репозитория осуществляется контроль и отслеживание вносимых изменений. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Средства верификации служат для оценки эффективности исполнения разрабатываемых программ и определения наличия в них ошибок и противоречий. Различают статические и динамические анализаторы. В статических анализаторах ПО исследуется на наличие неопределенных данных, бесконечных циклов, недопустимых передач управления и т.п. Динамический анализатор функционирует в процессе исполнения проверяемой программы;

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

различные редакторы для объединения, разделения, замены, поиска фрагментов программ и других операций редактирования. Проектирование ПО с помощью CASE-систем включает в себя несколько этапов. Начальный этап — предварительное изучение проблемы. Результат представляют в виде исходной диаграммы потоков данных и согласуют с заказчиком. На следующем этапе выполняют детализацию ограничений и функций программной системы, и полученную логическую модель вновь согласуют с заказчиком. Далее разрабатывают физическую модель, т.е. определяют модульную структуру программы, выполняют инфологическое проектирование БД, детализируют граф-схемы программной системы и ее модулей. *3.=+H+7:=++ 384.7-49 384@8://016,+,-./. Важное значение в процессе разработки ПО имеют средства спецификации проектов ПО. Средства спецификации в значительной мере определяют суть методов CASE. Способы и средства спецификации классифицируют по базовой методологии, используемой для декомпозиции ПО, как сложной системы, и по аспектам моделирования ПО. Различают два подхода к декомпозиции ПО Первый способ называют E7*%='#*)45*./ или +&"7%&7"*./. Он основан на выделении функций и потоков данных. Второй способ – #23$%&*.;

, выражает идеи объектно-ориентированного проектирования и программирования. Проектирование ПО из готовых компонентов, рассмотренное в предыдущей главе, есть выражение объектного подхода. Аспектами моделирования приложений являются функциональное, поведенческое и информационное описания. Практически все способы E7*%='#*)45*., спецификаций имеют следующие общие черты: — модель имеет иерархическую структуру, представляемую в виде диаграмм нескольких уровней;

— элементарной частью диаграммы каждого уровня является конструкция вход-функция-выход;

— необходимая дополнительная информация содержится в файлах поясняющего текста. В большинстве случаев функциональные диаграммы являются диаграммами потоков данных (DFD — Data Flow Diagram). В DFD блоки (прямоугольники) соответствуют функциям, дуги — входным и выходным потокам данных. Поясняющий текст представлен в виде “словарей данных”, в которых указаны компонентный состав потоков данных, число повторений циклов и т.п. Для описания структуры информационных потоков можно использовать нотацию Бэкуса-Наура. Одна из нотаций для DFD предложена Е.Йорданом. В ней описывают процессы (функции), потоки данных, хранилища и внешние сущности, их условные обозначения показаны на рис. 6.1. Разработка DFD начинается с построения диаграммы верхнего уровня, отражающей связи программной системы, представленной в виде единого процесса, с внешней средой. Декомпозиция процесса проводится до уровня, на котором фигурируют эле- %+,. 6.). Изображения элементов в нотации Йордана ментарные процессы, которые могут быть представлены одностраничными описаниями алгоритмов (миниспецификациями) на терминальном языке программирования. Для описания '*E#"/)='#**., моделей наибольшее распространение получили диаграммы сущность-связь (ERD — Entity-Relation Diagrams), в которых предусмотрены средства для описания сущностей, атрибутов и отношений. Спецификации хранилищ данных в CASE, как правило, даются с помощью диаграмм сущность-связь Стандартной методикой построения таких диаграмм является IDEF1X. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% !#($-$*1$+%'$ модели описывают процессы обработки информации. В инструментальных CASE-системах их представляют в виде граф-схем, диаграмм перехода состояний, таблиц решений, псевдокодов (языков спецификаций), процедурных языков программирования, в том числе языков четвертого поколения. В граф-схемах блоки, как и в DFD, используют для задания процессов обработки, но дуги имеют иной смысл — они описывают последовательность передач управления (вместе с специальными блоками управления). В диаграммах перехода состояний узлы соответствуют состояниям моделируемой системы, дуги — переходам из состояние в состояние, атрибуты дуг — условиям перехода и инициируемым при их выполнении действиям. Очевидно, что как и в других конечно-автоматных моделях, кроме графической формы представления диаграмм перехода состояний, можно использовать также табличные формы. Так, при изоморфном представлении с помощью таблиц перехода состояний каждому переходу соответствует строка таблицы, в которой указываются исходное состояние, условие перехода, инициируемое при этом действие и новое состояние после перехода. Близкий по своему характеру способ описания процессов основан на таблицах (или деревьях) решений. Каждый столбец таблицы решений соответствует определенному сочетанию условий, при выполнении которых осуществляются действия, указанные в нижерасположенных клетках столбца. Таблицы решений удобны при описании процессов с многократными ветвлениями. В этих случаях помогают также визуальные языки программирования, в которых для описания процессов используют графические элементы, подобные приведенным на рис. 6.2. В псевдокодах алгоритмы записываются с помощью как средств некоторого языка программирования (преимущественно для управляющих операторов), так и естественного языка (для выражения содержания вычислительных блоков). Используются конструкции (операторы) следования, условные, цикла. Слу- %+,. 6.2. Примеры описания операторов в визуальных языках программирования жебные слова из базового языка программирования или из DFD записываются заглавными буквами, фразы естественного языка — строчными. Языки четвертого поколения предназначены для описания программ как совокупностей заранее разработанных программных модулей. Поэтому одна команда языка четвертого поколения может соответствовать значительному фрагменту программы на языке 3GL. Примерами языков 4GL могут служить Informix-4GL, JAM, NewEra, XAL. Миниспецификации процессов могут быть выражены с помощью псевдокодов (языков спецификаций), визуальных языков проектирования или языков программирования, Объектный подход представлен компонентно-ориентированнными технологиями разработки ПО. При объектном подходе ПО формируется из компонентов, объединяющих в себе алгоритмы и данные и взаимодействующих путем обмена сообщениями. Для поддержки объектного подхода разработан стандартный язык моделирования приложений UML. M.604D4@++ 8.+0L+0+8+0@: + 3:8:DD.DF04@4 384.7-+849:0+>. Взаимосвязанная совокупность методик IDEF для концептуального проектирования разработана по программе Integrated Computer Aided Manufacturing в США. В этой совокупности имеются методики функционального, информационного и поведенческого моделирования и проектирования, в ее состав в настоящее время входят IDEF-методики, представленные в приложении (табл. П.1), часть из которых имеет статус международного стандарта. Методики IDEF задают единообразный подход к моделированию приложений, но не затрагива&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% ют проблем единообразного представления данных в процессах информационного обмена между разными компьютерными системами и приложениями. Необходимость решения этих проблем в интегрированных АС привела к появлению ряда унифицированных форматов представления данных в межкомпьютерных обменах, среди которых наиболее известными являются форматы IGES, DXF (в машиностроительных приложениях), EDIF (в электронике) и некоторые другие. Однако ограниченные возможности этих форматов обусловили продолжение работ в направлении создания более совершенных методик и представляющих их стандартов. На эту роль в настоящее время претендует совокупность стандартов STEP. E.-45+7: IDEF0. Как отмечено выше, наиболее известной методикой E7*%='#*)45*#8# /#-$4'"#()*'9 сложных систем является методика SADT (Structured Analysis and Design Technique), положенная в основу стандарта IDEF0. IDEF0 — это более четко очерченное представление методики SADT. SADT — методика, рекомендуемая для начальных стадий проектирования сложных искусственных систем управления, производства, бизнеса, включающих людей, оборудование, ПО. Начиная с момента создания первой версии, методика успешно применялась для проектирования телефонных сетей, систем управления воздушными перевозками, производственных предприятий и др. Разработку SADT-модели начинают с формулировки вопросов, на которые модель должна давать ответы, т.е. формулируют цель моделирования. Далее строят иерархическую совокупность диаграмм с лаконичным описанием функций. Недостатки SADT-моделей — их слабая формализованность для автоматического выполнения проектных процедур на их основе. Однако наличие графического языка диаграмм, удобного для восприятия человеком, обусловливает полезность и применимость методики SADT. Описание объектов и процессов в SADT (IDEF0) выполняется в виде совокупности взаимосвязанных блоков (рис. 6.3). Блоки выражают функции (работы), поэтому их названиями обычно являются глаголы или отглагольные существительные. Типичные примеры функций: планировать, разработать, классифицировать, измерить, изготовить, отредактировать, рассчитать, продать (или планирование, разработка, классификация, измерение, изготовление, редактирование, расчет, продажа). Число блоков на одном уровне иерархии — %+,. 6.3. Блок ICOM в IDEF0-диаграммах не более 6, иначе восприятие диаграмм будет затруднено. Число уровней иерархии не ограничено, но обычно их не более 5. Блоки нумеруются (номер записывается в правом нижнем углу). Дуги (стрелки) отображают множества объектов (данных), их имена — существительные. Управление определяет условия выполнения, примеры управления: требования, чертеж, стандарт, указания, план. Механизм выражает используемые средства, например: компьютер, оснастка, заказчик, фирма. Входы и выходы могут быть любыми объектами. Блоки рис. 6.3 в англоязычной литературе называют блоками ICOM (Input — Control — Output — Mechanism).

Рассмотрим пример функциональной модели для процесса создания САПР на предприятии, на котором ранее автоматизация проектирования была развита слабо. Диаграмма верхнего (нулевого) уровня А0 включает единственный блок ICOM “Разработать САПР”. В качестве исполнителей фигурируют специализированная организация, занимающаяся проектированием автоматизированных систем и называемая консалтинговой фирмой, а также представители организации-заказчика, объединенные в создаваемый на предприятии отдел САПР. Диаграмма первого уровня, показанная на рис. 6.4,а, включает блоки А1 — обследования предприятия, А2 — проектирования САПР, А3 — реализации САПР и А4 – испытаний системы. Диаграммы следующего второго уровня, раскрывающие первые блоки А1, А2 и А3, представлены на рис. 6.4,б, в и г соответственно (на этих рисунках не отмечены данные, соответствующие внутренним стрелкам диаграмм). При обследовании предприятия специалисты консалтинговой фирмы вместе с работниками отдела САПР, изучают структуру предприятия, типичные маршруты проектирования, информационные потоки и на этой базе разрабатывают модель “As Is”. Далее создается новая модель “To Be” с учетом не только требований автоматизации проектирования, но и будущих информационных потребностей процессов управления и делопроизводства. Модель “To Be” составляет основу технического предложения на создание САПР.

&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% %+,. 6.4. Функциональная модель процесса создания САПР: :) IDEF0-диаграмма первого уровня;

B) IDEF0-диаграмма обследования предприятия;

9) IDEF0-диаграмма проектирования САПР;

@) IDEF0-диаграмма реализации проекта САПР При проектировании САПР выбирают аппаратно-программную платформу, базовое ПО проектирующих и обслуживающих подсистем, разрабатывают структуру корпоративной сети, определяют типы сетевого оборудования, серверов и рабочих станций, выявляют необходимость разработки оригинальных программных компонентов. Реализация проекта САПР включает подготовку помещений, монтаж кабельной сети, обучение будущих пользователей САПР, закупку и инсталляцию ТО и ПО.

Разработка SADT-моделей состоит из ряда этапов. 1. Сбор информации. Источниками информации могут быть документы, наблюдение, анкетирование и т.п. Существуют специальные методики выбора экспертов и анкетирования. 2. Создание модели. Используется нисходящий стиль: сначала разрабатываются верхние уровни, затем нижние. 3. Рецензирование модели. Реализуется в итерационной процедуре рассылки модели на отзыв и ее доработки по замечаниям рецензентов, в завершение собирается согласительное совещание. Связи функциональной модели, отражающей функции, со структурной моделью, отражающей средства выполнения функций, выражаются с помощью специальных словарей, дающих однозначное толкование вводимым именам ресурсов. Дальнейшее использование IDEF0-модели — конкретизация задач выбора ресурсов, разработка планов реализации, переход к имитационным моделям и т.п. E.-45+7: IDEF3. !#($-$*1$+%#$ /#-$4'"#()*'$ сложных систем используют для исследования динамики их функционирования. В основе поведенческого моделирования лежат модели и методы имитационного моделирования систем массового обслуживания, сети Петри, возможно применение конечно-автоматных моделей, описывающих поведение системы, как последовательности смены состояний. Поведенческие аспекты приложений отражает методика IDEF3. Если методика IDEF0 связана с функциональными аспектами и позволяет отвечать на вопросы “Что делает система?”, то в IDEF3 детализируются и конкретизируются IDEF0-функции, IDEF3-модель отвечает на вопросы “Как система это делает?” Язык IDEF3 — язык диаграмм, помогающий разработчику моделей наглядно представить моделируемые процессы. В IDEF3 входят два типа описаний: 1) процесс-ориентированные в виде последовательности операций;

2) объект-ориентированные, выражаемые диаграммами перехода состояний, характерными для конечно-автоматных моделей. На рис. 6.5 представлен пример процесс-ориентированной IDEF3-диаграммы. Здесь функции (операции) показаны прямоугольниками с горизонтальной чертой, отделяющей верхнюю секцию с названием функции от нижней секции, содержащей номер функции. Связи, отражающие последова&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% %+,. 6.5. IDEF3-диаграмма последовательсноти операций тельность выполнения функций, изображаются сплошными линиями-стрелками. Для указания разветвлений и слияний связей (их принято называть перекрестками) используют квадраты, у которых одна или обе вертикальные стороны представлены двойными линиями, а внутри квадрата записан один из символов &, O или Х. При разветвлении эти символы означают реакцию всех, некоторых или только одной из последующих функций на входное воздействие соответственно. Аналогичный смысл имеют символы &, O или Х при слиянии – последующая функция начинает выполняться после окончания всех, некоторых или только одной из входных операций. На рис. 6.6 представлены пример объект-ориентированной IDEF3-диаграммы. В таких диаграммах имеются средства для изображения состояний системы, активностей, переходов из состояния в состояние и условий перехода. Диаграммы IDEF0 или IDEF3 могут быть преобразованы в имитационные модели, если задать дополнительные свойства функций, характеризующие затраты ресур%+,. 6.6. IDEF3- диаграмма перехода состояний сов. Чаще всего имитационные модели представляют в виде сетей Петри. Преобразование связано с введением времени в функциональную IDEF0 или в поведенческую IDEF3-модель, с заменой функций переходами, а объектов, отождествляемых со стрелками блоков ICOM, с метками в сетях Петри. E.-45+7: IDEF)X. IDEF1 — методика '*E#"/)='#**#8# ('*E#4#8'1$+%#8#) проектирования приложений, в настоящее время применяется ее усовершенствованный вариант IDEF1X. В IDEF1X имеется ясный графический язык для описания объектов и отношений в приложениях. Это язык диаграмм сущность-связь. Основные компоненты описаний в IDEF1X: сущности (блоки), отношения (связи), атрибуты. :7A*#+&5 — множество объектов, обладающих общими свойствами (в языках программирования понятие сущности совпадает с понятием типа). Конкретные элементы этого множества называют B%6$/049")/' сущности. Атрибуты характеризуют свойства сущностей, их значения однозначно идентифицируют экземпляры сущностей. Если сущность C может быть определена только с помощью ссылки на свойства некоторой другой сущности (, то C называется зависимой (дочерней) сущностью, а ( выступает в роли родительской сущности. Сущности в IDEF1X-диаграммах изображаются в виде прямоугольников, при этом у зависимых сущностей углы прямоугольников должны быть скругленными. U&*#>$*'9 (связи) между сущностями в IDEF1X являются бинарными отношениями. Выделяют '-$*&'E'='"7*';

%4<1 – это атрибут (или атрибуты), входящий в ключ родителя и наследуемый потомком. На IDEF1X-диаграммах ключи записывают в верхней части прямоугольника сущности, причем внешние ключи помечают меткой FK (Foreign Key), неключевые атрибуты помещают в нижнюю часть прямоугольников. В идентифицирующих отношениях все ключи родителя входят и в ключи потомка, в неидентифицирующих ключи родителя относятся к неключевым атрибутам потомка. Нормальные формы отношений позволяют выявить атрибуты, которые целесообразно (с целью устранения избыточности) считать сущностями. Известно несколько нормальных форм, обычно используют первые три из них. Первая нормальная форма требует, чтобы шапка таблицы (отношения) была одноэтажная (т.е. все атрибуты характеризуются атомарными значениями), строки-дубли должны быть устранены. Вторая нормальная форма устанавливается для сущностей, удовлетворяющих условиям первой нормальной формы и имеющих составные ключи. Она определяется отсутствием атрибутов, зависящих только от части составного ключа. Подобные атрибуты должны быть выделены в отдельные сущности. Третья нормальная форма дополнительно характеризуется отсутствием транзитивных связей (взаимозависимости) атрибутов. Разработка информационной модели по IDEF1X выполняется за несколько стадий. Стадия 0. Выяснение цели проекта, составление плана сбора информации. Обычно отправным пунктом для разработки информационной модели является IDEF0-модель. Стадия 1. Выявление и определение сущностей. Это неформальная процедура. Стадия 2. Выявление и определение основных отношений. Результат представляется или графически в виде ER-диаграмм или в виде матрицы отношений, элемент которой Aij=1, если имеется связь между сущностями i и j, иначе Aij=0. Транзитивные связи не указываются. Стадия 3. Детализация неспецифических отношений, определение ключевых атрибутов, уста %+,. 6.7. Элементы языка IDEF1X &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% новление внешних ключей. Детализация неспецифических отношений заключается в замене связей “многие ко многим” (L M) на связи “M 1” и “1 M” введением сущности-посредника. Например, отношение “преподаватель — студенческая группа” может быть заменено на отношения этих сущностей с сущностью-посредником “расписание”. Стадия 4. Определение атрибутов и их принадлежности сущностям. Основные элементы графического языка IDEF1X представлены на рис. 6.7. Между IDEF0 и IDEF1Х-моделями одного и того же приложения существуют определенные связи. Так, стрелкам на IDEF0-диаграммах соответствуют атрибуты некоторых сущностей в IDEF1Х-моделях, что нужно учитывать при построении информационных моделей. $B?48 58<@+6 /.-45+7 IDEF. Методика IDEF4 реализует #23$%&*#-#"'$*&'"#()**#$ 0"#$%&'"#()*'$ больших систем. При процедурном программировании кодированию предшествует удобное для пользователя изображение программы на графическом языке граф-схем или диаграмм потоков данных. Целесообразно иметь аналогичные средства, учитывающие специфику объектно-ориентированного программирования. В частности, такие средства предоставляет IDEF4. Другим вариантом графического языка поддержки объектноориентированного проектирования ПО является язык UML (Unified Modeling Language), рассматриваемый консорциу%+,. 6.8. IDEF4-диаграмма типов мом OMG на предмет стандартизации. Методика IDEF4 содержит графический язык для изображения взаимосвязей классов, атрибутов, методов в виде ряда диаграмм: типов, наследования, протоколов, клиентов, таксономии методов. Примеры диаграмм приведены на рисунках. В этих диаграммах прямоугольники с поперечными линиями соответствуют классам, имена которых указаны ниже поперечных линий, а сверху линий записаны идентификаторы атрибутов. Процедуры (методы) в IDEF4 изображены %+,. 6.9. IDEF4-диаграмма наследования прямоугольниками без поперечных линий. Передаваемые параметры записаны в овальных фигурах. Примеры диаграмм типов данных и наследования приведены на рис. 6.8 и 6.9 соответственно. В примере рис. 6.9 объекты класса “Деталь” наследуют часть атрибутов из классов “Геометрия” и “Материал”. Из рис. 6.10 ясно, что для процедуры моделирования некоторой схемы входными параметрами являются атри%+,. 6.)0. IDEF4-диаграмма протоколов буты источников сигналов и параметры компонентов схемы, а результатом — значения выходных параметров. На рис. 6.11 показан пример классификации методов, согласно которой методы решения перечисленных частных задач относятся к методам дискретной оптимизации. Связи вызывающих и вызываемой процедур представлены на рис 6.12. Методика IDEF5 направлена на представление #*#8'1$+%#;

'*E#"/)='' приложения в удобном для пользователя виде. Онтология связана с определениями и понятиями, используемыми для характеристики объек- %+,. 6.)). IDEF4-диаграмма таксономии методов &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% %+,. 6.)2. IDEF4-диаграмма клиентов тов и процессов вместе с их взаимосвязями. Для этого применяют символические обозначения (дескрипторы) объектов, их ассоциаций, ситуаций и схемный язык %+,. 6.)3. Символы графического языка IDEF5 описания отношений (классификации, часть-целое, перехода и т.п.), составляют словарь дескрипторов. В методике имеются правила связывания объектов (термов) в правильные предложения, языковые механизмы для установления соответствия между объектами реального мира и их идентификаторами (дескрипторами). В IDEF5 имеются две части: 1) схемный язык;

2) язык разработки (elaboration). Основные символы схемного языка представлены на рис. 6.13, пример классификационной схемы — на рис. 6.14 и пример диаграммы перехода состояний с символикой IDEF5 — на рис. 6.15.

%+,. 6.)4. Диаграмма классификации %+,. 6.)5. Диаграмма перехода состояний в IDEF Развитие методик реинжиниринга (BPR Business Process Reenginiring) продолжается в США по программе IICE (Information Integration for Concurrent Engineering). Разработаны, но пока (1998 г.) не получили официального статуса от органов стандартизации методики, имеющие индексы IDEF6, 8, 9, 14, разрабатываются методики IDEF7, 10, 12. IDEF6 (Design Rationale Capture) направлена на получение и представление решений по выбору стратегии проектирования и обоснованию предпринятых шагов. В отличие от других методик IDEF, в которых фиксируются результаты проектирования, в IDEF6 главный упор сделан на пути получения этих результатов и обоснование промежуточных решений. Такой подход особенно важен при разработке сложных систем в недостаточно определенных ситуациях. Фиксация шагов и обоснований помогает при дальнейших модернизациях систем, сохранению и использованию рационального опыта проектирования. Методика упорядочивает обнаружение и устранение неопределенностей, ошибок, неудовлетворенных ограничений. Язык методики включает предложения, связывающие компоненты проекта с пунктами обоснования. Под компонентами проекта обычно подразумевают компоненты, отражаемые на диаграммах IDEF0-5, например, стрелки ICOM из IDEF0, сущности, атрибуты, отношения из IDEF1X, объекты, сообщения, события из IDEF4 и т.п. В качестве пунктов обоснования могут фигурировать стандарты, экспериментальные данные, ограничения и т.п. IDEF8 (Human-System Interaction Design) предназначена для проектирования взаимодействия человека с технической системой. Эта методика не является методикой создания графического пользовательского интерфейса и потому обычно дополняется некоторой системой GUI (Graphic User Interface). Здесь определяется содержание (на абстрактном уровне) той части работы, которую выполняет человек. Создаваемые сценарии должны удовлетворять ряду оговоренных в методике принципов таких, как уменьшение нагрузки на человека, идентичность средств диалога в разных системах, наличие обратной связи для исправления ошибок, хранение истории диалога, помощь советами по выполнению действий и т.д. IDEF9 (Business Constraint Discovery) нацелена на выявление разнообразных ограничений (технических, физических, юридических, политических, организационных), которые должны быть учтены при разработке системы, и для анализа их влияния на принимаемые решения в процессе реинжиниринга. Обычно в качестве систем фигурируют сложные информационные системы с ориентацией на экономические и управленческие приложения. Ограничение — это отношение, &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% которое должно соблюдаться. Ограничения делятся на контексты (группы родственных ограничений). Применение IDEF9 заключается в выполнении нескольких шагов: 1) сбор свидетельств (фактов, указывающих на наличие ограничения);

2) классификация — определение контекстов, объектов, отношений;

3) прогнозирование — выявление ограничений на основе свидетельств;

4) отбор значимых ограничений;

5) определение экспертов для тестирования результатов;

6) детализация и фильтрация ограничений. В методике даны рекомендации по выполнению этих шагов. Предлагается графический язык, элементами которого являются система, блоки ограничений, контексты, линии связи, логические связки OR, AND, XOR (исключающее ИЛИ). IDEF14 (Network Design) предназначена для проектирования корпоративных вычислительных сетей, их представления на графическом языке с описанием конфигураций, очередей, сетевых компонентов, требований к надежности и т.п. Чаще всего методика применяется для модернизации уже существующих сетей. Поэтому в ней предусматривается разработка моделей как “AS IS”, так и “TO BE”. Проектирование включает в себя определение топологии сети или схемы коммуникаций, реализацию нужного качества обслуживания, анализ функционирования (трафик, дисциплины обслуживания в узлах, протоколы доступа). Модель топологии дополняется моделями очередей, надежности, материальных затрат. Важную роль играет библиотека методов построения и компонентов сетей. Методика основана на выполнении ряда шагов: установление целей модернизации, исследование существующей сети, определение типов компонентов в ней, построение модели “AS IS”, ее верификация, анализ результатов, корректировка с переходом к “TO BE”. В графическом языке IDEF14 сети и подсети изображаются в виде облаков, топологические связи представляются линиями, для узлов используются специальные иконки, возможны поясняющие надписи, список характеристик размещается в прямоугольниках.

P0+H+=+849:0012 >?17 /45.D+849:0+> UML. Язык UML положен в основу Rational Unified Process (RUP) — известной методологии проектирования информационных систем, развиваемой фирмой Rational Software. В UML также используется ряд диаграмм. К основным следует отнести прежде всего диаграммы классов. Они имеют следующие отличия от аналогичных диаграмм в IDEF4. Во-первых, в прямоугольнике класса имеются три секции, в верхней секции записывается имя класса, в средней секции — атрибуты, в нижней части — процедуры класса. При записи атрибутов указываются символ доступности (+ — public, # — prоtected, - - private), идентификатор атрибута, тип атрибута. Запись процедуры аналогична подобным записям в языках программирования: указываются имя процедуры и в скобках — список параметров. Во-вторых, в диаграммах классов UML отображение отношений часть-целое (отношений агрегации) выполняется с помощью линий с ромбовидной стрелкой, направленной от класса-части к классу-целому, и отношений наследования (суперкласс-подкласс) — с помощью линий с обычной стрелкой, направленной от подкласса к суперклассу. Поведенческий аспект моделирования отражен в диаграммах процессов, имеющихся в UML. Они бывают двух типов — диаграммы сценариев (ДС) и диаграммы взаимодействия объектов (ДВО). Сценарий — это последовательность событий, заключающихся в воздействиях (посылках сообщений) одного объекта на некоторый другой объект. В ДС объекты изображаются прямоугольниками и располагаются в горизонтальном ряду объектов. Ось времени направлена от этого ряда вертикально вниз. От каждого объекта параллельно оси времени идут так называемые их линии жизни (lifelines). Каждое событие изображается горизонтальной линией со стрелкой от линии жизни объекта, посылающего сообщение, к линии жизни объекта, принимающего сообщение. Над этими линиями возможен поясняющий текст. Линии располагаются одна над другой в порядке, в котором события совершаются (пример ДС на рис. 6.16). Диаграмма ДВО представляет собой граф, в котором вершины соответствуют объектам, а ребра — воздействиям. Около ребер возможны поясняющие записи, в частности, последовательные номера, указывающие порядок совершения событий. К числу других диаграмм относятся диаграммы использо- %+,. 6.)6. Вид диаграммы сценариев вания, цель которых — отобразить взаимодействие системы с пользователем. В этих диаграммах отображены в виде овалов те функции, которые непосредственно должен (или может) выполнять пользователь. При этом пользователи различаются ролями, выполняемыми ими при эксплуатации системы. Проектирование информационной системы в RUP начинается с построения диаграмм использования. При этом определяется и согласовывается внешняя функциональность системы и в итоге фор&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% мируется техническое задание на разработку ПО. Далее разрабатываются диаграммы взаимодействия “пользователь-система”, при этом выявляются необходимые объекты, строятся диаграммы классов, формируется компонентная структура ПО. "84@8://04. 4B.,3.A.0+. CASE-,+,-./ 5D> 740=.3-<:DF04@4 384.7-+849:0+>. На рынке программных продуктов имеется много CASE-систем для концептуального проектирования АС.

Чаще всего в них поддерживается методология IDEF. В России широко известны программы BPwin, ERwin, OOwin фирмы Platinum Technology, Design/IDEF фирмы Meta Software, CASE-Аналитик фирмы Эйтэкс, Silverrun фирмы CSA и др. BРwin (Business Processing) предназначена для разработки функциональных моделей по методике IDEF0. ERwin предназначена для разработки информационных моделей по методике IDEF1X. Имеются средства, обеспечивающие интерфейс с серверами БД (от пользователя скрыто общение на SQL-языке), перевод графических изображений ER-диаграмм в SQL-формы или в форматы других популярных СУБД. Предусмотрены интерактивные процедуры для связывания дуг IDEF0 с сущностями и атрибутами IDEF1X, т.е. для установления связей между BРwin и ERwin.. В систему включены также типичные для CASE средства разработки экранных форм. OOwin служит для поддержки объектно-ориентированных технологий проектирования информационных систем. Один из способов использования OOwin — детализация объектно-ориентированной модели на базе созданной ER-модели. При преобразовании ER в OO-представление сущности и атрибуты становятся классами (множествами подобных объектов). Классы могут быть дополнены описанием услуг класса, т.е. выполняемых операций, передаваемых и возвращаемых параметров, событий. Другой способ использования OOwin — реинжиниринг, так как модернизация проводится на уровне существующей модели. Система Design/IDEF (фирма Meta Software) предназначена для концептуального проектирования сложных систем. С ее помощью разрабатываются спецификации, IDEF0 и IDEF1X-диаграммы, словари данных, проводится документирование и проверяется непротиворечивость проектов. Имеется дополнительная система Design/CPN, позволяющая проводить имитационное моделирование на основе моделей, преобразованных в цветные сети Петри. Другой известной инструментальной средой моделирования приложений является Designer/2000 фирмы Oracle. Модель приложения может быть сгенерирована по ответам пользователя на вопросы системы. Используются собственные методики Oracle, позволяющие строить диаграммы потоков данных, сущность-отношение, иерархические деревья данных с возможностью их представления в SQL формах и, следовательно, поддерживается связь с любыми СУБД, работающими в ODBC. Система Silverrun (фирма Computer Systems Advisors) предназначена для анализа и проектирования информационных систем. Реализовано раздельное функциональное и информационное моделирование. Включает в себя четыре основные подсистемы: моделирование бизнес-процессов, построение моделей сущность-отношение, инфологическое проектирование реляционных баз данных, управление групповой работой. Имеет интерфейс к Oracle, Informix, Sybase и ряду других СУБД. Среди отечественных систем выделяется CASE Аналитик, в которой выполняется построение диаграмм потоков данных, получение отчетов, генерация макетов документов и др. Имеется интерфейс к ERwin. Методология объектно-ориентированного анализа и проектирования ПО по методике Г.Буча с использованием языка UML реализована в системах Rational Rose (фирма Rational Software Corporation) и Platinum Paradigm Plus (фирма Platinum Technology). В Rational Rose поддерживается генерация кода по построенным диаграммам классов, обратное моделирование (т.е. построение UML-модели по программному коду на таких языках, как C++, Java, Visual Basic, IDL CORBA), визуальное программирование. Язык UML применяют и в ряде других систем, например, в инструментальной среде объектно-ориентированного проектирования ПО objectiF (фирма micro TOOL), в которой автоматически генерируется программный код по графическому UML-описанию. Ряд программных продуктов, реализующих IDEF-модели, разработаны фирмой KBSI, в частности, ProSim реализует IDEF3, SmartER — IDEF1 и IDEF1X, SmartClass — IDEF4. Поведенческое моделирование предприятий предусмотрено также в некоторых системах реинжиниринга, например, в системе BAAN IV. Для преобразования функциональных или поведенческих моделей в имитационные применяют специальные программы. Так, вместе с программой BPWin для получения имитационных моделей используют программу BPSimulator. Преобразование IDEF0-модель сеть Петри реализовано в таких программах, как CPN/Design (фирма Meta Software) со специальным языком программирования ML, ProTem ( Software Consultants International Limited) с вариацией типов меток, PACE (Grossenbacher software) с программированием на языке Smalltalk.

E.-:/45.D+ +,-:05:8-1 CDIF (CASE Data Interchange Format). Метамодель — средство, являющееся инвариантным к частным представлениям индивидуальных пользователей, служащее промежуточным звеном в процедурах взаимодействия приложений, характеризуемых своими локальными моделями. Место метамодели в информационных процессах взаимодействия иллюстрирует рис. 6.17. Из рисунка ясно, что вместо непосредственного обращения одного приложения к другому, при котором каждое приложение должно иметь конверторы всех других локальных моделей, используется транс&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% ляция передаваемой информации на промежуточный язык метамодели, а принимающее приложение переводит метамодельное представление в свой собственный формат. Метамодельный подход имеет ряд преимуществ, например, каждое приложение становится открытым и может развиваться независимо от других, система не имеет ограничений на включение новых приложений. %+,. 6.)7. Место метамодели в процессах Примерами метамоделей могут служить техноинформационного обмена. логия ODBC взаимодействия различных СУБД, основанная на языке SQL, графические системы типа GKS, концепция байт-кодов в языке Java и т.п. В технологиях проектирования АС и реинжиниринга предприятий важное место отводится разработке метамоделей, направленных на взаимную трансформацию функциональных, информационных и структурных моделей. Для этого, в частности, требуется систематизация понятий, фигурирующих в приложениях, и построение словарей соответствия моделей этих типов. Другое важное назначение метамоделей — интеграция CASE-средств разных производителей. Такая интеграция требуется, например, при недостаточных возможностях каждого из доступных CASE пакетов в отдельности, для доступа в условиях изменения программного и лингвистического обеспечений к информации, разработанной с помощью разных версий CASE-систем и накапливающейся длительное время в архивах. Целям интеграции CASE-средств разных производителей служат стандарты серии CDIF, разрабатываемые организацией EIA (Electronics Industries Association) и признаваемые Международной организацией стандартизации ISO (International Standard Organization). Метамодель в CDIF определяется, как средство, с помощью которого осуществляется правильная интерпретация данных при их передаче из одной CASE-среды в другую. Такая интерпретация требуется при взаимодействии сред, использующих различные формы представления однородной в смысловом отношении информации. Другими словами, метамодель применяют для передачи и правильной интерпретации данных с одинаковой семантикой, но с разным представлением в частных CASE системах. Например, данные, близкие в семантическом отношении, но различающиеся по представлению, фигурируют в методиках информационного моделирования (data modeling), моделирования потоков данных (data flow modeling), событийного моделирования переходов состояний (state event modeling), объектно-ориентированного анализа и проектирования (object oriented analysis and design). CDIF-метамодель осуществляет интерфейс между ними. Программное обеспечение, поддерживающее CDIF, позволяет представлять данные в желаемой форме (в соответствии с предметной областью). Например, конечно-автоматная модель может быть представлена в форме графа или матрицы перехода состояний, объектно-ориентированная модель — с использованием прямоугольников или произвольно очерченных фигур и т.п. Клиент, поддерживающий CDIF, транслирует форму источника информации в форму, доступную клиенту с сохранением семантики данных. Очевидно, что для каждой предметной области, характеризуемой своим множеством семантически близких понятий можно построить свою метамодель. Такие предметные области в стандартах CDIF называют Subject Areas, для многих предметных областей разработаны свои CDIF-стандарты (метамодели). Очевидно также, что потребности в метамоделях могут возникать для новых предметных областей, поэтому в CDIF отдельная методика посвящена включению в стандарты новых метамоделей. Имеются также общие для различных предметных областей компоненты метамоделей. Обычно интегрированная метамодель строится на основе парадигмы сущность-отношение. Обменный файл в CDIF состоит из трех частей: заголовка (имя, дата, источник, способ кодирования и другие общие атрибуты), метамодели (указывается тип используемой метамодели) и собственно передаваемых данных. Список стандартов CDIF приведен в приложении. Стандарты подразделены на три группы. Первая группа содержит обзор стандартов CDIF и общие правила их расширения. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Вторая группа определяет форматы представления данных, т.е. синтаксис и способы кодирования передаваемых данных. Третья группа содержит стандарты, ориентированные на представление семантики передаваемых данных. Каждый из стандартов относится к определенной предметной области. Например, есть стандарты или проекты стандартов для таких областей, как объектно-ориентированный анализ и проектирование, моделирование бизнес-процессов, проектирование автоматизированных систем управления, описание потоков данных, данных в реляционных базах данных и др. Кроме того, введены иерархическая структура метамодели и возможности наследования, благодаря выделению наиболее общих частей, справедливых для многих предметных областей, и их представлению в отдельных стандартах. Таким образом, в метамодели CDIF имеет место отделение семантики от способа представления данных. Правильная передача семантики сочетается с варьированием форм представления данных.

6.3. STEP--.604D4@+> $BR+.,9.5.0+> 4,-:05:8-:6,438494L5.0+> 384/1ID.0042 3845<7=++ 0: 9,.6 T-:3:6.. L+?0.004@4 =+7D:. STEP (Standard for Exchange of Product data) — это совокупность стандартов (под номером ISO 10303), определяющих средства описания (моделирования) промышленных изделий на всех стадиях жизненного цикла. Совокупность стандартов STEP лежит в основе CALS-технологий. Единообразная форма описаний данных о промышленной продукции обеспечивается введением в STEP языка Express, инвариантного к приложениям. Стандарты STEP не отрицают, а развивают методику информационного моделирования IDEF1X и предполагают возможность совместного использования с методикой функционального проектирования IDEF0 и рядом других международных стандартов (например, со стандартами ISO P-LIB, Mandate, SGML, CDIF и стандартом EIA 649). :&)*-)"& ISO W0303 состоит из ряда документов (томов). Том ISO 10303-1 — вводный стандарт, описывающий структуру всей совокупности томов и основные принципы STEP. В следующих группах томов содержатся описания инвариантного к приложениям языка Express, даны методы его реализации, модели, ресурсы, как общие для приложений, так и некоторые специальные (например, геометрические и топологические модели, описание материалов, процедуры черчения, конечно-элементного анализа и т.п.), прикладные протоколы, отражающие специфику моделей в конкретных предметных областях, методы тестирования моделей и объектов. Удовлетворению требований создания открытых систем в STEP уделяется основное внимание — специальный раздел посвящен правилам написания файлов обмена данными между разными системами, созданными в рамках STEP-технологии. Развитие линии стандартов STEP находит выражение в разработке новых стандартов Parts Library (ISO 13584), Parametrics (ISO 14959), Mandate (ISO 15531). :&)*-)"&. Parts Library (P-LIB) содержат обзор и основные принципы представления данных о стандартных компонентах промышленных изделий. В этих стандартах представлены в виде библиотек данные о семействах таких типовых широко используемых компонентов изделий, как болты, подшипники, электронные компоненты и т.п., с целью использования этих данных в системах автоматизированного проектирования. В P-LIB содержатся также правила использования, интерфейса и модификации библиотечных описаний. Цель стандарта — обеспечить инвариантный для приложений механизм оперирования частями библиотеки. Благодаря ISO 13584 различные прикладные САПР могут разделять данные из обобщенных баз, беспрепятственно обмениваться данными о типовых компонентах.

Стандарты P-LIB состоят из нескольких частей. Часть 1 — обзор и основные положения серии стандартов. Номера с 10 по 19 отведены для частей, содержащих концептуальные положения. Номера с 20 по 29 выделены для описания логических ресурсов. Здесь разработаны части: 20 — общие ресурсы;

24 — логическая модель поставляемой библиотеки (Logical model of supplier library);

26 — определение поставщиков (Supplier Identification). Номера 30-39 используются для описания ресурсов внедрения. Здесь разработана часть 31 — интерфейс геометрического программирования (Geometric Programming Interface). Описание методологии структуризации семейств содержится в части 42.

&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Протоколам обмена посвящены части, начинающиеся с номера 101. Часть под номером 101 содержит протокол обмена геометрической параметризованной информацией;

часть под номером 102 — протокол обмена согласованными с STEP данными.

:&)*-)"&. Parametrics введены сравнительно недавно (1996 г.) в связи с тем, что стандарты STEP в недостаточной мере учитывали особенности современных САПР в части представления параметризованных моделей изделий и обмена параметризованными данными. Рабочая группа ISO по Parametrics решает как краткосрочные, так и перспективные задачи. Первые из них касаются удовлетворения потребностей геометрического проектирования и машинной графики в сегодняшних САПР, в которых широко используются параметризованные модели. Вторые касаются попыток распространения идей параметризации на более ранние этапы проектирования и на более широкий круг моделей и процедур проектирования, имеющих не только геометрический характер. :&)*-)"&. Mandate посвящены представлению данных, относящихся к функционированию предприятий, управлению территориально распределенными производственными системами, обмену данными о производстве с внешней для предприятия средой. Часть стандарта, обозначаемая ISO 15531-21, содержит обзор и основные принципы представления данных о промышленной продукции. Содержание этой части характеризуется следующими ключевыми словами: системы промышленной автоматизации и интеграция, промышленные данные, обмен данными об управлении производством, обмен данными с внешней средой. Том ISO 15531-31 посвящен обзору и основным принципам использования данных о производственных ресурсах. Излагаются модель, форма и атрибуты представления данных о производственных ресурсах, об управлении их использованием. Том ISO 15531-41 содержит обзор и основные принципы управления потоками производственных данных. :$/$;

+&(# +&)*-)"&#( SGML (ISO 8879) предназначено для унификации представления текстовой информации в АС. В цикле проектирования промышленной продукции стандарты SGML обслуживают стадию, на которой выполняется документирование результатов. Стандартная форма документов способствует их правильной передаче, интерпретации и многократному использованию многими системами и пользователями. Стандарты SGML разрабатывались прежде всего применительно к текстовым документам, но их возможности шире, так они применимы для документирования гипермедийных данных. Роль стандартов SGML конкретизируется следующими направлениями их использования. 1. Единообразное представление структуры данных, включая классификацию и идентификацию типов документов, поддержку различных типов символов и языковых ограничений. 2. Дополнение моделей промышленных изделий, задаваемых в настоящее время стандартами STEP, моделями документов. 3. Обмен данными между различными АС, электронными или традиционными средствами публикации и прежде всего между STEP и SGML средами. Для достижения этой цели SGML-формы должны быть согласованны с формой обменного файла STEP, описываемого в томе ISO 10303-21. Использование возможностей SGML в STEP-ресурсах осуществляется с помощью информационной структуры SGML_STRING, включаемой в модели на языке Express. Эта структура содержит информацию о требуемом документальном оформлении данных и, следовательно, позволяет выполнять в STEP-среде перечисленные выше функции SGML. Тем самым реализуется интеграция STEPи SGML-стандартов. Стандарт SGML устанавливает такие множества символов и правил для представления информации, которые позволяют правильно распознавать и идентифицировать эту информацию. Названные множества описывают в отдельной части документа, называемой декларацией DTD (Document Type Declaration), которую помещают в начале SGML-документа. В DTD указывают соответствие символов и их кодов, максимальные длины используемых идентификаторов, способ представления ограничителей для тегов (примером может служить символ “<” для тегов в HTML), другие возможные соглашения, синтаксис DTD, а также тип и версия документа. Следовательно, SGML можно назвать способом описания семейства конкретных языков разметки. В частности, подмножествами SGML явля&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% ются языки разметки XML и HTML. :&)*-)"& EIA 649 посвящен 70")(4$*'< %#*E'87")='$;

изделий. В нем установлены базовые принципы управления конфигурацией и правила управления внесением изменений в документацию, рассматриваются такие вопросы, как идентификация документа, взаимосвязи конфигурации продукта и данных, контроль версий данных и доступа к данным и др. В стандарте вводятся уровни статуса данных, к которым относится документ на том или ином этапе своего жизненного цикла. Возможны уровни рабочих, выпущенных, представленных и утвержденных данных. На уровне рабочих данных с документом работает его составитель (разработчик). На уровне выпущенных данных документ доступен соответствующим подразделениям организации-изготовителя, здесь и далее любое изменение данных требует выполнения специальных согласительных процедур. Представленные данные уже доступны для просмотра заказчикам (потребителям). Статус утвержденных данные получают после одобрения заказчиком. *-8<7-<8:,-:05:8-49 STEP. Построение открытых распределенных АС для проектирования и управления в промышленности составляет основу современной CALS-технологии. Главная проблема их построения — обеспечение единообразного описания и интерпретации данных, независимо от места и времени их получения в общей системе, имеющей масштабы вплоть до глобальных. Структура проектной, технологической и эксплуатационной документации, языки ее представления должны быть стандартизованными. Тогда становится реальной успешная работа над общим проектом разных коллективов, разделенных во времени и пространстве и использующих разные CAE/CAD/CAM-системы. Одна и та же проектная документация может быть использована многократно в разных проектах, а одна и та же технологическая документация — в разных производственных условиях, что существенно сократит и удешевит общий цикл проектирования и производства. Упрощается эксплуатация систем. Эти цели поставлены при разработке стандартов STEP. К их разработке под эгидой ISO привлечен ряд ведущих специалистов фирм в разных отраслях промышленности. Основу STEP составляет язык Express. Это язык унифицированного представления данных и обмена данными в компьютерных средах. Язык инвариантен к приложениям. Хотя он разрабатывался с ориентацией прежде всего на описание жизненных циклов промышленной продукции, области его применения значительно шире. В STEP используются также следующие основные понятия: AAM — Application Activity Model;

это функциональная модель IDEF0 для определенного приложения;

ARM — Application Requirements Model;

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

AIM — Application Interpreted Model;

это ARM модель, переведенная в STEP представление;

AP — Application Protocol;

это STEP стандарт, отражающий специфику конкретного приложения;

SDAI — Standard Data Access Interface;

программный интерфейс к источникам данных (репозиториям) прикладных систем (в том числе к библиотекам моделей CAD/CAM систем) с переводом моделей в STEP файлы, используется в STEP средах для организации обменов между приложениями через общую базу данных STEP. STEP — это совокупность стандартов и состоит из ряда томов. Тома имеют свои номера N и обозначаются как “часть N” или ISO 10303-N. Приведем краткую характеристику следующих основных групп томов: — том ISO 10303-1 — вводный стандарт, выполняющий роль аннотации всей совокупности томов. В этом стандарте вводится ряд терминов, используемых в других стандартах, например, таких как продукт (product), приложение (application), проектные данные (product data), модель (model), модели ААМ, АIM, ARM, прикладной протокол (AP), интегрированный ресурс (integrated resource), элемент функциональности (unit of functionality — UoF). — части 11 - 14 — методы описания (Description methods), — части 21 - 29 — методы реализации (Implementation methods), — части 41 - 50 — интегрированные основные ресурсы (Integrated generic resources), — части 101 - 108 — интегрированные прикладные ресурсы (Integrated application resources), &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% — части 201 - 236 — прикладные протоколы (Application protocols), — части 501 - 520 — прикладные компоненты (Application interpreted constructs). Списки избранных томов под номерами 31 - 35 – «Основы тестирования продукции» (Conformance testing methodology and framework) и 301 - 332 — «Абстрактные тестовые наборы» (

Abstract

test suites) приведены в приложении. E.-451 43+,:0+>. Первая группа документов — тома, с номерами в диапазоне с 11 до 19 отведены для описания диалектов языка Express. N=11: Express language reference manual. Основное руководство по языку Express. Содержит также описания расширения Express-С базового языка и графического варианта языка Express-G. Базовый язык приспособлен для описания и передачи статических свойств объектов приложений, т.е. параметров структур и ограничений. Поэтому Express-С включает средства описания динамических свойств объектов (добавлено описание событий и транзакций). Для наглядности представления языковых конструкций в Express предусмотрены графические средства изображения моделей, в качестве которых может использоваться специальное дополнение Express-G (графический Express). Express-G — язык диаграмм, напоминающий язык описания информационных моделей в методике IDEF1X. N=12: Express-I Language Reference Manual. Express-I — расширение языка, предназначенное для описания отдельных экземпляров данных. Разрабатываются дополнения, относящиеся к следующим диалектам языка: — Express-М: Mapping definition language;

язык для описания соответствий между сущностями и атрибутами некоторых моделей, представленных в виде схем на языке Express. Например, этими схемами могут быть два разных прикладных протокола, имеющих частично общие данные, или две схемы одного приложения, но созданные разными лицами (при отсутствии соответствующего АР). Одна схема есть схема-источник, другая — целевая схема. Целевых схем может быть несколько при одной схеме-источнике. Предложения Express-М транслируются на язык С, результирующая программа представляет собой совокупность обращений к функциям базы данных SDAI в STEP-среде. Другими словами, транслятор относится к системе SDAI (см. протокол ISO10303-22), а Express-М можно рассматривать, как язык 4GL для обращений к функциям базы данных SDAI. — Express-Х: промежуточный язык, аналогичный Express-М и используемый для описания соответствий между типами данных в заданной исходной Express-схеме и создаваемыми новыми ее вариантами (views);

в качестве views могут использоваться форматы с описанием того же множества сущностей, что и в Express-схеме, например, формат IGES (описанию языка Express-X посвящен будущий стандарт ISO 10303-14). — Express-P: Process definition language;

язык диаграмм для представления процессов, методов и коммуникационных структур. — Express-V: язык, предназначенный для получения ARM представлений из AIM моделей, другими словами, для описания процедур поиска экземпляров Express-объектов, отвечающих заданным условиям, и доступа к ним, например, при создании новых ARM. Эти создаваемые ARM-представления обычно не требуют столь всестороннего описания приложения, как в AIM, и потому могут быть существенно проще. В Express-V имеются: 1) схема-источник (AIM), обычно это прикладной протокол, например, AP203;

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

3) схема отображения нужных сущностей из источника в цель. На языке Express-V описываются условия (в виде клозов WHEN) такого отображения. берется подходящая уже существующая AIM, как источник, все совпадающие объекты переводятся в ARM, далее описываются оригинальные объекты. Дополнительной возможностью реализаций Express-V является обратное отображение специфики создаваемой ARM в исходную AIM с целью развития прикладных протоколов. Для возможности применения языка Express должны быть разработаны методы реализации (Implementation Methods), которые могут быть представлены средствами файлового взаимодействия, построением БД, интерфейсом с языками программирования. E.-451 8.:D+?:=++. Вторую группу (тома с номерами 21...29) называют “Методы реализации”, она служит для реализации межпрограммного информационного обмена между прикладными системами в STEP-среде. Предусмотрены межпрограммные связи с помощью обменного файла и доступа к БД. &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% N=21: Clear Text Encoding of the Exchange Structure (physical transfer file format);

стандарт устанавливает правила оформления обменного файла. Обменный файл играет в STEP важную роль;

если собственно на языке Express определены сущности, то именно в обменном файле задаются экземпляры этих сущностей. Прикладные программы для связи со STEP средой должны читать и генерировать обменные файлы. N=22: Standard Data Access Interface Specification;

содержит описание SDAI — системы представления данных и доступа к данным конкретных прикладных систем (чаще всего это CAD/САМ системы). Данные, участвующие в межпрограммных связях, образуют SDAI-модели. В SDAI системе предусматривается компилятор кода, конвертирующего эти модели в SDAI базу данных, а также функции обращения к этой базе данных. Возможно непосредственное построение прикладных систем, работающих с SDAI базой данных. Тома с номерами N = 23…29 устанавливают правила обращения к данным в SDAI базе данных на языках программирования С++, С, Java, на языке передачи данных в системах распределенных вычислений IDL, языке разметки XML. "8+7D:501. 384-474D1. !"'%4)-*./ 0"#&#%#4#/ в STEP называют информационную модель определенного приложения, которая описывает с высокой степенью полноты множество сущностей, имеющихся в приложении, вместе с их атрибутами, и выражена средствами языка Express. Предполагается, что эта модель содержит в себе описание данных любой конкретной задачи соответствующего приложения, т.е. практические информационные модели прикладных задач оказываются частными случаями прикладных протоколов. Прикладные протоколы в стандарте ISO 10303 содержатся в томах, начиная с N=201. Прикладные протоколы принято обозначать аббревиатурой АР с указанием номера, например, АР203, АР214. Для связи прикладной системы со STEP используемые ею данные должны быть описаны в соответствующем АР. Список большинства разработанных прикладных протоколов приведен в приложении. Число прикладных протоколов в STEP может расширяться за счет разработки новых протоколов. В прикладных протоколах широко используются типовые фрагменты информационных моделей, встречающиеся более чем в одном приложении. Эти фрагменты называют интегрированными общими и прикладными ресурсами. M+3491. H8:@/.0-1 +0H48/:=+40016 /45.D.2. Четвертая группа стандартов STEP (тома с номерами 41...50) “Интегрированные общие ресурсы” описывает общие для приложений ресурсы, под которыми понимаются основные компоненты (building blocks) для моделей прикладных протоколов. Например, описания геометрических объектов в виде поверхностей Безье или I-сплайнов могут использоваться во многих прикладных протоколах, поэтому эти описания вынесены в группу интегрированных ресурсов. Тома с номерами 101 по 199 отведены для документов, относящихся к более специальным средствам, называемым интегрированными прикладными ресурсами (Integrated application resources). Группа стандартов с номерами, начинающимися с N = 501, служит для описания данных о геометрических элементах и моделях некоторых конкретных типовых объектов и конструкций, часто используемых в ряде интегрированных ресурсов и прикладных протоколов. Номера и названия томов, описывающих интегрированные и прикладные ресурсы и прикладные компоненты, приведены в приложении. $8@:0+?:=+> 9 STEP +0H48/:=+40016 4B/.049. Возможны обмены через обменный файл и через БД SDAI. Эти способы поясняются на рис. 6.18 и 6.19 соответственно. Обменный файл (см. рис. 6.18) используется при связи двух систем K и I, имеющих общие данные с различными обозначениями. Пользователь должен написать перекодировщик (например, на языке Express-X), с помощью кото- %+,. 6.)8. Взаимодействие Express-приложений через обменный файл &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% рого отождествляются идентификаторы одних и тех же сущностей, имевших разные обозначения в схемах K и I. Связь через БД SDAI (рис.6.19) отличается от обмена по схеме рис. 6.18 тем, что здесь имеет место не просто обмен, а разделение данных многими пользователями, и SDAI фактически выступает в роли метамодели для разных САПР. Описание языка Express в сокращенном виде приведено в следующем %+,. 6.)9. Взаимодействие Express-приложений через базу данных SDAI параграфе. *-:05:8-1 <38:9D.0+> 7:A.,-94/ 384/1ID.0042 3845<7=++. Международные стандарты серии ISO 9000 разработаны для управления качеством продукции, их дополняют стандарты серии ISO 14000, отражающие экологические требования к производству и промышленной продукции. Хотя эти стандарты непосредственно не связаны со стандартами STEP, их цели — совершенствование промышленного производства, повышение его эффективности — совпадают. Очевидно, что управление качеством тесно связано с его контролем. Контроль качества традиционно основан на измерении показателей качества продукции на специальных технологических операциях контроля и выбраковкой негодных изделий. Однако есть и другой подход к управлению качеством, основанный на контроле качественных показателей не самих изделий, а проектных процедур и технологических процессов, используемых при создании этих изделий. Такой подход более эффективен и требует меньше затрат. Именно он и положен в основу стандартов ISO 9000. Под %)1$+&(#/ продукции в ISO 9000 подразумевается своевременное удовлетворение требований заказчика при приемлемой цене. Документальную систему с руководствами и описаниями процедур достижения качества называют +'+&$/#;

%)1$+&() (QS — Quality System). Система качества обычно представляет собой совокупность трех слоев документов. Слои содержат: 1) описание политики управления для каждого системного элемента (организация, ответственные, контроль);

2) описание процедур управления качеством (что, где, кем и когда должно быть сделано);

3) тесты, планы, инструкции и т.п. Сертификация предприятий по стандартам ISO 9001-9003 выполняется некоторой уполномоченной внешней организацией. Наличие сертификата качества — одно из важных условий для успеха коммерческой деятельности предприятий. Стандарты ISO 14000 посвящены проблеме выполнения промышленными предприятиями экологических требований. По своей целевой направленности они близки стандартам управления качеством промышленной продукции ISO 9000, которые служат базой для ISO 14000. Стандарты ISO 14000 являются также системой управления влиянием на окружающую среду, они, как и ISO 9000, реализуются в процессе сертификации предприятий, задают процедуры управления и контроль документации, аудит, подразумевают соответствующее обучение и сбор статистики. Кроме требований заказчиков и покупателей, здесь воплощаются внутренние требования организации. Краткое описание стандартов серий ISO 9000 и ISO 14000 дано в приложении.

6.4. '8:-74. 43+,:0+. >?17: Express *-8<7-<8: 43+,:0+> 38+D4L.0+> 0: >?17. Express. Базовый язык Express является объектно-ориентированным, имеет универсальный характер, его можно использовать для описания статических структур и их свойств в различных предметных областях, несмотря на то, что язык разрабатывался прежде всего в качестве средства представления моделей промышленных изделий на разных этапах их жизненного цикла. Описание некоторого приложения на языке Express в рамках стандарта STEP называют /#-$45< (model). В модели декларируются множества понятий и объектов, входящих в приложение, свойства и взаимосвязи объектов. Модель состоит из одной или нескольких частей, называемых +,$/)/' (schema). Схема — раздел описания, являю &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% щийся областью определения данных. В ней вводятся необходимые типы данных. При описании свойств типов данных могут применяться средства процедурного описания — процедуры, функции, правила, константы. *6./:. Описание схемы начинается с заголовка, состоящего из служебного слова schema и идентификатора — имени схемы. Далее следует содержательная часть — тело схемы. Описание заканчивается служебным словом end_schema (в этом и последующих примерах служебные слова языка Express выделены полужирным шрифтом): schema <имя схемы>;

<тело схемы>;

end_schema;

%+,. 6.20. Изображение схемы в Express-G В языке Express-G схема представляется прямоугольником с разделительной горизонтальной линией, над этой линией записывается имя схемы, как это показано на рис. 6.20. В теле схемы декларируются &'0. -)**., (Data Type). Тип данных — множество значений некоторой величины или множество объектов (набор экземпляров). В языке Express используются следующие типы данных: сущность (Entity), простой (Simple Type), агрегативный (Aggregation Data Type), определяемый (Defined Data Type), нечисловой (Enumeration Data Type) и выделяемый (Select Data Type) типы. *;

<идентификатор атрибута>:<тип атрибута>;

... end_entity;

Например, задание прямой линии (line) в виде двух инцидентных точек р0 и р1 (атрибутов типа point) выглядит следующим образом: entity line;

p0,p1: point;

end_entity;

Атрибуты и переменные сами могут быть сущностями, так тип атрибутов предыдущего примера декларируется, как сущность, атрибутами которой в случае пространства 3D являются геометрические координаты x,y,z: entity point;

x,y,z: real;

end_entity;

В Express-G сущности изображаются прямоугольниками, внутри прямоугольника записывается имя сущности (рис. 6.21). Если свойство является необязательным для данной сущности, то его выражают так называемым *$#296)&$45*./ (optional) )&"'27&#/. В его описании перед типом атрибута добавляется служебное слово optional %+,. 6.2). Изображение сущности в Express-G <идентификатор атрибута>: optional <тип атрибута>;

Изображение атрибутов в Express-G поясняет рис. 6.22, из которого, в частности, ясно, что атрибут представлен прямоугольником, а связи “сущность-атрибут” или “сущность-сущность” отображаются линиями, причем в случае связи с optional атрибутом используется пунктирная линия. Направление связи обозначается окружностью на конце линии, ведущей к атрибуту. Имя атрибута записывается рядом с этой линией. В прямоугольнике атрибута записывается тип атрибута. Некоторые из атрибутов могут определяться через другие атрибуты. Тогда %+,. 6.22. Атрибуты в Express-G атрибуты, выражаемые через другие атрибуты, называют 0#"#@-$**./' (derived), что отображается служебным словом derive в декларации атрибута. Например, описание окружности, кроме обязательных атрибутов, которыми в нижеследующем примере выбраны радиус и центр окружности, может включать порожденный атрибут площадь круга:

&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! entity point;

x,y,z: real;

end_entity;

entity circle;

center: point;

radius: real;

derive area: real := pi*radius**2;

end_entity;

%*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% -- явные атрибуты center, radius (*порожденный атрибут area*) Отметим, что между символами (* и *) записывается %#//$*&)"';

— произвольный текст по усмотрению автора модели. Если комментарий умещается в одной строчке, то достаточно перед его текстом поставить двойной дефис (--). "84,-1. -+31 5:0016. К 0"#+&./ &'0)/ -)**., относятся следующие типы: — integer — целые числа;

— real — вещественные числа;

— number — тип, объединяющий типы integer и real;

— logical — его значениями могут быть true, false или unknown (неопределенность);

— Boolean — с возможными значениями true или false;

— binary — последовательность битов 1 или 0;

— string — строка символов. Их изображения на схемах на языке Express-G показаны на рис. 6.23. Для binary и string в круглых скобках можно указать максимально возможное число элементов множества, например, если строка А может включать до 24-х символов, то: А: string(24);

если ровно 24 символа, то А: string(24) fixed;

если ограничений нет, то %+,. 6.23. Изображение простых типов данных в Express-G А: string;

Если переменная а имеет тип binary, то выражение а[5:7] означает биты с 5-го по 7-й в коде а. Значения простых типов выражаются с помощью литералов. R'&$")4. — это числа (целые, вещественные), двоичные коды, логические значения (true, false, unknown), фрагменты текста (строковый тип). Примеры записи литералов: двоичный (начинается с знака %) %100101110 целое десятичное число 1052 вещественный (обязательна десятичная точка) 34.е-3 или 0.034 строковый (занимает не более одной строки) ‘first name’ C@8.@:-+9012 -+3 5:0016. K8"$8)M:BD+=: 6.) &'(*.;

&'0 -)**., — множество элементов некоторого типа. Тип данных Упорядоченность Различие элементов Различают четыре разновидности агрегативДа Необязательно array ных типов, сведения о которых приведены в табл. 6.1. При описании типа array после слова array в Нет Необязательно bag квадратных скобках указываются нижняя и верхняя Да Обязательно list границы индексов. Для остальных агрегативных типов записываются не граничные значения индекНет Обязательно set са, а нижняя и верхняя границы числа элементов. Например: F1: array[2:8] of real;

(*описание семиэлементного массива F1, его элементы имеют тип real и нумеруются, начиная с значения индекса 2*) F2: list[1:?] of integer;

(*множество F2 содержит, по крайней мере, один элемент типа integer*) matr: array[1:10] of array[9:12] of atrac;

(*массив matr состоит из 10 четырехэлементных массивов, элементы типа atrac*) &.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&* 5@!"! %*#$A&,& +($*,#&($"!)&P !"#$%!#&'&($"!))KH :&:#*% Записи вида array[2:8] или list[1:?] в Express-G преобразуются в форму A[2:8] или L[1:?], указываемую около линии атрибута агрегативного типа после имени этого атрибута. Так, первый из вышеприведенных приме- %+,. 6.24. Обозначение атрибута агрегативного типа в Express-G ров представлен на рис. 6.24. $38.5.D>./12, 0.A+,D4942, 915.D>./12 -+31. U0"$-$49$/.;

&'0 обычно вводится пользователем для улучшения читаемости модели. G$1'+4#(#;

&'0 — тип данных, экземплярами которого являются нечисловые (предметные) переменные. I.-$49$/.;

&'0 соответствует поименованной совокупности других типов. Описание этих типов данных начинается со служебного слова type, за которым следует идентификатор типа и его определение. Пример описания определяемого типа: type volume = real;

end_type;

entity manual;

name: string;

v1,v2,v3: volume;

end_entity;

Определение нечислового типа начинается со служебных слов enumeration of, после которых в скобках перечисляются элементы множества. Например: type cоlоr = enumeration of (red, green, blue);

end_type;

Ссылка на значение red теперь возможна в виде red или color.red. Выделяемый тип соответствует одному из некоторого списка уже введенных типов. Этот список записывается после служебного слова select. Ссылка на имя выделяемого типа означает, что выбирается один из типов совокупности: type a_c = select (one, two, three);

end_type;

... proc: a_c;

Pages:     | 1 |   ...   | 3 | 4 || 6 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.