Skip to content

6.Концепции информационного моделирования. Понятие атрибута. Типы атрибутов. Правила атрибутов. Понятие связи. Типы связей. Формализация связей. Композиция связей. Подтипы и супертипы.

Maksim edited this page Jun 11, 2018 · 1 revision

💠 Концепция

  • Выделение сущностей, с которыми мы работаем

  • Описание или понятие этой сущности.

    • Выделение атрибутов, каждая характеристика которая является общей для всех возможных экземпляров классов выделяется как отдельный атрибут.
    • Идентификатор – это множество из одного или множества атрибутов, которое определяет класс.
    • Выделение привилегированных атрибутов.
  • Выявление связей между сущностями

  • Реализация

💠 Для каждой подсистемы:

  • Строится описание классов, атрибутов, связей между классами.

  • Также строится модель взаимодействия объектов (событийная).

  • Модель доступа к объектам.

  • Таблица процессов состояний.

💠 Для каждого класса:

  • Выделяем модель состояний (модель переходов состояний).

💠 Для каждого состояния каждой модели состояний:

  • Строится диаграмма потоков данных действий (ДПДД).

💠 Для каждого действия (процесса):

  • Делается описание процесса.

Выделили домен. На подсистемы делить бессмысленно – нужно вначале наполнить его сущностями-классами. Идея информационного моделирования: мы начинаем работать с физическими объектами, которые есть в реальном физическом мире; всё остальное появится в результате их анализа. Выделяются физические объекты. Мы пытаемся посмотреть, какими объектами населён домен, и разбить их на группы. Пытаемся выделить характеристики сущностей. Если все объекты имеют одинаковые характеристики, то их можно отнести к одному классу – формируется класс.

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

Идентификатор – то, что чётко определяет конкретный объект. Может состоять из одного или нескольких атрибутов. Изменение атрибута не приводит к изменению самого объекта – объект просто меняет «имя», но остаётся тем же самым.

💠 Выделяют три типа атрибутов:

  • Описательные – характеристика, присущая каждому экземпляру класса (вес студента).

  • Указывающие – идентификатор или его часть (имя студента).

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

💠 Выделяют четыре правила атрибутов:

  • Один экземпляр имеет единственное значения для любого атрибута в любое данное время – не может быть чтобы значений было два, или не было. Если появляется объект с неопределенным значением атрибута, то относить его к этому классу мы не можем – это уже объект другого класса.

  • Атрибут не должен содержать никакой внутренней структуры.

  • Когда объект имеет составной идентификатор, каждый атрибут-часть идентификатора представляет характеристику всего объекта, а не его части (и тем более не характеристику чего-либо другого).

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

<№><имя>(<к.л>)
* часть_идентификатора
V Атрибут
V Атрибут

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

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

Связь

Дальше необходимо выявить множественность связей. С каждой стороны может участвовать один объект, или один с многими, или многие со многими: один к одному, один к многим, многие к многим – виды связей. Учебный курс – студент, МкМ; Преподаватель – Студент, ОкМ.

Иногда с какой-то стороны объект МОЖЕТ не участвовать в связи, тогда связь – условная (преподаватель не руководит студентами – условная связь со стороны преподавателя, т.к. у студента должен быть руководитель, а преподаватель не обязан руководить). Если с обоих сторон объекты МОГУТ не участвовать в связи, то связь – биусловная (УчебныйКурс – Студент; курс не читается в этом семестре, или студент не выбрал этот курс).
Итого – 3 безусловных (ОКО, ОКМ, МКМ), 4 условных ОуКМ, ОКМу, МуКМ, МкМу), 3 биусловных(ОукОу, ОуКМу, МуКМу).

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

Множественная связь

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

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

Clone this wiki locally