-
Notifications
You must be signed in to change notification settings - Fork 0
ООП5. Объектно ориентированный анализ. Концепции информационного моделирования. Понятия классов, атрибутов и связей. Формализация связей.
Концепция:
- Выделение физических объектов
- Короткое описание классов (чтобы установить, является ли объект экземпляром класса)
- Выделение характеристик объектов и идентификаторов (множество из одного или нескольких атрибутов, однозначно определяющих экземпляр класса)
- Графическое обозначение класса на информационной модели:
<номер><имя><ключевой литерал (краткое имя)> |
---|
Атрибуты: |
*<> - идентифицирующие |
(выделяем привилегированный идентификатор) |
∨ - неидентифицирующие |
∨ - неидентифицирующие |
∨ - неидентифицирующие |
- Строим таблицу атрибутов: для каждого объекта должен быть определен однозначно атрибут (<имя>(<иден.>,<список атрибутов>) - текстовое описание)
При информационном моделировании получаем:
- информационную модель
- описание объектов и их атрибутов
- описание связей и их формализацию
Класс – такая абстракция множества предметов реального мира, что все предметы этого множества(объекты) имеют одни и те же характеристики, все экземпляры подчинены и согласованы с одним и тем же поведением.
Атрибут – каждая отдельная характеристика, являющаяся общей для всех возможных экземпляров классов. Каждый атрибут задаётся множеством значений, которое важно определить при анализе для определения в дальнейшем типе атрибута.
Типы атрибутов:
- Описательные – характеристика, присущая каждому экземпляру класса (вес студента).
- Указывающие – идентификатор или его часть (имя студента).
- Вспомогательные – используются для формализации связей; атрибуты состояния объектов.
Правила атрибутов:
- Один экземпляр имеет единственное значения для любого атрибута в любое данное время – не может быть чтобы значений было два, или не было. Если появляется объект с неопределенным значением атрибута, то относить его к этому классу мы не можем – это уже объект другого класса.
- Атрибут не должен содержать никакой внутренней структуры.
- Когда объект имеет составной идентификатор, каждый атрибут-часть идентификатора представляет характеристику всего объекта, а не его части (и тем более не характеристику чего-либо другого).
- Атрибут, не являющийся частью идентификатора, представляет характеристику экземпляра указанного идентификатором, а не характеристику некоторого другого атрибута-неидентификатора. Не должно быть атрибутов, описывающих только часть объекта (атрибут описывающий другой атрибут).
Теория про связи и их формализацию была взята из УЧЕБНОЕ ПОСОБИЕ Глухова Лилия Александровна 2007
Связь – абстракция набора отношений, которая систематически возникает между различными предметами в реальном мире – внутренняя (R) и внешняя (E).
Каждой связи присваивается уникальный идентификатор, состоящий из буквы и номера.
-
один к одному (1:1)
Пример: муж женат на одной жене, жена замужем за одним мужем
-
один ко многим (1:М)
Пример: каждый владелец собаки владеет одной или несколькими собаками, каждая собака принадлежит только одному владельцу
-
многие ко многим (М:М)
Пример: квартира может являться собственностью одного или нескольких владельцев. В то же время владелец квартиры может владеть несколькими квартирами.
Множественность связи обозначается графически: одна стрелка на конце связи означает один экземпляр сущности, участвующей в связи, двойная стрелка – один или более экземпляров.
- безусловная - всегда держится
-
условная - один из объектов может не участвовать в связи (обозначается буквой У в конце связи, которая не всегда является истинной)
Пример: преподаватель не руководит студентами – условная связь со стороны преподавателя, т.к. у студента должен быть руководитель, а преподаватель не обязан руководить -
биусловная - возможно неучастие с обеих сторон (обозначается буквой У с обеих сторон связи)
Пример: УчебныйКурс – Студент; курс не читается в этом семестре, или студент не выбрал этот курс
На рисунке 5.12 R1 - биусловная, R2 - условная.
С учетом условных и безусловных связей существует десять форм связей:
Цель связи – установить соотношение экземпляра одной сущности с экземпляром другой. Это достигается размещением вспомогательных атрибутов в соответствующих сущностях.
Формализованная в данных cвязь - определенная с помощью вспомогательных атрибутов.
Добавляется атрибут связи в любой из объектов.
Вспомогательные атрибуты добавляются к сущности на стороне многих, в противном случае нарушается третье правило атрибутов.
Для формализации связи многие-ко-многим создается ассоциативная (виртуальная) сущность, содержащая ссылки на идентификаторы каждого из участвующих в связи экземпляров.
Введение ассоциативной сущности для формализации связи многие--ко многим позволяет устранить избыточность информационной модели, а следовательно, и соответствующей базы данных.
Если связь условна, биусловна или имеет динамическое поведение, то она формализуется ассоциативным объектом.