«Разработка и стандартизация программных средств и информационных технологий» ЛЕКЦИЯ 5. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СТРУКТУРНЫЙ ПОДХОД Моделирование данных Цель: обеспечение разработчика ИС концептуальной схемой базы данных Диаграммы «сущность – связь» (Entity – Relationship Diagrams) Базовые понятия ERD: Сущность (Entity) – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области Связь (Relationship) – поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области Атрибут (Attribute) – любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражения состояния сущности Сущность должна обладать уникальным идентификатором. Каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности. Каждая сущность должна обладать некоторыми свойствами: иметь уникальное имя; к одному и тому же имени должна всегда применяться одна и та же интерпретация; одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь обладать одним или несколькими атрибутами, идентифицируют каждый экземпляр сущности которые однозначно Каждая сущность может обладать любым количеством связей с другими сущностями моделей. Связь – это ассоциация между сущностями, при которой каждый экземпляр одной сущности ассоциирован с произвольным (в том числе, нулевым( количеством экземпляров второй сущности, и наоборот Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, предметов и т.д.). Экземпляр атрибута – определённая характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и её значением, называемым значением атрибута. На ERD атрибуты ассоциируются с конкретными сущностями. Т.о., экземпляр сущности должен обладать единственным определённым значением для ассоциированного атрибута. Метод БАРКЕРА Первый шаг: извлечение сущностей Автомашина Продавец Покупатель Контракт Диаграмма сущностей Второй шаг: идентификация связей Продавец Много Необязательная Один Обязательная Контракт Связь продавца с контрактом продавец может получить вознаграждение за один и более контракт контракт должен быть инициирован ровно одним продавцом Контракт Продавец Покупатель Автомашина Диаграмма «сущность-связь» без атрибутов Третий шаг: идентификация атрибутов <Имя сущности> * <Атрибут-1> о <Атрибут-2> * - атрибут обязательный (не может принимать неопределённых значений) о - атрибут необязательный (может принимать неопределённые значения) Контракт # И/Н (идентификационный номер) *дата *цена Продавец #И/Н *имя *адрес *телефон Покупатель #И/Н *имя *адрес *телефон Автомашина #Р/Н *год выпуска *марка *модель *запрашиваемая цена Диаграмма «сущность-связь» с атрибутами Супертипы и подтипы: одна сущность является обобщающим понятием для группы подобных сущностей Летательный аппарат Супертипы Аэроплан Планер Самолёт Подтипы Вертолёт Ракета Другой тип Взаимно исключающие связи: каждый экземпляр сущности участвует только в одной связи из группы взаимно исключающих связей А C B Рекурсивная связь: сущность может быть связана сама с собой А