Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 45
Текст из файла (страница 45)
Представляется, что именно ОП можетоказаться требуемым способом не только построения методологииООБД, но и разработки методологии объектно-ориентированнойинтеграции распределенных баз данных (ООРБД). Очевидно, чтоцентральной проблемой при этом становится проблема композицииобъектно-ориентированного и реляционного подходов, способнойпривести к реализации расширенного реляционного подхода пополной технологической схеме (см. рис. 5.6).Методология классифицирования предметной области.
В основемеханизмов выделения классов и объектов предметной областилежит применение выбранной классификационной схемы. К числуосновных классификационных методологий относятся методологияклассической категоризации, методология концептуальной кластеризации и теория прототипов [16, 35].'. Таким образом, говоря о классифицированных объектах и процессах предметной области, всегда будем иметь в виду выделенныеклассы — категории объектов, классы — кластеры объектов и клас,«ы — прототипы процессов. Для удобства, в дальнейшем все разновидности классов объектов и процессов будут называться простоклассы объектов. Все классы объектов при применении объектносориентированного подхода определяются в виде абстракций,.а представление предметной области с позиции классов объектовпри применении ОП соответствует представлению предметной области «моделирование систем S» в объектной модели.Основные совйства объектной модели.
Рассмотрение свойствобъектной модели часто выполняется с ориентацией на системыобъектно-ориентированного программирования. Поэтому, некоторые, уже ставшие привычными трактовки понятий и определений187объектной модели потребуют уточнения. Например, вряд ли стоитдоказывать необходимость обеспечения свойства сохраняемостидля классов объектов систем объектно-ориентированных баз данных.Абстрагирование реализует свойство концентрации вниманияна внешних особенностях объектов и позволяет отделить самыесущественные особенности поведения от несущественных. Минимизацию связей, когда интерфейс объектов содержит только существенные аспекты поведения, реализует принцип барьера абстракции.Таким образом, абстракция выражается через свойства, присущиевсем объектам заданного абстракцией класса и, в тоже время,отличающие объекты заданного ей класса от объектов других классов.
Определение понятия абстракция, таким образом, содержитконфликтное условие, которое порождает многие классификационные проблемы. Суть такого конфликта заключается в необходимости совмещения в абстракции элементов общности и исключительности существенных свойств. Очевидно, что естественная природавыделения классов объектов предметной области обостряет указанный конфликт, доводя его до состояния неразрешимых противоречий. Именно с этим аспектом связаны главные трудности построения систем объектно-ориентированных баз данных.Применение механизмов абстрагирования в рамках объектноориентированного подхода формулирует главное правило — представление предметной области в объектной модели.
Классификационная схема, основанная на той или иной системе знаний о предметной области и классификационной методологии, обеспечивает выделение классов объектов. Заголовочное определение классов, описывается в виде абстракций, интерфейсные свойства которых обладают качествами существенности, общности для данного класса и различимости для отделения объектов других классов.Отметим, что совокупность классифицированных абстракцийпредметной области «моделирование систем S» в общем случаесостоит из абстракций двух типов:— абстракции определения объектов данных предметной области, которые называются абстракциями данных;— абстракции определения модельных элементов представления данных, которые называются абстракциями моделей или модельными абстракциями.Для систем объектно-ориентированного программирования абстракции данных определяют классы объектов программированияоконного интерфейса, работы с Internet, доступа в БД, связыванияи внедрения объектов ActiveX и т.
д. Абстракции моделей длясистем ООП соответствуют структурным абстракциям. Для обоихтипов абстракций систем ООП характерным является то, что определяемые абстракциями объекты выступают одновременно и в ролиданных, и в роли инструментов управления такими данными. На188пример, стандартное окно системы Windows является объектомсоответствующих классов (кнопка, панель, окно редактированияв т.
п.).И н к а п с у л я ц и я реализует свойство объектной модели, связанное с абстрагированием и обеспечивающее разделение описания класса на интерфейс и реализацию. В интерфейсной частиописания класса содержится суть определения классифицированной абстракции, т. е. то, что присуще всем объектам задаваемого абстракцией класса.
Через интерфейс объекты взаимодействуют,и именно интерфейс является предметом интеграционной отладки при разработке проектируемой системы. Таким образом, интерфейс представляет собой формальное описание абстракции средствами реализации проектируемой системы. Реализация классаточно соответствует названию, и содержит детали реализацииинтерфейса (т. е. абстракции) при построении объектов данногокласса.Разделение на интерфейс и реализацию соответствует определению внешнего (логического) и внутреннего (физического) устройства объектов.
Принцип инкапсуляции соответствует сути вещей,интерфейс при этом играет роль определения степени интересаи полезности знания такой сути. Объединение инкапсуляции с абстрагированием обеспечивает формирование видимости единойсущности множества физически различных объектов. Так, в технологии БД, табличная форма представления данных является интерфейсом, в то время как реализация таблиц в разных СУБДфизически различна (начиная с различий форматов файлов — db, dbfи др.).Интерфейс и реализация исполняются в среде разработки проектируемой системы, поэтому можно построить следующую логическую цепочку взаимосвязи понятий: интерфейс есть исполнение абстракции, а реализация есть исполнение интерфейса.
Например,в системах ООП интерфейс и реализация исполняются на языкахC++, Object Pascal и др. Для систем объектно-ориентированныхБД смысл инкапсуляции, в первую очередь, связан с разделениеммодельных представлений абстракций данных и реализации объектов данных одного классификационного раздела в различном схемном исполнении. Логическая последовательность взаимосвязи понятий в этом случае следующая.Модельные абстрагирование и инкапсуляция исполняют концептуальные, фундаментальные, инфологические и даталогическиепредставления БД в реляционной модели, а абстрагированиеи инкапсуляция данных предметной области исполняют собственнореализацию объектно-ориентированной базы данных с применением расширенного реляционного подхода. Таким образом, объектная модель ООБД многослойна и включает ирархию объектныхпредставлений моделей и данных с реализацией всех уровнейобъектной модели БД в реляционной модели данных189Иерархия реализует свойство объектной модели упорядоченияи расположения по уровням выделенных абстракций предметнойобласти.
Основным свойством и преимуществом иерархическойорганизации объектной модели является наследование свойстви других элементов определения объектов по схеме «родительпотомок», при этом наследование касается только интерфейсныхопределений. О наследовании говорят, как об иерархии «обобщение-специализация», что в значительной степени напоминает определение родовидовых зависимостей.
И если в системах объектноориентированного программирования иерархии классов отностильно просты и понятны (например, иерархии классов библиотекиMFC языка Visual C++, или библиотеки VCL системы Delphi), тодля систем объектно-ориентированных баз данных иерархии классов оказываются многомерными.Одной из главных целей применения иерархической организацииобъектной модели является обеспечение возможностей синтеза и декомпозиции сложных объектов через простые объекты бол'ее низкихуровней. Преимущества такого подхода очевидны, и особенно важным представляется реализация свойства иерархии в ООБД. Дажеинтуитивно понятия синтеза, декомпозиции, зависимостей ассоциируются с аспектами рассмотрения теории реляционных баз данныхи модельными представлениями БД по полной технологическойсхеме.
Свойство иерархии позволяет реализовать протокольныйпринцип организации информационной среды, что особенно важнопри построении интегрированных РБД.Свойство типизации дополняет свойства абстрагирования, инкапсуляции и иерархии определением типов сущностей классифицированных объектов предметной области. Типизация трактуется двояко: помимо типизации сущности объектов данного класса, этосвойство обеспечивает защиту при использовании объектов, определенного рода различимость объектов разных классов. В системахООП типизация осуществляется посредством объявления традиционных типов данных (integer, float, character и др.). Для объектноориентированных БД многомерность объектной модели порождаетсуществование различных видов типизации объектов модельныхклассов и классов данных.