- •Введение
- •Лекция 1: Информационные системы с базами данных Информация, данные, информационные системы Информация как социальный ресурс
- •Информация и данные
- •Определение понятия информации
- •Информационные системы
- •Итерационная процедура построения информационных систем
- •Концепция баз данных
- •Основные подходы к обработке информации в автоматизированных информационных системах
- •Системы управления базами данных
- •Концепция баз данных
- •Модели данных Понятие о модели данных
- •Информационная модель данных
- •Концепция трех схем
- •Основные типы моделей и их эквивалентность
- •Общие принципы классификации субд
- •Обзор основных моделей данных
- •Иерархическая модель
- •Сетевая модель данных
- •Модели вычислений
- •Лекция 2. Предметная область базы данных и ее модели Понятие предметной области
- •Информационная модель предметной области базы данных
- •Сущности, атрибуты и идентификаторы (ключи) сущности, домены атрибутов
- •Отношения, связи
- •Подтипы и супертипы
- •Диаграммы "сущность-связь"
- •Документирование сущностей и атрибутов
- •Документирование доменов
- •Документирование отношений (связей)
- •Документирование супертипов и подтипов
- •Функциональная модель предметной области базы данных Понятие функциональной модели предметной области базы данных
- •Бизнес-модель процессов (иерархия функций системы)
- •Модель потока данных
- •Модель жизненного цикла сущности
- •Набор спецификаций функций системы (требования), описание функций системы через сущности и атрибуты, бизнес-правила
- •Общесистемные требования и решения
- •Контроль качества результатов анализа предметной области
- •Лекция 3. Что такое проектирование баз данных Введение
- •Что такое проектирование базы данных
- •Типовая бизнес-модель процесса проектирования базы данных
- •Бизнес-модель процесса проектирования базы данных: сбор и анализ входных данных
- •Бизнес-модель процесса проектирования реляционной базы данных: создание логической модели базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных
- •Бизнес-модель этапа проектирования - создание физической модели реляционной базы данных: учет влияния транзакций
- •Краткое рассмотрение задач создания серверного кода и подготовки скрипта
- •Лекция 4. Реляционная модель данных Информация, данные, информационные системы Понятие отношения
- •Формы представления отношений
- •Реляционные операции
- •Объединение отношений
- •Пересечение отношений
- •Разность отношений
- •Декартово произведение отношений
- •Проекция отношения
- •Деление отношений
- •Выбор из отношения
- •Соединение отношений
- •Лекция 5. Функциональные зависимости и реляционные базы данных Информация, данные, информационные системы Понятие функциональной зависимости в данных
- •Основные классы функциональных зависимостей
- •Аксиомы вывода функциональных зависимостей
- •Минимальные покрытия множеств функциональных зависимостей
Контроль качества результатов анализа предметной области
Предположим, что проектировщик баз данных получил от аналитиков набор материалов с результатами анализа предметной области базы данных. Задача проектировщика - произвести контроль качества предоставленных результатов анализа в целях обеспечения их полноты и достоверности.
Первое, что необходимо сделать, - составить перечень полученных документов и проверить, все ли необходимые документы присутствуют. Проектировщику должны быть представлены: (а) информационная модель предметной области базы данных; (б) совокупность частных моделей, которые относятся к функциональной модели предметной области базы данных; (в) общесистемные требования и решения. В то же время надо помнить, что не все конструкции могут оказаться нужными для решения задач проектирования. Так, например, диаграмма потоков данных непосредственно влияет на принятие решения о числе баз данных, подлежащих реализации в рамках системы. И если уже решено, что база данных будет одна, то принимать во внимание эту диаграмму не нужно. Также часто обходятся без диаграммы жизненных циклов сущностей и диаграммы состояний.
Далее проектировщик должен классифицировать представленные модели по типам и для каждой модели проверить выполнение присущих ей правил.
Существуют формальные и неформальные процедуры проверки результатов моделирования предметной области.
Формальные процедуры основываются на формализации общих знаний о моделях предметной области, в частности на: формальных механизмах, посредством которых представляются данные и процессы системы; формах документирования моделей - диаграммах; методологии графического представления диаграмм (нотациях). В таблице 2.1 приведен перечень моделей, используемых для моделирования данных на различных стадиях жизненного цикла создания ИС, типичные формы документирования моделей - диаграммы - и наиболее популярные методологии (нотации).
Таблица 2.1. Стадии, модели, диаграммы, методологии |
|||
Стадии |
Модели |
Диаграммы |
Методологии (нотации) |
|
Информационная модель предметной области |
||
Анализ предметной области |
Модели данных |
Диаграммы "сущность-связь" (ERD) |
CHEF, Martin, Bachman, IDEFXIX, Shlaer & Mellor, Merise, IEM |
Диаграммы модели данных (DMD) |
Martin, Bachman |
||
Диаграммы структур данных (DSD) |
Jackson |
||
Диаграммы логических структур данных (LDS) |
SSADM |
||
Диаграммы UML |
OOA&D |
||
Функциональные модели предметной области |
|||
Модели процессов |
Диаграммы модели бизнес-процессов (контекстная диаграмма, диаграмма декомпозиции, диаграмма дерева узлов |
IDEF0, IDEF3 |
|
Диаграммы потоков данных |
Yuordan/DeMarco, Gane & Sarson, SSADM |
||
Графы преобразований |
Ward & Mellor, Gane & Sarson, Hatley |
||
Диаграммы UML |
OOA&D |
||
Модели состояний |
Диаграммы состояний (STD) |
Ward & Mellor, Hatley |
|
Диаграммы жизненного цикла (ELH) |
SSADM |
||
Диаграммы UML |
OOA&D |
||
Проектирование |
Модели процессов проектирования |
Структурные схемы (STC) |
Youtdan/Constantine Page-Jones |
Диаграммы UML |
OOA&D |
||
Реализация |
|
Диаграммы UML |
OOA&D |
Как видно из таблицы, не существует единой модели, в рамках которой можно представить весь жизненный цикл системы. Так, стадия анализа предметной области системы представляется с помощью трех типов моделей:
модели данных, которые описывают внутренние, логические взаимоотношения между данными в системе;
модели процессов, которые описывают процессы обработки или преобразования данных в системе;
модели состояний, которые описывают поведение или отклики системы на события.
Несмотря на то, что каждая из диаграмм может быть представлена с помощью широкого спектра нотаций, все они в рамках определенной диаграммы имеют общие основные черты. Ниже приведены правила, которыми должен руководствоваться проектировщик в ходе формальной проверки правильности представленных моделей.
На диаграммах "сущность-связь" должны быть представлены сущности, связи, степени связи, классы принадлежности сущности, неопределенные связи, супертипы/подтипы сущности. При этом каждая сущность и отношение должны быть поименованы и занесены в словарь данных; каждая сущность может появиться на диаграмме только один раз; каждая сущность должна вступать в отношение (отсутствие "висящих" сущностей), и каждое отношение должно иметь сущности (отсутствие "висящих" отношений). Поэтому проектировщик базы данных должен проконтролировать, чтобы связь между сущностями осуществлялась через точно указанные атрибуты, которые, вероятнее всего, будут определять уникальный ключ связи.
Проектировщик базы данных должен проконтролировать, чтобы в информационной модели предметной области для каждого атрибута сущностей был определен домен. Следует понимать, что определение домена, даваемое аналитиками, носит самый общий характер (число, текст, дата, графика и т.д.), и будет далее уточнено при проектировании. На этом этапе важно, чтобы домен был определен.
На диаграммах модели бизнес-процессов должны быть представлены работы, вход, выход, управление и механизмы. При этом все элементы должны быть поименованы; все работы должны получаться путем функциональной декомпозиции некоторой более крупной работы; для каждой работы должно быть задано управление.
На диаграммах потока данных должны быть представлены внешние сущности (источники и потребители данных), процессы обработки данных, конкурирующие процессы, хранилища данных, потоки данных, указатели ветвления процессов. При этом все процессы должны быть пронумерованы: исходный (начальный) процесс должен иметь номер 0; процессы более низких уровней - 1.1, 1.2, и т.д.; 1.1.1, 1.1.2, и т.д.
На диаграммах жизненного цикла сущностей и диаграммах состояний должны быть представлены состояния, переходы и внешние переходы. При этом на диаграммах должно присутствовать начальное состояние, из которого получаются все остальные состояния. В конечное состояние можно попасть из любого состояния. Запрещается одновременно переход в два состояния; каждый переход имеет условие и действие, которые указываются рядом с переходом.
Таким образом, формальные процедуры проверки нацелены на проверку таких аспектов анализа, как: наличие у каждой сущности уникального идентификатора; наличие функции, создающей экземпляры сущности; наличие хотя бы одной функции, которая ссылается на сущность, и т.п. В основе формальной проверки лежат такие прагматичные соображения, как: зачем создавать сущность, если она никогда не используется или если к ней никогда не будет произведен доступ; зачем создавать сущность, которую нельзя однозначно идентифицировать и т.п.
Следует иметь в виду, что большинство современных CASE -средств, используемых при анализе предметной области и проектировании баз данных, содержат ряд возможностей по автоматизации описанных формальных процедур.
Формальные процедуры проверки качества моделей позволяют проектировщику базы данных убедиться в их "формальной" достоверности, но не позволяют оценить, насколько они адекватно отражают реальную ситуацию внешнего мира в рамках предметной области. Поэтому часто требуется прибегать к неформальным процедурам проверки результатов моделирования предметной области.
Неформальные процедуры заключаются в проведении личных бесед с аналитиками, постановщиками задач, конечными пользователями и руководителями всех автоматизируемых подразделений, проведении семинаров и совещаний всех участников проекта, а также в изучении материалов анализа предметной области. В ходе неформальных процедур могут быть выявлены существенные ошибки (например, потеря сущности предметной области), которые могут привести к пересмотру некоторых результатов проектирования и реализации баз данных, что в конечном счете может стать причиной срыва запланированных сроков выполнения проекта1
По окончании проверки качества моделей предметной области составляется список замечаний.
Все вопросы, возникшие в ходе проведения контроля качества результатов анализа предметной области, разрешаются проектировщиками совместно с аналитиками и руководителем ИТ-проекта. Результаты проверки доводятся до сведения руководителя проекта.
