Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ С ПОМОЩЬЮ CASE-СРЕДСТВА ERwin
Цель работы Изучение средств автоматизации разработки информационных систем с использованием программного продукта фирмы PLATINUM technology – PLATINUM ERwin. Краткие теоретические сведения Общие сведения о CASE средствах Создание современных информационных систем представляет собой сложную задачу, требующую использование специальных знаний и методик. Облегчить проектирование позволяют программные продукты, применение которых позволяет систематизировать и автоматизировать все этапы разработки информационной системы. Такие технологии называют CASE-средствами (Computer-Aided Software/Sistem Engineering). Процесс проектирования информационных систем в соответствии с принятыми стандартами представляет собой многоэтапный процесс [5]. Разработка начинается с проведения анализа и реорганизации бизнес-процесса. На этом этапе формируется функциональная модель существующих бизнес-процессов на предприятии (так называемая модель AS-IS – как есть) и идеальная модель, к которой следует стремиться (модель TO-BE – как должно быть) [3]. Разрабатываются обе модели в методологии IDEF0. Методология IDEF0 предписывает построение иерархической системы диаграмм. Каждая диаграмма – это единичное описание фрагмента системы. Сначала проводится описание системы в целом и ее взаимодействие с окружающим миром (контекстная диаграмма). После этого проводится функциональная декомпозиция, и система разбивается на подсистемы. Каждая подсистема описывается отдельно и также разбивается, в случае необходимости, на более мелкие. Этот процесс продолжается до достижения необходимой подробности единичной диаграммы. После каждого сеанса декомпозиции проводится сеанс экспертизы: проводится анализ правильности представления бизнес-процесса единичной диаграммой со стороны специалистов данной предметной области. Такая технология создания модели позволяет построить модель, адекватную предметной области на всех уровнях абстрагирования. Описанная методология IDEF0 поддерживается продуктом BPwin фирмы PLATINUM technology [2]. На основе разработанного в BPwin информационного представления бизнес-процесса можно построить модель данных. Для этого PLATINUM technology предлагает мощный инструментарий – ERwin. ERwin позволяет проводить процессы прямого и обратного проектирования, то есть, по модели данных можно сгенерировать схему базы данных или, наоборот, создать модель на основе физической модели базы данных. Erwin интегрируется с популярными средствами разработки клиентской части – PowerBuilder, Visual Basic, Delphi. Существует несколько CASE-средств, поддерживающих языки объектно-ориентированного проектирования. Например, PLATINUM Paradigm Plus фирмы PLATINUM technology, Rational Rose фирмы Rational Software. Эти инструменты позволяют строить объектные модели в различных нотациях и генерировать на основе полученной модели приложения на языках объектно-ориентированного программирования: С++, Java, Visual Basic и др. Создание модели данных с помощью ERwin C целью построения модели данных и генерации кода серверной и клиентской частей используется продукт ERwin фирмы PLATINUM technology. ERwin имеет два уровня представления модели - логический и физический. На логическом уровне данные не связаны с конкретной СУБД, поэтому могут удобно отображать структуру представления данных конкретной предметной области. Физический уровень фактически отображает системный каталог, который зависит от конкретной СУБД. По корректной физической модели ERwin может генерировать для заданной СУБД физическую схему, называемую также системным каталогом или SQL-скриптом. Этот процесс генерации физической схемы БД из логической модели данных называется прямым проектированием (Forward Engineering). При генерации физической схемы ERwin включает триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в выбранной СУБД. Рассмотрим процедуру создания модели в среде Erwin и генерации модели данных для СУБД InterBase Windows InterActive SQL (WISQL).
Создание логической модели данных Логический уровень представления модели данных – это уровень абстрактного, понятийного отображения информационных массивов, при котором подчеркивается предметная сторона рассматриваемой реальности. Данные в логической модели могут называться так, как они называются в реальном мире: «Клиент», «Студенты», «Адрес сотрудника». Объекты модели, представляемой на логическом уровне, называются сущностями и связями. Каждая сущность имеет некоторые характеристики, называемые атрибутами. Например, сущность «Преподаватель» может иметь атрибуты: фамилия, ученая степень, ученое звание, год рождения, стаж работы, адрес и т.п. В свою очередь связи между сущностями могут иметь различные свойства, которые также должны быть определены в модели. Логическая модель, описываемая в терминах «сущность»-«связь» (ER- модель), имеет три уровня, которые отличаются по глубине представления информации: · Диграмма «сущность-связь» (Entity Relationship Diagram, ERD); · Модель данных, основанная на ключах (Key Based model, KB); · Полная атрибутивная модель (Fully Attributed model, FA). Диаграмма «сущность-связь» представляет модель данных на уровне сущностей и взаимосвязей между ними. Такой уровень отображения модели удобен для обсуждения с экспертами предметной области. Сущность в ней определяется как объект, событие или концепция. Модель данных, основанная на ключах, включает описание всех сущностей и первичных ключей в данной предметной области. Полная атрибутивная модель – это детальное представление структуры данных в третьей нормальной форме и включает все сущности, ключи и атрибуты. Формирование сущностей Интерфейс Erwin выполнен в стиле Windows-приложений и достаточно прост и интуитивно понятен. Отметим только те кнопки панели инструментов, которые могут вызвать затруднения при проектировании. Обозначения кнопок и их описание приведено в табл.1.1. Таблица 1.1
Формирование ER-диаграммы осуществляется в «ЛОГИЧЕСКОМ» режиме работы. При этом используется инструментарий Erwin Toolbox, вызываемый из пункта меню. Назначение кнопок инструментария и их обозначение приведено на рис.1.1. Назначение кнопок Erwin Toolbox: 1. Верхний ряд, слева направо: · кнопка указателя мыши позволяет устанавливать курсор на требуемый объект; · кнопка внесение сущности. При ее активации щелчок на рабочем пространстве позволяет создавать новую сущность. При редактировании сущности переходят в режим указателя мыши; · кнопка категориальных связей. Вводит специальный вид связи между сущностями. Ее вводят активизировав кнопку категорий, щелкнув левой кнопкой сначала на родительской сущности, потом по сущности –потомку; · кнопка текстового блока предназначена для внесения комментариев в любую часть диаграммы логической модели. 2. Слева направо, нижний ряд: · кнопка перенесения атрибутов внутри и между сущностями методом «drag& drop»; · кнопки создания связей. Первые две определяют идентифицирующую связь -«один-ко-многим» и, «многие-ко-многим», а третья - неидентифицирующую. Нажатие на значок приводит к созданию новой сущности на диаграмме. Каждая сущность может быть дополнительно определена с помощью текстового описания в закладке Definition.
Рис.1.2. Окно диалога Entity Editor
Для этого на редактируемой сущности следует щелкнуть правой кнопкой и выбрать из всплывающего меню пункт «Entity Editor». В пункте «Definition» создаются дополнительные разъяснения по формируемой сущности. В пункте «Note» добавляют замечания, комментарии о сущности, которые не были сделаны в пункте «Definition». В закладке «Note2» можно отметить некоторые возможные запросы, которые предположительно будут формироваться для создаваемой сущности. В пункте «UDP» (User Defined Properties – свойства, определяемые пользователем) разработчик вносит дополнительные комментарии и определения к сущности. Закладка «Note3» позволяет вводить примеры данных для сущности. Окно диалога этого пункта меню приведено на рис.1.2. В закладке «Icon» сущности можно поставить в соответствие некоторый рисунок, который будет отображаться в режиме просмотра модели на уровне Icon. Разработчик базы данных в соответствии с правилами проектирования определяет, какие свойства будут приданы данной сущности и какие атрибуты будут ее наполнять. Для описания атрибутов следует, «кликнув» правой кнопкой по сущности, выбрать в появившемся меню пункт «Attribute Editor». Диалог пользователя с этим пунктом приведен на рис.1.3.
Рис.1.3. Диалог формирования атрибутов сущности
Кнопка «New» позволят вводить новые атрибуты. Свойства этих атрибутов задаются в правой части раскрывшегося окна. В этом окне следует не только присвоить вводимым атрибутам имена, но и определить домены, на которых они строятся. Размерность (количество знаков) домена можно будет определить при работе с физическим уровнем программы ERwin. Атрибут, являющийся первичным ключом, должен быть указан в закладке «General». Ключи Каждый экземпляр сущности должен быть уникален и отличен от других экземпляров. Для выделения экземпляров, поиска их в базе данных, связи с другими таблицами в практике организации информационных процессов используются атрибуты, однозначно определяющие тот или иной объект. Такие атрибуты называют ключами. Различают первичные ключи и внешние. Первичный ключ (primary key) – это атрибут или группа атрибутов, однозначно идентифицирующая экземпляр сущности. Атрибуты первичного ключа на ER-диаграмме находятся в списке выше горизонтальной линии (см. схему данных на рис.1.10). Для определения атрибута в качестве первичного ключа необходимо установить флажок «Рrimary key» в нижней части закладки «General». Неключевой атрибут можно внести в состав ключевого и наоборот, используя режим переноса атрибутов (кнопка в панели инструментов). Выбор первичного ключа в ряде случаев может оказаться непростой задачей. На его роль могут претендовать несколько атрибутов. Такие претенденты называются потенциальными ключами (candidate key). Ключи могут быть сложными, то есть представлять собой конкатенацию нескольких атрибутов. Для того, чтобы атрибут мог стать первичным ключом, он должен удовлетворять следующим требованиям: · уникальность. Два экземпляра сущности не должны иметь одинаковых значений возможного ключа. · компактность. Сложный первичный ключ не должен содержать атрибутов, удаление которых не приводило бы к потере уникальности. При выборе первичного ключа предпочтение должно отдаваться наиболее простым ключам. Атрибуты первичного ключа не могут содержать нулевых значений. Значения ключевых атрибутов не меняются в течение всего
Рис.1.4. Выбор инверсионных входов в диалоге Attribute Editor
Времени существования экземпляра сущности. Кроме этого, каждая сущность должна иметь, по крайней мере, один потенциальный ключ. Некоторые сущности могут иметь более одного возможного ключа. При выборе одного из них первичным остальные становятся альтернативными ключами (Alternate key). При работе информационной системы нередко необходим доступ сразу к нескольким экземплярам сущностей. Erwin позволяет на уровне логической модели указать атрибуты, которые будут использоваться для обращения к нескольким экземплярам сущности как неуникальные индексы. Атрибуты, участвующие в неуникальных индексах, называются Inversion Entries (инверсионные входы). Создать альтернативные ключи и инверсионные входы можно в закладке «Key Group» диалога «Attribute Editor» (См. рис.1.4). Внешние ключи (Foreign Key) создаются автоматически при формировании связей между сущностями. Связь образует ссылку на атрибуты первичного ключа в дочерней сущности. Атрибуты внешнего ключа обозначаются символом (FK). Зависимая сущность может иметь первичный ключ, составленный как соединение внешних ключей других сущностей.
Связи Связь устанавливает отношение между сущностями. На логическом уровне можно установить идентифицирующую связь вида «один-ко-многим», «многие-ко-многим» и неидентифицирующую связь «один-ко-многим». В стандарте IDEF1X различают зависимые и независимые сущности. Идентифицирующая связь устанавливается между независимой (родительское начало связи) и зависимой (дочерний конец связи) сущностями. Когда создается идентифицирующая связь, ERwin преобразует дочернюю сущность в зависимую. Зависимая сущность изображается на диаграмме прямоугольником со скругленными краями. Экземпляр зависимой сущности определяется через отношение к родительской сущности. При установлении идентифицирующей связи между сущностями атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней. Эту операцию дополнения атрибутов дочерней сущности называют миграцией атрибутов. В дочерней сущности внесенный ключ будет определен как внешний (FK). В дальнейшем, при генерации схемы БД, атрибуты первичного ключа получат признак NOT NULL, что означает невозможность заполнения записи в дочернюю сущность при отсутствии ссылки на родительскую. При установлении неидентифицирующей связи дочерняя сущность остается независимой, а атрибут первичного ключа родительской сущности мигрирует в состав неключевых атрибутов дочерней сущности. Неидентифицирующая связь служит для связывания независимых сущностей. Идентифицирующая связь вида «один-ко-многим» на диаграмме обозначается сплошной линией , неидентифицирующая - . Связь «многие-ко-многим» возможна только на уровне логической модели. На физическом уровне ERwin автоматически преобразует эту связь, добавив зависимую сущность и две связи вида «один-ко-многим», как показано на рис.1.5. Рис.1.5. Преобразование связи вида «многие-ко-многим» Популярное:
|
Последнее изменение этой страницы: 2016-06-05; Просмотров: 1404; Нарушение авторского права страницы