Для моделирования структуры данных используются ER-диаграммы (диаграммы «сущность-связь»), которые в наглядной форме представляют связи между сущностями. В соответствии с этим ER-диаграммы получили распространение в CASE-системах, поддерживающих автоматизированное проектирование реляционных ба.ч данных. Наиболее распространенными являются диаграммы, выполненные в соответствии со стандартом 1DEF1X, который используют наиболее популярные CASE-системы (в частности, ERwin, Design/IDEF, Power Designer).
Основными понятиями ER-диаграммы являются сущность, связь и атрибут.
Сущность — это реальный или виртуальный объект, имеющий существенное значение для рассматриваемой предметной области, информация о котором подлежит хранению. Если не вдаваться в подробности, то можно считать, что сущности соответствуют таблицам реляционной модели.
Каждая сущность должна обладать следующими свойствами:
- иметь уникальный идентификатор;
- содержать один или несколько атрибутов, которые либо принадлежат сущности, либо наследуются через связь с другими сущностями;
- содержать совокупность атрибутов, однозначно идентифицирующих каждый экземпляр сущности.
Любая сущность может иметь произвольное количество связей с другими сущностями. В диаграммах ER-модели сущность представляется в виде прямоугольника, содержащего имя сущности (рис. 6.1).
Рис. 6.1 Отображение сущности
Связь — это соединение двух сущностей, при котором, как правило, каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя.
Связь представляется в виде линии, связывающей две сущности или идущей от сущности к ней же самой (рис.6.2). Для каждой связи между сущностями указываются правила, обеспечивающие ее поддержание.
Рис. 6.2 Связь между двумя сущностями
Атрибут является характеристикой сущности, значимой для рассматриваемой предметной области. В ER-диаграммах список атрибутов сущности отображается в виде строк внутри прямоугольника с изображением сущности (рис. 6.3). В реляционных базах данных аналогом атрибута является поле таблицы.
рис. 6.3 Атрибуты сущности
В наиболее полном виде CASE-средства обладают следующими характерными особенностями:
- единый графический язык. CASE-технологии обеспечивают всех участников проекта, включая заказчиков, единым строгим, наглядным и интуитивно понятным графическим языком, позволяющим получать обозримые компоненты с простой и ясной структурой. При этом программы представляются двумерными схемами (которые проще в использовании, чем многостраничные описания), позволяющими заказчику участвовать в процессе разработки, а разработчикам — общаться с экспертами предметной области, разделять деятельность системных аналитиков, проектировщиков и программистов, облегчая им защиту проекта перед руководством, а также обеспечивая легкость сопровождения и внесения изменений в систему;
- единая база данных проекта. Основа CASE-технологии — использование базы данных проекта (репозитория) для хранения всей информации о проекте, которая может совместно использоваться разработчиками в соответствии с их правами доступа. Содержимое репозитория включает не только информационные объекты различных типов, но и отношения между их компонентами, а также правила использования или обработки этих компонентов. Репозиторий может хранить объекты различных типов: структурные диаграммы, определения экранов и меню, проекты отчетов, описания данных, логику обработки, модели данных, их организации и обработки, исходные коды, элементы данных и т. п.;
- интеграция средств. На основе репозитория осуществляются интеграция CASE-средств и разделение системной информации между разработчиками. При этом возможности репозитория обеспечивают несколько уровней интеграции: общий пользовательский интерфейс по всем средствам, передачу данных между средствами, интеграцию этапов разработки через единую систему представлена фаз жизненного цикла, передачу данных и средств между различными плат формами; О поддержка коллективной разработки и управления проектом. CASE-технология поддерживает групповую работу над проектом, обеспечивая возможность работы в сети, экспорт-импорт любых фрагментов проекта для их развития и/ или модификации, а также планирование, контроль, руководство и взаимодействие, то есть функции, необходимые в процессе разработки и сопровождения проектов. Эти функции также реализуются на основе репозитория. В частности, через репозиторий могут осуществляться контроль безопасности (ограничения и привилегии доступа), контроль версии и изменений и т. п.;
- макетирование. CASE-технология дает возможность быстро строить макеты (прототипы) будущей системы, что позволяет заказчику на ранних этапах разработки оценить, насколько она устраивает его и приемлема для будущих пользователей;
- генерация документации. Вся документация по проекту генерируется автоматически на базе репозитория (как правило, в соответствии с требованиями действующих стандартов). Несомненное достоинство CASE-техиологии заключается в том, что документация всегда отвечает текущему состоянию дел, поскольку любые изменения в проекте автоматически отражаются в репозитории (известно, что при традиционных подходах к разработке программного обеспечения документация в лучшем случае запаздывает, а ряд модификаций вообще не находит в ней отражения);
- верификация проекта. CASE-технология обеспечивает автоматическую верификацию и контроль проекта на полноту и состоятельность на ранних этапах разработки, что влияет на успех разработки в целом;
- автоматическая генерация программного кода. Генерация программного кода осуществляется на основе репозитория и позволяет автоматически построить до 85-90% текстов па языках высокого уровня;
- сопровождение и реинжиниринг. Сопровождение системы в рамках CASE-тех-нологии характеризуется сопровождением проекта, а не программных кодов. Средства реинжиниринга и обратного инжиниринга позволяют создавать модель системы из ее кодов и интегрировать полученные модели в проект, автоматически обновлять документацию при изменении кодов, автоматически изменять спецификации при редактировании кодов и т. п.
Далеко не все CASE-средства поддерживают все указанные выше возможности. Поэтому обычно к CASE-средствам относят любой программный продукт, автоматизирующий ту или иную совокупность процессов жизненного цикла программного обеспечения и обладающий следующими основными характерными особенностями:
- наличие мощных графических средств для описания и документирования информационной системы, обеспечивающих удобный интерфейс с разработчиком и развивающих его творческие возможности;
- интеграция отдельных компонентов CASE-срсдств, обеспечивающая управляемость процесса разработки информационной системы;
- использование специальным образом организованного хранилища проектных метаданных (репозитория).
Рассмотрим создание модели информационной системы. Для этого используем пример базы данных Премьер. В качестве CASE-средства будем использовать одну из наиболее популярных систем моделирования данных — Power Designer фирмы Sybase.
Строительная компания «Премьер» возводит различные здания. Для всех здании требуются разнообразные материалы в различных количествах. На разных этапах проекта работают разные бригады. Например, есть бригады арматурщиков, каменщиков, штукатуров и т. д. Составляя график работ, фирма «Премьер» варьирует состав бригад. Рабочие назначаются в разные бригады в соответствии с квалификацией. Один и тот же рабочий может выполнять разные работы (например, работать как плотником, так и каменщиком), поэтому его могут включать в разные бригады.
Численность бригад меняется в зависимости от размера здания и предъявляемых к нему требований. Следовательно, бригады составляются исходя из требовании конкретного здания. Кроме того, для каждой бригады, работающей на строительстве данного здания, назначается бригадир. Рабочий может возглавлять одну бригаду и работать в другой простым рабочим.
В базе данных должна содержаться информация о том, кто из рабочих фирмы в какую бригаду назначен на разных зданиях, какие материалы используются при возведении разных зданий, а также график работ по каждому зданию. На рис. 6.4, я представлено отношение между зданиями n материалами. Объектное множество ЗДАНИЕ содержит элементы, соответствующие зданиям. Объектное множество ТИП МАТЕРИАЛА представляет типы материалов. Для каждого здания требуется несколько типов материалов, и каждый тип материалов используется и нескольких зданиях. Обратите внимание, что атрибут «Адрес» относится только к множеству ЗДАНИЕ. Атрибут «Адрес» является уникальным для конкретного здания и может использоваться в качестве ключа для отношения ЗДАНИЕ.
ПРИМЕЧАНИЕ ————————————————————————-—————————————