Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Спецификация ПИК




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

 

– связывания компонентов на последних этапах разработки ПС,

– инкапсуляции (компонент, как “черный ящик ” без вмешательств в код),

– наследования интерфейсов,

– повторное использование кода.

 

Для компонентов повторного использования сложилось несколько разных определений.

 

Определение 1. Компонент ПИК – это некоторая функция с определенными атрибутами, обеспечивающая функциональность, взаимодействие со средой и поведение.

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

Определение 3. ПИК – это самостоятельный программный элемент, который удовлетворяет определенным функциональным требованиям, требованиям архитектуры, структуры и организации взаимодействия в заданной среде, имеет спецификацию, помогающую пользователю объединять его с другими компонентами в интегрированную ПС.

 

Нас более всего интересует последнее определение компонента, модель спецификации которого имеет вид:

 

ПИК = (T, I, F, R, S),

где T – тип компоненты, I – множество интерфейсов компонента; F – функциональность компонента; R – реализация (скрытая часть) – программный код;

S – сервис для взаимодействия со средой или шаблон развертывания.

 

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

 

В зависимости от сложности ПИК их можно разделить на следующие группы:

 

– простые компоненты (функция, модуль, класс и пр.);

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

– готовые к использованию ПИК (например, beans компоненты в Java, AWT компоненты, классы и др.);

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

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

 

– интерфейсов, которые реализуют компоненты,

– механизмов повторного использования,

– среды развертывания компонента

– сервиса, поддерживаемого компонентом,

– ролей, которые выполняют компоненты в ПС,

– формализованные языки описания ПИК.

 

Современная технология применения ПИК базируются на таких особенностях:

 

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

– анализа компонента для определения его возможностей.

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

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

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

– регистрация сообщений о событиях, полученных от других объектов либо через ссылки (например, beans компоненты и инструментарий архива в технологии JAVA), а также группирование компонентов в JAR файле для дальнейшего повторного использования;

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

– адаптация ПИК к разным контекстам их использования и выделение свойств, которые мешают повторному использованию и модификации для применения в конкретных целях.

 

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

Информационная часть содержит описание: назначение, даты изготовления, условия применения (ОС, платформа и т.п.), возможностей ПИК, среды окружения и др.

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

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

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

– интеграционость – объединение компонентов на основе интерфейсов в более сложные ПС;

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

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

Данная часть компонента состоит из полей (рис.6.1):

– интерфейса (interfaces),

– реализации (implementation),

– схемы развертки (deployment).

Структурные части компонента
Интерфейс     ¨ Один или несколько; ¨ Уникальность именования в пределах системы; ¨ Клиентский или серверный (входной или выходной); ¨ Определенная сигнатура; ¨ Описание методов взаимодействия Реализация   ¨ Одна или несколько; ¨ Ориентация на конкретную платформу и операционное окружение ¨ Выбор конкретной реализации; ¨ Поддержка интерфейсов компонента Схема развертывания   ¨ Типовость процедуры развертывания; ¨ Управляемость; ¨ Настраиваемость на операционную среду; ¨ Модифицируемость

 

Рис.6.1. Структурные части компонента

 

Интерфейс компонента содержит обращения к другим компонентам через описание параметров средствами языков IDL или APL. В нем указываются типы данных и операции передачи параметров для взаимодействия компонентов друг с другом. Каждый компонент может реализовать совокупность интерфейсов. Интерфейс компонента – это видимая часть спецификации компонента, которая является неизменной и обязательной в описании компонента. Например, система Inspector Components предназначена для изменения необходимых параметров интерфейса компонента без вмешательства в его код.

 

Параметры интерфейса могут определяться типом ПИК и включать в себя инварианту спецификации с указанием: типа и названия компонента, входных и выходных параметров, методов компонента и др. В языке JAVA, например, можно определять такие типы компонентов: проекты, формы (AWT компоненты), beans компоненты, COBRA компоненты, RMI компоненты, стандартные классы-оболочки, БД, JSP компоненты, сервелети, XML документы, DTD документы и т.п.

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

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

Компонент описывается в ЯП, не зависит от операционной среды (например, от среды виртуальной машины JAVA) и от реальной платформы (например, от платформ в системе CORBA), где он будет функционировать.

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 611; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.