
- •Минобрнауки россии
- •1. Общая характеристика процесса проектирования ис
- •1.1. Понятие жизненного цикла информационной системы
- •1.2. Модели жизненного цикла программного обеспечения
- •1.3. Стандарт iso 12207: 1995. Процессы жизненного цикла программных средств
- •2. Структурные методы проектирования ис
- •2.1. Идеи, лежащие в основе структурных методов
- •2.2. Принципы структурного анализа
- •3. Исходные данные для проектирования
- •3.1. Консалтинг в области информационных технологий
- •3.2. Цели и основные этапы консалтинга
- •3.3. Проведение обследования
- •3.4. Построение и анализ моделей деятельности предприятия
- •3.5. Разработка системного проекта
- •3.6. Предложения по автоматизации
- •3.7. Техническое проектирование
- •4. Разработка функциональной модели
- •4.1. Функциональные модели (sadt)
- •4.2. Иерархия функциональных диаграмм
- •5. Разработка модели потоков данных
- •5.1. Диаграммы потоков данных (dfd)
- •5.2. Этапы построения модели
- •5.3. Модели реального времени (управляемые событиями)
- •6. Разработка модели данных
- •6.1. Моделирование данных
- •6.2. Физическая и логическая модель данных
- •6.3. Создание логической модели данных
- •6.3.1. Уровни логической модели
- •6.3.2. Сущности и атрибуты
- •6.3.3. Связи
- •6.3.4. Типы сущностей и иерархия наследования
- •6.3.5. Ключи
- •6.3.6. Нормализация данных
- •6.4. Уровни физической модели
- •7. Методология структурного анализа и проектирования
- •7.1. Методология структурного анализа и проектирования
- •7.2. Сравнительный анализ функциональных моделей и моделей потоков данных
- •8. Инструментальные средства представления проектных решений
- •8.1. Концептуальные основы case-технологий
- •8.2. Классификация case-средств
- •8.3. Функциональные характеристики case-средств
- •8.4. Дополнительные средства поддержки жизненного цикла по
- •Литература
6.3.4. Типы сущностей и иерархия наследования
Как было указано выше, связи определяют, является ли сущность независимой или зависимой. Различают несколько типов зависимых сущностей.
Характеристическая - зависимая дочерняя сущность, которая связана только с одной родительской и по смыслу хранит информацию о характеристиках родительской сущности.
Рис. 6.15. Пример характеристической сущности «Хобби»
Ассоциативная - сущность, связанная с несколькими родительскими сущностями. Такая сущность содержит информацию о связях сущностей. Примером ассоциативной сущности является Visit на рис. 6.14.
Именующая - частный случай ассоциативной сущности, не имеющей собственных атрибутов (только атрибуты родительских сущностей, мигрировавших в качестве внешнего ключа). Примером именующей сущности является DoctorPatient на рис. 6.13.
Категориальная - дочерняя сущность в иерархии наследования.
Иерархия наследования (или иерархия категорий) представляет собой особый тип объединения сущностей, которые разделяют общие характеристики. Например, в организации работают служащие, занятые полный рабочий день (постоянные служащие) и совместители. Из их общих свойств можно сформировать обобщенную сущность (родовой предок) Сотрудник (рис. 6.16), чтобы представить информацию, общую для всех типов служащих. Специфическая для каждого типа информация может быть расположена в категориальных сущностях (потомках) Постоянный сотрудник и Совместитель.
Обычно иерархию наследования создают, когда несколько сущностей имеют общие по смыслу атрибуты, либо когда сущности имеют общие по смыслу связи (например, если бы Постоянный сотрудник и Совместитель имели бы сходную по смыслу связь "работает в" с сущностью Организация), либо когда это диктуется бизнес-правилами.
Для каждой категории можно указать дискриминатор - атрибут родового предка, который показывает, как отличить одну категориальную сущность от другой (атрибут Тип на рис. 6.16).
Иерархии категорий делятся на два типа - полные и неполные. В полной категории одному экземпляру родового предка (сущность Служащий, рис. 6.17) обязательно соответствует экземпляр в каком-либо потомке, т.е. в примере служащий обязательно является либо совместителем, либо консультантом, либо постоянным сотрудником.
Рис. 6.16. Иерархия наследования. Неполная категория
Рис. 6.17. Иерархия наследования. Полная категория.
Если категория еще не выстроена полностью и в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках, то такая категория будет неполной. На рис. 6.16 показана неполная категория - сотрудник может быть не только постоянным или совместителем, но и консультантом, однако сущность Консультант еще не внесена в иерархию наследования.
Возможна комбинация полной и неполной категорий. На рис. 6.18 помимо постоянных сотрудников и совместителей могут быть и консультанты, что не отражено в иерархии (неполная категория), но каждый постоянный сотрудник либо мужчина, либо женщина (полная категория).
Рис. 6.18. Иерархия наследования.
Комбинация полной и неполной категорий
Рассмотрим возможные стадии построения иерархии наследования.
Определение сущностей с общими (по определению) атрибутами. Предположим, в процессе проектирования созданы сущности Постоянный сотрудник и Совместитель (рис. 6.19). Можно заметить, что часть атрибутов у этих сущностей (Фамилия, Имя, Отчество, Дата рождения, Должность) имеет одинаковый смысл.
Рис. 6.19. Сущности с общими по смыслу атрибутами
Перенос общих атрибутов в сущность - родовой предок. В случае обнаружения совпадающих по смыслу атрибутов следует создать новую сущность (Сотрудник) - родовой предок и перенести и псе общие атрибуты (Фамилия, Имя, Отчество, Дата рождения, Должность).
Создание неполной структуры категорий. Создается категориальная связь от новой сущности - родового предка к старым сущностям - потомкам. Новая сущность дополняется атрибутом-дискриминатором категории (Тип) (см. рис. 6.16).
Общие атрибуты переносятся в родового предка и категория преобразуется в полную (признак полной категории устанавливается в диалоге Subtype Relationship). Сущность Консультант не имеет атрибута Должность, поэтому в родовом предке значение этого атрибута в случае консультанта будет NULL. В зависимости от бизнес-правил атрибут Должность может быть перенесен обратно из родового предка в сущности - потомки Постоянный сотрудник и Совместитель.
Комбинации полной и неполной структур категорий. При необходимости создание иерархии категорий можно продолжить. Для каждого потомка может найтись сущность с общими атрибутами, тогда сущность - потомок становится родовым предком для новых потомков, и т.д. (см. рис. 6.18).