- •Лекция 1. Основные понятия технологии проектирования информационных систем (ис)
- •Методы программной инженерии в проектировании ис.
- •Лекция 2. Жизненный цикл программного обеспечения ис
- •Лекция 3. Организация разработки ис
- •Каноническое проектирование ис
- •Типовое проектирование ис
- •Лекция 4. Анализ и моделирование функциональной области внедрения ис
- •Полная бизнес-модель компании
- •Шаблон формирования бизнесов
- •Шаблон формирования функционала компании (основных бизнес-функций)
- •Шаблон формирования зон ответственности за функционал компании
- •Шаблон потокового процессного описания
- •Построения организационно-функциональной модели компании
- •Инструментальные средства организационного моделирования
- •Лекция 5: Спецификация функциональных требований к ис
- •Процессные потоковые модели
- •Основные элементы процессного подхода
- •Выделение и классификация процессов
- •Референтная модель бизнес-процесса
- •Проведение предпроектного обследования предприятий
- •Результаты предпроектного обследования
- •Лекция 6. Методологии моделирования предметной области
- •Структурная модель предметной области
- •Объектная структура
- •Функциональная структура
- •Структура управления
- •Организационная структура
- •Техническая структура
- •Функционально-ориентированные и объектно-ориентированные методологии описания предметной области
- •Функциональная методика idef0
- •Функциональная методика потоков данных
- •Объектно-ориентированная методика
- •Сравнение существующих методик
- •Синтетическая методика
- •Лекция 7: Информационное обеспечение ис
- •Внемашинное информационное обеспечение Основные понятия классификации технико-экономической информации
- •Правила классификации продукции
- •Кодирование технико-экономической информации
- •Понятие унифицированной системы документации
- •Внутримашинное информационное обеспечение
- •Проектирование экранных форм электронных документов
- •Информационная база и способы ее организации
- •Моделирование данных
- •Базовые понятия erd
- •Метод idefi
- •Отображение модели данных в инструментальном средстве eRwin
- •Документирование модели
- •Масштабирование
- •Создание логической модели данных Уровни логической модели
- •Сущности и атрибуты
- •Типы сущностей и иерархия наследования
- •Нормализация данных
- •Создание физической модели данных
- •Правила валидации и значения по умолчанию
- •Индексы
- •Триггеры и хранимые процедуры
- •Проектирование хранилищ данных
- •Вычисление размера бд
- •Прямое и обратное проектирование
- •Генерация кода клиентской части с помощью eRwin Расширенные атрибуты
- •Генерация кода в Visual Basic
- •Создание отчетов
- •Генерация словарей
- •Лекция 9: Унифицированный язык визуального моделирования Unified Modeling Language (uml)
- •Синтаксис и семантика основных объектов uml Классы
- •Диаграммы классов
- •Диаграммы использования
- •Диаграммы последовательностей
- •Кооперативные диаграммы
- •Диаграммы состояний
- •Диаграммы деятельности
- •Диаграммы компонентов
- •Пакеты uml
Типы сущностей и иерархия наследования
Как было указано выше, связиопределяют, является лисущностьнезависимой или зависимой. Различают несколькотипов зависимых сущностей.
Характеристическая— зависимая дочерняясущность, которая связана только с одной родительской и по смыслу хранит информацию о характеристиках родительскойсущности(рис. 10.7).
Рис. 10.7.Пример характеристической сущности "Хобби"
Ассоциативная—сущность, связанная с несколькими родительскимисущностями. Такаясущностьсодержит информацию освязяхсущностей.
Именующая— частный случай ассоциативнойсущности, не имеющей собственныхатрибутов(толькоатрибутыродительскихсущностей, мигрировавших в качестве внешнего ключа).
Категориальная— дочерняясущностьвиерархии наследования.
Иерархия наследования(или иерархия категорий) представляет собой особый тип объединениясущностей, которые разделяют общие характеристики. Например, в организации работают служащие, занятые полный рабочий день (постоянные служащие), и совместители. Из их общих свойств можно сформировать обобщеннуюсущность(родовой предок)Сотрудник(рис. 10.8), чтобы представить информацию, общую для всех типов служащих. Специфическая для каждого типа информация может быть расположена в категориальныхсущностях(потомках)Постоянный сотрудникиСовместитель.
Обычно иерархию наследованиясоздают, когда несколькосущностейимеют общие по смыслуатрибуты, либо когдасущностиимеют общие по смыслусвязи(например, если быПостоянный сотрудникиСовместительимели сходную по смыслусвязь"работает в" ссущностьюОрганизация), либо когда это диктуется бизнес-правилами.
Для каждой категории можно указать дискриминатор — атрибутродового предка, который показывает, как отличить одну категориальнуюсущностьот другой (атрибутТипнарис. 10.8).
Рис. 10.8.Иерархия наследования. Неполная категория
Иерархии категорий делятся на два типа — полные и неполные. В полной категории одному экземпляру родового предка (сущностьСлужащий,рис. 10.9) обязательно соответствует экземпляр в каком-либо потомке, т. е. в примере служащий обязательно является либо совместителем, либо консультантом, либо постоянным сотрудником.
Рис. 10.9.Иерархия наследования. Полная категория
Если категория еще не выстроена полностью и в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках, то такая категория будет неполной. На рис. 10.8показана неполная категория — сотрудник может быть не только постоянным или совместителем, но и консультантом, однакосущностьКонсультантеще не внесена виерархию наследования.
Ключи
Как было сказано выше, каждый экземпляр сущностидолжен быть уникален и должен отличаться от другихатрибутов.
Первичный ключ(primary key) — этоатрибутили группаатрибутов, однозначно идентифицирующая экземплярсущности.атрибутыпервичного ключана диаграмме не требуют специального обозначения — это театрибуты, которые находятся в спискеатрибутоввыше горизонтальной линии (см., например,рис. 10.9).
В одной сущностимогут оказаться несколькоатрибутовили набороватрибутов, претендующих на рольпервичного ключа. Такие претенденты называютсяпотенциальными ключами(candidate key).
Ключи могут быть сложными, т. е. содержащими несколько атрибутов. Сложныепервичные ключине требуют специального обозначения — это списокатрибутов, расположенных выше горизонтальной линии.
Рассмотрим кандидатов на роль первичного ключасущностиСотрудник(рис. 10.10).
Рис. 10.10.Определение первичного ключа для сущности "Сотрудник"
Здесь можно выделить следующие потенциальные ключи:
Табельный номер;
Номер паспорта;
Фамилия + Имя + Отчество.
Для того чтобы стать первичным, потенциальный ключдолжен удовлетворять ряду требований:
Уникальность. Два экземпляра не должны иметь одинаковых значений возможного ключа.потенциальный ключ№ 3 (Фамилия + Имя + Отчество) является плохим кандидатом, поскольку в организации могут работать полные тезки.
Компактность. Сложный возможный ключ не должен содержать ни одногоатрибута, удаление которого не приводило бы к утрате уникальности. Для обеспечения уникальности ключа № 3 дополним егоатрибутамиДата рожденияиЦвет волос. Если бизнес-правила говорят, что сочетанияатрибутовФамилия + Имя + Отчество + Дата рождениядостаточно для однозначной идентификации сотрудника, тоЦвет волосоказывается лишним, т. е. ключФамилия + Имя + Отчество + Дата рождения + Цвет волосне является компактным.
При выборе первичного ключапредпочтение должно отдаваться более простым ключам, т. е. ключам, содержащим меньшее количествоатрибутов. В приведенном примере ключи № 1 и 2 предпочтительней ключа № 3.
Атрибутыключа не должны содержать нулевых значений. Значениеатрибутовключа не должно меняться в течение всего времени существования экземплярасущности. Сотрудница организации может выйти замуж и сменить как фамилию, так и паспорт. Поэтому ключи № 2 и 3 не подходят на рольпервичного ключа.
Каждая сущностьдолжна иметь по крайней мере одинпотенциальный ключ. Многиесущностиимеют только одинпотенциальный ключ. Такой ключ становится первичным. Некоторыесущностимогут иметь более одного возможного ключа. Тогда один из них становится первичным, а остальные —альтернативными ключами.
Альтернативный ключ(Alternate Key) — этопотенциальный ключ, не ставший первичным.