Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ С ПОМОЩЬЮ CASE-СРЕДСТВСтр 1 из 4Следующая ⇒
РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ С ПОМОЩЬЮ CASE-СРЕДСТВ
Методические указания к лабораторным работам
Лабораторная работа РАЗРАБОТКА ИНФОРМАЦИОННОЙ СИСТЕМЫ С ПОМОЩЬЮ 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. Преобразование связи вида «многие-ко-многим» Рис.1.8. Диалог формирования параметров атрибутов
Индексы Данные в таблицах обычно хранятся в том порядке, в котором их ввели в таблицу. Физически таблица может храниться фрагментарно в разных областях диска, и при этом строки таблицы будут располагаться неупорядоченно. Поиск данных простым перебором в базах данных с миллионами строк ведет при такой организации к падению производительности информационной системы. Для решения проблемы поиска данных СУБД используют особый объект, называемый индексом. Он подобен содержанию книги, которое указывает на все номера страниц. Индекс содержит отсортированную по атрибуту или нескольким атрибутам информацию и указывает на строки, в которых хранится конкретное значение колонки. Например, если необходимо найти книгу по названию (см. рис.1.5), то можно создать индекс по атрибуту «название_книги» таблицы «КНИГИ». В индексе названия книг будут отсортированы в алфавитном порядке. Для атрибута «название_книги» индекс будет содержать ссылку, указывающую, в каком месте таблицы хранится искомая строка. При поиске книги серверу напрaвляется запрос с критерием поиска (например, название_книги = “Ночной дозор”). При выполнении запроса СУБД просматривает индекс вместо того, чтобы просматривать по порядку все строки таблицы «КНИГИ». Поскольку в индексе значения хранятся в определенном порядке, то просматриваться будет меньший объем. Индекс удобно создать для тех атрибутов, по которым часто осуществляется поиск. При генерации схемы физической базы данных Erwin автоматически создает отдельный индекс на основе первичного ключа каждой таблицы, а также на основе всех альтернативных ключей, внешних ключей и инверсионных входов. Можно отказаться от генерации индексов по умолчанию и создать собственные индексы. Для выполнения этой процедуры в пункте меню Edit программной среды ERwin выбирается закладка «Index». Здесь можно изменить имя индекса, его определение так, чтобы он принимал уникальные или дублирующие значения. Порядок выполнения работы 1. Загрузите программную инструментальную среду ERwin. 2. Загрузите схему данных, приведенную на рис.1.10. Дополните сущность «Книги» атрибутом «стоимость книги». 3. Перейдите на физический уровень схемы данных. 4. Выберите в пункте меню Server опцию - « Target server». В открывшемся меню укажите систему управления базой данных - Interbase. 5. Установите типы данных и их размеры в полях атрибутов базы данных. Размеры полей для данных типа «строковая переменная» должны быть обязательно определены. Внимание! Имена всех атрибутов должны быть описаны латинским шрифтом. Изменение типа данных можно выполнить, дважды щелкнув на поле сущности левой кнопкой. При этом проектировщику предлагается весь набор атрибутов для редактирования. 6. Выберите в пункте меню Tasks опцию «Forward engineer». В меню этого пункта выберите команду «Preview». В результате будет сформирован системный каталог описание базы данных – основа script-файла. Сохраните скрипт, используя иконку меню программной среды с расширением sql. Закройте окно командой « Close ». 7. Загрузите программу IB Expert. В пункте меню программы DATABASE выберите пункт « Сreate databasе». Выполните установки в открывшемся окне: • Server – Local; • Database – имя разрабатываемой базы данных с указанием пути ее нахождения. Используйте при определении пути опцию «browse» • Username – SYSDBA • Parol – masterkey Примечание. Ввод имени пользователя и пароля следует набирать с клавиатуры компьютера. 8. Указав приведенную информацию в таблице установок, нажмите кнопку «Enter ». Появится аналогичная таблица, в которой следует установить в пункте « Server Version» используемый программный продукт – Firebird 1.0. После этого выберите пункт « Register». 9. В поле database explorer появится разрабатываемая база данных. Выберите ее, дважды нажав на ней левой кнопкой. База выделится ярким шрифтом с отражением (каталогом) ее представления. 10. В пункте меню выберите пункт Tools, а затем команду «Script executive». В появившемся окнеоткройте свой скрипт, сохраненный в п.6. 11. Теперь в диалоговом окне представлен сценарий разрабатываемой информационной базы в продукте IB Еxpert. Чем отличается структура описания реляционной базы данных от правил языка описания данных в классическом SQL? Внимательно просмотрите скрипт. Обратите внимание на запись:
CREATE EXCEPTION ERWIN_PARENT_INSERT_RESTRICT " Cannot …..» Эту запись описания данных SQL не воспримет при компиляции. Связано это с тем, что подпрограммы, связывающие отдельные таблицы с точки зрения сохранения целостности данных, и называемые триггерами, используют знак «; » не как оператор окончания описания домена или таблицы в языке SQL. Следует отменить действие этого оператора. Выполняется это записью следующего вида: Set term!! ; Приведенную запись следует произвести после отмеченных цветом прописей. 12. Запустите сценарий на выполнение, используя команду « Run Script » (горячая клавиша F9). 13. В случае успешного выполнения проектируемая база будет создана. В окне IB Еxpert созданная база будет отмечена выделенным шрифтом. Можно открыть и посмотреть ее состав. Предъявите преподавателю результаты создания базы данных. 14. Выберите в созданной базе блок « Table ». Произведите заполнение таблиц данными, используя в меню пункт « DATA». При заполнении следует учитывать, что сначала вводятся данные в справочные таблицы. Заполнение каждого кортежа должно завершаться проведением транзакции (красная галочка в меню окна). Заполните в таблицах не менее 8 позиций каждого отношения, с повторением наименования поставщика, должности, фамилии и т.п. 15. По заданию преподавателя произведите заполнение двух трех кортежей таблиц. Введите данные, формат которых не соответствует выбранному при формировании модели типу данных. 16. Удалите данные из различных таблиц. Где это допустимо? В каких случаях операция удаления данных невозможна?
Содержание отчета 1. Цель работы. 2. Логическая и физическая модели данных. 3. Скрипт на языке SQL разработанной базы данных. 4. Таблицы с заполненными данными. 5. Выводы об ограничении целостности данных в разработанной базе данных.
Контрольные вопросы 1. С какой целью разработаны CASE- средства проектирования информационных систем? 2. Как изменится физическая модель данных, если изменить тип связи между сущностями «Авторы» и «Книги» на идентифицируемую? 3. С какой целью изменялся скрипт базы данных вводом предложения « Set term!! »? 4. Чем логическая модель данных отличается от физической модели?
Рис.1.10. Схема данных
5. С какой целью в отношениях используются понятия «Первичный ключ», «Внешний ключ», «Уникальный ключ»? 6. Что такое «класс принадлежности связи»? 7. Чем отличается построение базы данных при использовании связи типа «Один-ко-многим» от связи «многие-ко-многим»? 8. В чем состоит понятие «Триггера» в базах данных 9. Какая часть базы данных разработана в этой лабораторной работе: серверная или клиентская? 10. Какие таблицы баз данных называются справочными?
РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ С ПОМОЩЬЮ CASE-СРЕДСТВ
Методические указания к лабораторным работам
Лабораторная работа Популярное:
|
Последнее изменение этой страницы: 2016-06-05; Просмотров: 811; Нарушение авторского права страницы