Автоматизированное проектирование. Норенков И.П. - 144 стр.

UptoLike

Составители: 

:&:#*%)K* :(*AK & +($5(!%%)$
-%*#$A&F*:,&* ,$%+@*,:K :!+(
5@!"! 5
ется JDK (Java Developers 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. В состав этих сведений могут входить описания всех входных и вы-
ходных для модуля данных (в том числе имеющихся в модуле интерактивных команд), структура ко-
мандной строки для инициализации процедур, сведения о требуемых ресурсах.
&.+.)$(*),$". !"#$%!#&'&($"!))$* +($*,#&($"!)&*
144
 5@!"! 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. В состав этих сведений могут входить описания всех входных и вы-
ходных для модуля данных (в том числе имеющихся в модуле интерактивных команд), структура ко-
мандной строки для инициализации процедур, сведения о требуемых ресурсах.

 &.+.)$(*),$" . !"#$%!#&'&($"!))$*               +($*,#&($"!)&*                                           144