При объединении моделей локальных представлений проектировщик может формировать конструкции, являющиеся производными по отношению к конструкциям, использованным в локальных представлениях. Образование подобных абстракций выполняется введением в рассмотрение понятий более высокого уровня по отношению к понятиям, использованным в локальных представлениях при описании исходных объектов ПО. Целью введения подобных абстракций является:
• объединение в композиционно единое представление фрагментарных представлений о различных свойствах одного и того же объекта;
• устранение несущественных различий в представлении подобных объектов;
• введение абстрактных понятий, удобных для решения задач системы, и установление связи этих понятий с более конкретными понятиями, использованными в модели (например, конвой – корабль, договор – предприятие и т.п.);
• образование классов и подклассов подобных объектов и введение соответствующих абстрактных понятий (например, в АСУ предприятия целесообразно введение понятия «изделия предприятия» как класса, а типы производимых на этом предприятии изделий могут выступать в качестве подклассов), классификация объектов по некоторым условиям (например, покупные детали и детали собственного производства и т.п.);
• образование производных типов объектов, соответствующих объединению, пересечению или разности исходных объектов и т.д.
Вводимые производственные конструкции должны обеспечивать непротиворечивое представление данных. Перед выполнением процесса объединения необходимо решить вопрос о порядке объединения моделей локальных представлений.
Например, имеется п моделей. Можно попытаться выполнить объединение за один шаг, вовлекая в него все п представлений. Это возможно, если п невелико – 2, 3, 4 представления. При увеличении п задача резко усложняется, растут временные затраты, возрастает вероятность ошибок и упущений. Поэтому число шагов объединения увеличивают, уменьшая число моделей, подлежащих объединению на отдельном шаге. Обычно используется бинарное объединение (рис. 3.11). При бинарном (попарном) объединении результат объединения N 1объектов одного представления с N2 объектами другого представления даст в результирующем объединении N 1 + N 2 – X объектов, где X соответствует количеству совпадающих объектов в объединяемых представлениях, что минимизирует число сравниваемых объектов при объединении представлений на последующих шагах процесса.
|
Важным фактором является также упорядочение вершин дерева процесса объединения. Если перед процессом объединения выполнить соответствующую группировку локальных представлений, то можно увеличить значение фактора X и тем самым уменьшить количество операций сравнения при выполнении объединений.
При объединении представлений используют три основополагающие концепции: идентичность, агрегация и обобщение.
Идентичность. Два (или более) элемента модели являются идентичными, если они имеют одинаковое семантическое (смысловое) значение.
Рис. 3.11. Бинарное объединение моделей
Агрегация. Агрегация позволяет рассматривать связь между элементами модели как новый элемент.
Например, связь между сущностями Студент, Дисциплина, Преподаватель, Оценка имеет смысловое описание «студент по фамилии __________ получил на экзамене по дисциплине __________ у преподавателя по фамилии __________ оценку __________» и может быть представлена агрегирован
ным элементом: сущностью Экзамен с атрибутами Фамилия студента, Название дисциплины, Фамилия преподавателя, Код оценки.
|
При объединении представлений агрегация может встретиться в следующих формах.
1. В одном представлении агрегатный объект определен как единое целое, а в другом – рассматриваются его составные части.
Например, в одном представлении определен только один объект А (некоторое изделие), а в другом – только объекты В 1, В 2, В З (некоторые детали), являющиеся составными частями объекта А, но объект А во втором представлении не определен. Если выполнить простое объединение, т.е. рассматривать четыре самостоятельных объекта А, В 1, В 2, В З(как самостоятельные компоновочные элементы), то это будет означать, что в объединенное представление не включена информация о том, что объекты B 1, В 2, B 3 являются составными частями объекта А. Чтобы включить эту информацию в модель объединенного представления, необходимо выполнить объединение агрегацией, что повышает возможности совместного использования данных.
2. Агрегатный объект как единое целое не определен ни в одном из представлений, но в обоих представлениях рассматриваются его различные составные части.
Например, в одном представлении определены объекты B 1, B 2, а в другом – объекты B 3, B 4, B 5, являющиеся составными частями объекта А, который не назван ни в одном представлении, но о существовании которого знает проектировщик.
|
В каждом отдельном представлении нет достаточных условий для создания агрегата. При объединении же представлений такие условия создаются. Поэтому разработчик вводит в рассмотрение агрегат опять же с целью повышения возможностей совместного использования данных.
3. Один и тот же агрегатный объект рассматривается в обоих представлениях, но составляющие различаются.
Например, в одном представлении рассматривается одна часть агрегата, а в другом представлении другая часть. При объединении этих представлений вводится единый агрегат.
Пример. Объединению подлежат два представления, изображенные на рис. 3.12, а, б.
С использованием агрегации может быть выполнено следующее объединение этих представлений (рис. 3.12, в).
Обобщение. В обобщении подчеркивается общая природа объектов. Обобщением называется абстракция данных, позволяющая трактовать класс различных подобных типов объектов, как один поименованный обобщенный тип объекта.
В случае многоуровневой иерархии обобщений структура обобщения образует родовую иерархию, что приводит к появлению понятий родовой и видовой сущности. По определению, вид есть род в совокупности с видовым отличием. Это означает, что все свойства родовой сущности должны наследоваться ее видом, но при этом у вида могут появиться свои дополнительные свойства. При построении обобщений вводятся смысловые категории (обычно категории типа или рода), относительно которых и выполняется формирование родовых иерархий.
Возвращаясь к предыдущему примеру, процесс объединения обоих представлений следует продолжить, используя обобщение, поскольку можно сказать, что сущности Стул, Стол, Шкаф, Полка представляют собой различные категории типов, отражающих смысловое содержание некоторого обобщенного понятия «компонент гарнитура». Присвоим этому обобщенному понятию наименование Компонент и введем его в модель представления, использовав конструктивный элемент сущность, т.е. введем в рассмотрение сущность Компонент.
Рис. 3.12. Пример объединения представлений
Рис. 3.13. Окончательный вид итогового объединения
Для того чтобы представить в модели информацию о категориях, добавим к сущности Компонент описательный атрибут Наименование, принимающий значения из множества, в котором перечислены типы
Стол, Стул, Шкаф, Полка.
Таким образом, окончательный вид объединенного представления в рассматриваемом примере изображен на рис. 3.13.
Пример. В объединяемых исходных представлениях присутствуют следующие сущности:
Детали собственного производства;
Детали покупные;
Сборочные единицы покупные;
Сборочные единицы собственного производства.
В объединенном представлении могут быть использованы обобщения, представленные на рис. 3.14.
Рис. 3.14. Пример обобщений
Применение обобщений позволяет организовать для пользователей доступ к данным в базе с использованием различных уровней абстракции, что повышает гибкость системы для совместного использования данных. Кроме того, при поиске данных в базе в соответствии со смысловыми категориями, на основании которых выполнялось построение рядовых иерархий, происходит существенное сокращение пространства поиска.
При формировании объединенного представления путем комбинирования типов объединений могут быть представлены достаточно сложные и глубокие семантические связи между объектами ПО.
Процесс объединения носит итеративный характер. Основная причина этого заключается в том, что в процессе объединения выявляются противоречия между отдельными локальными представлениями. Одна часть противоречий вызвана, обычно, некорректностью требований, неполнотой спецификаций, наличием возможных ошибок. Например, в результате объединения представлений выявились несогласованные связи, которые по приведенным спецификациям следует считать идентичными, но характеристики этих связей различны (рис. 3.15). В результате анализа причин данного противоречия, например, выяснено, что в одном локальном представлении под сущностью Позиция понималась позиция игрока в конкретной игре (поэтому ассоциация типа 1), а в другом локальном представлении под сущностью Позиция понимались для игрока все его возможные игровые позиции (поэтому и была использована ассоциация типа М). Следовательно, данное противоречие вызвано наличием омонимов и должно быть устранено. Для того чтобы устранить последствия этого выявленного противоречия, необходимо возвратиться к тому месту процесса объединения, где рассматриваемые конструктивные элементы включались в проектирование, и выполнить все последующие соответствующие коррекции.
Другая часть противоречий связана с различием требований в отдельных приложениях. Например, в одном приложении выдвигается требование, что один экземпляр заказа оформляется на несколько видов товаров, но при этом только на товары с одного склада, в другом приложении указывается, что заказ может оформляться на товары с различных складов, а в третьем приложении выдвигается, например, такое требование, согласно которому один экземпляр заказа оформляется только на один вид товара. В этих случаях необходимо выполнить работу по согласованию требований отдельных приложений (например, провести собеседования с руководителями заинтересованных подразделений организации и совместно с ними выработать общие согласованные требования). Затем выполняется коррекция рассматриваемых локальных представлений в соответствии с новыми требованиями приложений, возврат к тому месту процесса объединения представлений, где включались в объединение рассматриваемые конструктивные элементы, и выполнение всех последующих необходимых коррекций.
Рис. 3.15. Пример несогласованных связей и возможный вариант их согласования
Процесс объединения продолжается до тех пор, пока не будут интегрированы все представления, согласованы и устранены все противоречия. По его завершении результаты проектирования, представляющие собой концептуальную инфологическую модель ПО, оформленную в виде графических диаграмм и соответствующих спецификаций, поступают на следующий этап проектирования БД – этап датологического проектирования. Скорректированные (с точки зрения устранения противоречий) локальные представления, представляющие собой внешние инфологические модели (либо их части), также передаются на этап датологического проектирования. Сформированные спецификации вводятся в словарь данных системы.
Контрольные вопросы
1. Поясните основные положения инфологического подхода к проектированию информационных систем.
2. Охарактеризуйте основные конструкции модели «сущность–связь».
3. Приведите пример модели локального представления.
4. Приведите пример использования операций агрегации и обобщения.
5. Приведите пример устранения противоречий для объединений моделей локальных представлений.