Методология классифицирования предметной области.

В основе механизмов выделения классов и объектов предметной области лежит применение выбранной классификационной схемы. К числу основных классификационных методологий относятся методология классической категоризации, методология концептуальной кластериазации и теория прототипов [16, 35].

Таким образом, говоря о классифицированных объектах и процессах предметной области, всегда будем иметь в виду выделенные классы — категории объектов, классы — кластеры объектов и классы — прототипы процессов. Для удобства, в дальнейшем все разновидности классов объектов и процессов будут называться просто классы объектов. Все классы объектов при применении объектно- ориентированного подхода определяются в виде абстракций, а представление предметной области с позиции классов объектов при применении ОП соответствует представлению предметной области "моделирование систем 5" в объектной модели.

Основные свойства объектной модели.

Рассмотрение свойств объектной модели часто выполняется с ориентацией на системы объектно-ориентированного программирования. Поэтому, некоторые, уже ставшие привычными трактовки понятий и определений

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

Абстрагирование реализует свойство концентрации внимания на внешних особенностях объектов и позволяет отделить самые существенные особенности поведения от несущественных. Минимизацию связей, когда интерфейс объектов содержит только существенные аспекты поведения, реализует принцип барьера абстракции. Таким образом, абстракция выражается через свойства, присущие всем объектам заданного абстракцией класса и, в тоже время, отличающие объекты заданного ей класса от объектов других классов. Определение понятия абстракция, таким образом, содержит конфликтное условие, которое порождает многие классификационные проблемы. Суть такого конфликта заключается в необходимости совмещения в абстракции элементов общности и исключительности существенных свойств. Очевидно, что естественная природа выделения классов объектов предметной области обостряет указанный конфликт, доводя его до состояния неразрешимых противоречий. Именно с этим аспектом связаны главные трудности построения систем объектно-ориентированных баз данных.

Применение механизмов абстрагирования в рамках объектно- ориентированного подхода формулирует главное правило — представление предметной области в объектной модели. Классификационная схема, основанная на той или иной системе знаний о предметной области и классификационной методологии, обеспечивает выделение классов объектов. Заголовочное определение классов описывается в виде абстракций, интерфейсные свойства которых обладают качествами существенности, общности для данного класса и различимости для отделения объектов других классов.

Отметим, что совокупность классифицированных абстракций предметной области "моделирование систем 5^> в общем случае состоит из абстракций двух типов:

  • — абстракции определения объектов данных предметной области, которые называются абстракциями данных;
  • — абстракции определения модельных элементов представления данных, которые называются абстракциями моделей или модельными абстракциями.

Для систем объектно-ориентированного программирования абстракции данных определяют классы объектов программирования оконного интерфейса, работы с 1тегпа, доступа в БД, связывания и внедрения объектов АсНуеХ и т. д. Абстракции моделей для систем ООП соответствуют структурным абстракциям. Для обоих типов абстракций систем ООП характерным является то, что определяемые абстракциями объекты выступают одновременно и в роли данных, и в роли инструментов управления такими данными. Например, стандартное окно системы Windows является объектом соответствующих классов (кнопка, панель, окно редактирования и т. п.).

Инкапсуляция реализует свойство объектной модели, связанное с абстрагированием и обеспечивающее разделение описания класса на интерфейс и реализацию. В интерфейсной части описания класса содержится суть определения классифицированной абстракции, т. е. то, что присуще всем объектам задаваемого абстракцией класса. Через интерфейс объекты взаимодействуют, и именно интерфейс является предметом интеграционной отладки при разработке проектируемой системы. Таким образом, интерфейс представляет собой формальное описание абстракции средствами реализации проектируемой системы. Реализация класса точно соответствует названию, и содержит детали реализации интерфейса (т. е. абстракции) при построении объектов данного класса.

Разделение на интерфейс и реализацию соответствует определению внешнего (логического) и внутреннего (физического) устройства объектов. Принцип инкапсуляции соответствует сути вещей, интерфейс при этом играет роль определения степени интереса и полезности знания такой сути. Объединение инкапсуляции с абстрагированием обеспечивает формирование видимости единой сущности множества физически различных объектов. Так, в технологии БД, табличная форма представления данных является интерфейсом, в то время как реализация таблиц в разных СУБД физически различна (начиная с различий форматов файлов — db, dbf и др.).

