ОБЪЕДИНЕНИЕ МОДЕЛЕЙ ЛОКАЛЬНЫХ ПРЕДСТАВЛЕНИЙ

 

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

- объединить в композиционно единое представление фрагментарные представления о различных свойствах одного и того же объекта;

- устранить несущественные различия в представлении подобных объектов;

- ввести абстрактные понятия, удобные для решения задач системы, и установить связи этих понятий с более конкретными понятиями, использованными в модели (например, "конвой-корабль", "договор-предприятие" и т.п.);

- образовать классы и подклассы подобных объектов и ввести соответствующие абстрактные понятия (например, в АСУ предприятия целесообразно ввести понятия "Изделия предприятия" как класса, а типы производимых на этом предприятии изделий могут выступать в качестве подклассов), классифицировать объекты по некоторым условиям (например, "покупные детали" и "детали собственного производства" и т.п.);

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

Вводимые производные конструкции должны обеспечивать непротиворечивое представление данных. Перед объединением необходимо решить вопрос о порядке объединения моделей локальных представлений. Например, имеется n моделей. Можно попытаться выполнить объединение за один шаг, вовлекая все n представлений. Это возможно, если n невелико - 2, 3, 4 представления. При увеличении n задача усложняется, растут временные затраты, возрастает вероятность ошибок и упущений. Поэтому количество шагов объединения увеличивают, уменьшая число моделей, подлежащих объединению на отдельном шаге. Обычно используется бинарное объединение (рис. 2.19). При бинарном (попарном) объединении результат объединения N1 объектов одного представления с N2 объектами другого представления дает (N1+N2-X) объектов, где Х - количество совпадающих объектов в объединяемых представлениях, что минимизирует число сравниваемых объектов при объединении представлений на последующих шагах процесса.

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

При объединении представлений используются три основополагающие концепции: идентичность, агрегация и обобщение.

Два или более элементов модели идентичны, если имеют одинаковое семантическое (смысловое) значение.

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

 

 
 

 


 

       
   

 

 


....

 

Рис. 2.19. Схема процесса объединения локальных представлений

 

Пример. Связь между сущностями СТУДЕНТ, ДИСЦИПЛИНА, ПРЕПОДВАТЕЛЬ, ОЦЕНКА, имеющая смысловое описание "Студент по фамилии ________________ получил на экзамене по дисциплине _______________

у преподавателя ______________ оценку _______________", может быть представлена агрегированным элементом ЭКЗАМЕН (рис. 2.20).

 

 

ЭКЗАМЕН

 

 

ФАМИЛИЯ-СТУДЕНТА

 

НАЗВАНИЕ-ДИСЦИПЛИНЫ ФАМИЛИЯ-ПРЕПОДАВАТЕЛЯ

КОД-ОЦЕНКИ

 

Рис. 2.20. Структура агрегированного элемента ЭЛЕМЕНТА

 

Эта связь представлена сущностью ЭКЗАМЕН с атрибутами ФАМИЛИЯ-СТУДЕНТА, НАЗВАНИЕ-ДИСЦИПЛИНЫ, ФАМИЛИЯ-ПРЕПОДАВАТЕЛЯ, КОД-ОЦЕНКИ.

При объединении представлений агрегация встречается в следующих трех формах.

1. В одном представлении агрегатный объект определен как единое целое, а во втором рассматриваются его составные части.

Например, в одном представлении определен только один объект - объект А (некоторое изделие), а в другом - объекты В1, В2, В3 (некоторые детали), являющиеся составными частями объекта А (но сам объект А не определен).

Если выполнить простое объединение, т.е. рассматривать четыре самостоятельных объекта (А, В1, В2, В3), то это будет означать, что в объединенное представление не включена информация о том, что объекты В1, В2, В3 - составные части объекта А. Чтобы включить эту информацию в модель объединенного представления, необходимо выполнить объединение с использованием агрегации, что повышает возможности совместного использования данных (рис. 2.21).

 

А

 

 

В1 В2 В3

 

Рис. 2.21. Пример объединения при помощи агрегации

 

2. Агрегатный объект как единое целое не определен ни в одном из представлений, но в обоих представлениях рассматриваются его различные составные части.

Например, в одном объекте определены объекты В1, В2 , а в другом - объекты В3, В4, В5, являющиеся составными частями объекта А, который не назван ни в одном представлении, но о существовании которого знает проектировщик.

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

 

А

 

В1 В2 В3 В4 В5

 

Рис. 2.22. Пример внедрения агрегатного объекта

 

3. Один и тот же агрегатный объект рассматривается в обоих представлениях, но составляющие различаются.

Например, в одном представлении рассматривается агрегат, представленный на рис. 2.23а ,а в другом - (на рис. 2.23б). При объединении представлений агрегаты объединяются (рис. 2.23в).

Пример: Объединению подлежат два представления (рис. 2.24, а, б). С использованием агрегации можно объединить эти представления (рис. 2.24, в).

 

А) А

 

В1 В2 В3 В4

 

Б)

А

 

В1 В2 В3 В4 В5

 

В)

А

 

 

В1 В2 В3 В4 В5 В6

 

Рис. 2.23. Примеры рассматриваемых агрегатов (А, Б) и результат их объединения (В)

 

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

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

