Skip to content

ООП5. Объектно ориентированный анализ. Концепции информационного моделирования. Понятия классов, атрибутов и связей. Формализация связей.

Winterpuma edited this page Jul 1, 2021 · 10 revisions

Концепция информационного моделирования.

Концепция:

  • Выделение физических объектов
  • Короткое описание классов (чтобы установить, является ли объект экземпляром класса)
  • Выделение характеристик объектов и идентификаторов (множество из одного или нескольких атрибутов, однозначно определяющих экземпляр класса)
  • Графическое обозначение класса на информационной модели:
<номер><имя><ключевой литерал (краткое имя)>
Атрибуты:
*<> - идентифицирующие
(выделяем привилегированный идентификатор)
∨ - неидентифицирующие
∨ - неидентифицирующие
∨ - неидентифицирующие
  • Строим таблицу атрибутов: для каждого объекта должен быть определен однозначно атрибут (<имя>(<иден.>,<список атрибутов>) - текстовое описание)

При информационном моделировании получаем:

  • информационную модель
  • описание объектов и их атрибутов
  • описание связей и их формализацию

Понятия классов, атрибутов и связей.

Класс

Класс – такая абстракция множества предметов реального мира, что все предметы этого множества(объекты) имеют одни и те же характеристики, все экземпляры подчинены и согласованы с одним и тем же поведением.

Атрибуты

Атрибут – каждая отдельная характеристика, являющаяся общей для всех возможных экземпляров классов. Каждый атрибут задаётся множеством значений, которое важно определить при анализе для определения в дальнейшем типе атрибута.

Типы атрибутов:

  • Описательные – характеристика, присущая каждому экземпляру класса (вес студента).
  • Указывающие – идентификатор или его часть (имя студента).
  • Вспомогательные – используются для формализации связей; атрибуты состояния объектов.

Правила атрибутов:

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

Связи

Теория про связи и их формализацию была взята из УЧЕБНОЕ ПОСОБИЕ Глухова Лилия Александровна 2007

Связь – абстракция набора отношений, которая систематически возникает между различными предметами в реальном мире – внутренняя (R) и внешняя (E).

Каждой связи присваивается уникальный идентификатор, состоящий из буквы и номера.

Безусловные связи:

  • один к одному (1:1)
    Пример: муж женат на одной жене, жена замужем за одним мужем
  • один ко многим (1:М)
    Пример: каждый владелец собаки владеет одной или несколькими собаками, каждая собака принадлежит только одному владельцу
  • многие ко многим (М:М)
    Пример: квартира может являться собственностью одного или нескольких владельцев. В то же время владелец квартиры может владеть несколькими квартирами.

Множественность связи обозначается графически: одна стрелка на конце связи означает один экземпляр сущности, участвующей в связи, двойная стрелка – один или более экземпляров.

Условные формы связи:

  • безусловная - всегда держится
  • условная - один из объектов может не участвовать в связи (обозначается буквой У в конце связи, которая не всегда является истинной)
    Пример: преподаватель не руководит студентами – условная связь со стороны преподавателя, т.к. у студента должен быть руководитель, а преподаватель не обязан руководить
  • биусловная - возможно неучастие с обеих сторон (обозначается буквой У с обеих сторон связи)
    Пример: УчебныйКурс – Студент; курс не читается в этом семестре, или студент не выбрал этот курс

На рисунке 5.12 R1 - биусловная, R2 - условная.

Все связи

С учетом условных и безусловных связей существует десять форм связей:

Формализация связей

Цель связи – установить соотношение экземпляра одной сущности с экземпляром другой. Это достигается размещением вспомогательных атрибутов в соответствующих сущностях.

Формализованная в данных cвязь - определенная с помощью вспомогательных атрибутов.

Формализация связи один-к-одному

Добавляется атрибут связи в любой из объектов.

Формализация связи один-ко-многим

Вспомогательные атрибуты добавляются к сущности на стороне многих, в противном случае нарушается третье правило атрибутов.

Формализация связи многие-ко-многим

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

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

Формализация других связей

Если связь условна, биусловна или имеет динамическое поведение, то она формализуется ассоциативным объектом.

Clone this wiki locally