Интерфейс и реализация исполняются в среде разработки проектируемой системы, поэтому можно построить следующую логическую цепочку взаимосвязи понятий: интерфейс есть исполнение абстракции, а реализация есть исполнение интерфейса. Например, в системах ООП интерфейс и реализация исполняются на языках С + 4-, Object Pascal и др. Для систем, объектно-ориентированных БД смысл инкапсуляции, в первую очередь, связан с разделением модельных представлений абстракций данных и реализации объектов данных одного классификационного раздела в различном схемном исполнении. Логическая последовательность взаимосвязи понятий в этом случае следующая.

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

Иерархия реализует свойство объектной модели упорядочения и расположения по уровням выделенных абстракций предметной области. Основным свойством и преимуществом иерархической организации объектной модели является наследование свойств и других элементов определения объектов по схеме "родитель- потомок", при этом наследование касается только интерфейсных определений. О наследовании говорят, как об иерархии "обобщение-специализация", что в значительной степени напоминает определение родовидовых зависимостей. И если в системах объектно- ориентированного программирования иерархии классов отностильно просты и понятны (например, иерархии классов библиотеки MFC языка Visual C++, или библиотеки VCL системы Delphi), то для систем объектно-ориентированных баз данных иерархии классов оказываются многомерными.

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

Свойство типизации дополняет свойства абстрагирования, инкапсуляции и иерархии определением типов сущностей классифицированных объектов предметной области. Типизация трактуется двояко: помимо типизации сущности объектов данного класса, это свойство обеспечивает защиту при использовании объектов, определенного рода различимость объектов разных классов. В системах ООП типизация осуществляется посредством объявления традиционных типов данных (integer, float, character и др.). Для объектно- ориентированных БД многомерность объектной модели порождает существование различных видов типизации объектов модельных классов и классов данных. Так, типизация объектов даталогических моделей похожа на типизацию языков программирования (типы атрибутов в столбцах таблиц соответствуют языковым типам данных). Типизация объектов инфологических, концептуальных и фундаментальных моделей, а, также объектов данных существенно иная. Различают сильную и слабую типизацию, что в первую очередь, связано с возможностями преобразования типов и объявлением объектов множественных типов (полиморфизм). Для объектно-ориентированных БД преобразования модельных типов будет играть ключевую роль при решении интеграционных задач.

Свойство модульности достаточно очевидно и должно быть

реализовано в любой программной разработке. Модульность реализует абстрагирование не на уровне классов объектов, а на уровне программных единиц разрабатываемой системы. В этом смысле модуль можно уподобить классу с описанием интерфейса и реализации, содержащему один объект в виде программной единицы (unit в языке Object Pascat). При разработке модулей следует придерживаться правила их типизации (модуль должен управлять однотипными объектами), что зачастую приводит к реализации модулей в виде объектов какого-то класса (например, диалоговые модули "открыть файл", "сохранить файл", "открыть графический файл" и другие реализованы в системе Delphi в виде объектных компонентов). Модульная организация системы является необходимым требованием, а сама суть модульности тесно переплетена с сутью других свойств объектной модели. Для объектно-ориентированных БД свойство модульности должно быть обеспечено на уровне манипулирования объектами БД (например, модульный принцип построения программ SQL•сервера на языке SQL).

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

Рассмотренные свойства объектной модели иллюстрирует рис.

5.7. В системах объектно-ориентированного программирования иерархия выделенных в предметной области классов обычно реализуется в виде библиотек базовых классов (например, библиотека MFC). Для систем ООБД реализация должна быть несколько иной. Иерархия классов данных выражает информативное связывание данных. Собственно, данные организуются в табличном формате, связи реализуются либо в виде данных, либо в виде процедур связывания данных. Модельные абстракции должны исполняться либо в виде определения данных, либо путем построения библиотек базовых классов в среде SgL-серверов или в составе DLL-библиотек.

Мифологическое проектирование баз данных. К числу основных задач этапа инфологического проектирования баз данных (рис. 5.8) относятся следующие три задачи:

  • 1. Проектирование логических объектов.
  • 2. Проектирование логических структур данных.
  • 3. Проектирование информационных связей (потоков) между логическими объектами.

Моделирование систем Я

Свойства объектной модели БДМ системы 5

Рис. 5.7. Свойства объектной модели БДМ системы 5

Для решения поставленных задач в качестве исходных условий для выполнения инфологического проектирования базы данных требуется обеспечить:

  • — реализацию концептуальной модели БД;
  • — выбор модели данных для реализации БД.
 
< Пред   СОДЕРЖАНИЕ     След >