Возвращаясь к предыдущему примеру (рис. 2.24), процесс объединения обоих представлений следует продолжить, используя обобщение, поскольку сущности СТУЛ, СТОЛ, ШКАФ, ПОЛКА представляют собой различные категории типов, отражающих смысловое содержание некоторого обобщенного понятия - "компонент гарнитура". Присвоим этому обобщенному понятию наименование КОМПОНЕНТ и введем его в модель представления , используя конструктивный элемент "сущность". Чтобы представить в модели информацию о категориях, добавим к сущности КОМПОНЕНТ описательный атрибут НАИМЕНОВАНИЕ, который будет принимать значения из множества: {СТУЛ, СТОЛ, ШКАФ,

 

 

А)

 

 
 

 


Б)

 

 

 
 

 


В)

 

 
 

 

 


Рис. 2.24. Пример объединения локальных представлений с использованием агрегации.

 

 

ПОЛКА}. Значения этого множества соответствуют категориям, на которые разбивается введенное обобщение.

Таким образом, окончательный вид объединенного представления показан на рис. 2.25.

 
 

 

 


Рис. 2.25. Пример использования обобщения

 

Рассмотрим еще один пример.

Пример. В объединяемых исходных представлениях присутствуют следующие сущности: ДЕТАЛИ-СОБСТВЕННОГО-ПРОИЗВОДСТВА, ДЕТАЛИ-ПОКУПНЫЕ, СБОРОЧНЫЕ-ЕДЕНИЦЫ-ПОКУПНЫЕ, СБОРОЧНЫЕ-ЕДЕНИЦЫ-СОБСТВЕННОГО-ПРОИЗ-ВОДСТВА.

В объединенном представлении можно использовать обобщения, приведенные на рис. 2.26.

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

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

 

 

 

 


Рис. 2.26. Пример использования обобщений

 

процессе объединения выявляются противоречия между отдельными локальными представлениями.

Часть противоречий вызвана обычно некорректностью требований, неполнотой спецификаций, наличием возможных ошибок. Например, в результате объединения представлений выявились несогласованные ассоциации, которые по приведенным спецификациям следует считать идентичными, но характеристики этих ассоциаций различны (рис. 2.27,а). В результате анализа причин данного противоречия выяснено, например, что в одном локальном представлении под сущностью ПОЗИЦИЯ понималась позиция игрока в конкретной игре, поэтому используемая ассоциация типа "1", а в другом - все возможные игровые позиции для игрока (ассоциация типа "М"). Следовательно данное противоречие вызвано наличием омонимов и его можно устранить (рис. 2.27,б). Чтобы устранить последствия этого противоречия, необходимо возвратиться к тому месту процесса объединения, где рассматриваемые конструктивные элементы включались в проектирование, и выполнить все последующие соответствующие коррекции.

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

 

А)

       
   
 


       
   

 

 


М

 

       
   

 

 


Б)

 
 

 

 


Рис. 2.27. Пример устранения выявленных противоречий

 

рассматриваемые конструктивные элементы, и выполнить все последующие необходимые коррекции.

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

Ниже приведен вариант возможного оформления спецификаций для примера, представленного на рис. 2.11:

Типы сущностей: ПОСТАВЩИК, ПОСТАВКА, ТОВАР.

ПОСТАВЩИК: идентифицирующий атрибут ИНДЕКС-ПОСТАВЩИКА,

описательный атрибут - АДРЕС-ПОСТАВЩИКА.

ПОСТАВКА: идентифицирующий атрибут ИНДЕКС-ПОСТАВКИ, описательные

атрибуты - КОЛИЧЕСТВО-ПОСТАВЛЕННОГО-ТОВАРА, ШИФР-СКЛАДА, ДАТА-ПОСТАВКИ.

ТОВАР: идентифицирующий атрибут ИНДЕКС-ТОВАРА, описательные

атрибуты - НАЗВАНИЕ-ТОВАРА, ЦЕНА-ЕДИНИЦЫ-ТОВАРА.

Типы связей: ПОСТАВЛЯЕТ, МОЖЕТ-ПОСТАВЛЯТЬ, МОЖЕТ-БЫТЬ-ПОСТАВЛЕН,ПОСТАВЛЕН.

ПОСТАВЛЕН : отображение 1:М от ПОСТАВЩИК к ПОСТАВКА.

МОЖЕТ-ПОСТАВЛЯТЬ : многозначная однонаправленная связь от ПОСТАВЩИК к ТОВАР. и т.д.

Спецификация атрибутов:

ИНДЕКС-ПОСТАВКИ : алфавитно-цифровой, 6 символов

АДРЕС-ПОСТАВЩИКА : алфавитно-цифровой, 80 символов

и т.д.

ЦЕНА-ЕДИНИЦЫ-ТОВАРА : числовой от 00000.00 до 9999.99.

Спецификация связей атрибут-атрибут:

ИНДЕКС-ПОСТАВЩИКА -> АДРЕС-ПОСТАВЩИКА

ИНДЕКС-ТОВАРА -> НАЗВАНИЕ-ТОВАРА

ИНДЕКС-ТОВАРА -> ЦЕНА-ЕДИНИЦЫ-ТОВАРА

ИНДЕКС-ПОСТАВКИ -> КОЛИЧЕСТВО-ПОСТАВЛЕННОГО-ТОВАРА

ИНДЕКС-ПОСТАВКИ -> ШИФР-СКЛАДА

ИНДЕКС-ПОСТАВКИ -> ДАТА-ПОСТАВКИ