Министерство общего и профессионального образования Российской Федерации УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИ...
59 downloads
645 Views
459KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство общего и профессионального образования Российской Федерации УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ И ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ ПРЕДПРИЯТИЙ С ИСПОЛЬЗОВАНИЕМ CASEСРЕДСТВА ERWIN
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторным работам по курсу «Технико-экономический анализ деятельности предприятий» для подготовки студентов специальности 071900 «Информационные системы в экономике»
Уфа 2002
-2-
Содержание Введение....................................................................................................................... 4 1.Цель работы .............................................................................................................. 6 2.Теоретическая часть................................................................................................. 6 2.1. Реляционные базы данных.......................................................................... 6 2.2. Моделирование в ERwin ............................................................................. 7 2.3 Хранение информации в модели ERwin................................................... 14 3. Описание работы с пакетом ................................................................................. 14 3.1. Постановка задачи ..................................................................................... 16 3.2.Создание логической модели БД............................................................... 16 3.3. Создание физической модели БД и генерация схемы БД. .................... 24 4. Порядок выполнения работы ............................................................................... 30 4.1 Создание модели экономического или производственного процесса .. 30 5. Требования к отчету.............................................................................................. 30 6. Контрольные вопросы .......................................................................................... 30 Список литературы ................................................................................................... 31
Составители: Г.Г. Куликов, Н.О. Никулина, Е.Б. Старцева, А.Ю.Алькин УДК 681.3 ББК Моделирование экономических и производственных процессов предприятий с использованием CASE- средства ERwin: Методические указания к
лабораторным работам по курсу "Технико-экономический
анализ деятельности предприятий" / Уфимск. гос. авиац. техн. ун-т; Сост.: Г.Г. Куликов, Н.О. Никулина, Е.Б. Старцева,
А.Ю. Алькин. - Уфа,
2002. - 31 с. Содержатся основные сведения, необходимые для работы с одним из современных программных продуктов фирмы Platinum Technology ERwin, предназначенным для структурного анализа и проектирования информационных систем. Рассматриваются принципы проектирования информационных систем с использованием CASE-средств, приводится подробное описание программного продукта. Обсуждается порядок проведения лабораторных работ. Предназначены для студентов старших курсов специальности «Информационные системы в экономике».
Табл.1 Ил. 21. Библиогр.: 2 назв.
Рецензенты: канд. техн. наук Л.Р. Черняховская канд. техн. наук А.Н. Набатов ♥ Уфимский государственный авиационный технический университет
-4-
Введение Создание современных информационных систем представляет собой сложнейшую задачу, решение которой требует применения специальных методик и инструментов. Неудивительно, что в последнее время среди системных аналитиков и разработчиков значительно вырос интерес к CASE технологиям
и
инструментальным
CASE
-
средствам,
позволяющим
максимально систематизировать и автоматизировать все этапы разработки программного обеспечения. Технология создания информационных систем (ИС) предъявляет особые требования к методикам реализации и программным инструментальным средствам, а именно: ● Реализацию проектов по созданию ИС принято разбивать на стадии анализа (прежде чем создавать ИС, необходимо понять и описать бизнес-логику предметной области), проектирования (необходимо определить модули и архитектуру
будущей
системы),
непосредственного
кодирования,
тестирования и сопровождения. Известно, что исправление ошибок, допущенных на предыдущей стадии, обходится примерно в 10 раз дороже, чем на текущей, откуда следует, что наиболее критическими являются первые стадии проекта. Поэтому крайне важно иметь эффективные средства автоматизации ранних этапов реализации проекта. ● Проект по созданию сложной ИС невозможно организовать в одиночку. Коллективная работа существенно отличается от индивидуальной, поэтому при реализации крупных проектов необходимо иметь средства координации и управления коллективом разработчиков. ● Жизненный цикл создания сложной ИС сопоставим с ожидаемым временем ее эксплуатации. Другими словами, в современных условиях компании перестраивают свои бизнес-процессы примерно раз в два года, столько же требуется (если работать в традиционной технологии) для создания ИС. Может оказаться, что к моменту сдачи ИС она уже никому не нужна, поскольку компания, ее заказавшая, вынуждена перейти на новую технологию работы. Следовательно, для создания ИС жизненно необходим
-5-
инструмент,
значительно
(в
несколько раз) уменьшающий время
разработки ИС. ● Вследствие значительного жизненного цикла может оказаться, что в процессе создания системы внешние условия изменились. Обычно внесение изменений в проект на поздних этапах создания ИС - весьма трудоемкий и дорогостоящий процесс. Поэтому для успешной реализации крупного проекта необходимо, чтобы инструментальные средства, на которых он реализуется, были достаточно гибкими к изменяющимся требованиям. На современном рынке средств разработки ИС достаточно много систем, в той или иной степени удовлетворяющих перечисленным требованиям. CASE средства ERwin и BPwin, разработанные фирмой PLATINUM, входят в число лучших на сегодняшний день. ERwin - средство разработки структуры базы данных (БД). ERwin сочетает графический интерфейс Windows, инструменты для построения ERдиаграмм, редакторы для создания логического и физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и настольных баз данных. С помощью ERwin можно создавать или проводить обратное проектирование (реинжиниринг) баз данных. Реализация моделирования в ERwin базируется на теории реляционных баз данных и на методологии IDEF1X. Методология используемой
IDEF1X
при
определяет
информационном
стандарты
моделировании,
терминологии, и
графического
изображения типовых элементов на диаграммах. Возможны
две
точки
зрения
на
информационную
модель
и,
соответственно, два уровня модели. Первый - логический (точка зрения пользователя) - описывает данные, задействованные в бизнесе предприятия. Второй - физический - определяет представление информации в БД. ERwin объединяет
их
представления.
в
единую
диаграмму,
имеющую
несколько
уровней
-6-
ЛАБОРАТОРНАЯ РАБОТА 1. Цель работы Целью работы является проведение процесса системного моделирования для заданной предметной области с помощью инструментальной среды ERwin. 2. Теоретическая часть 2.1. Реляционные базы данных В реляционной модели все данные представляются как факты о сущностях и связях. Например, система резервирования билетов содержит информацию о сущностях пассажир и рейс. Между сущностями определяются функциональные связи. Продолжая пример, между сущностями пассажир и рейс определяется связь перевозит (рейс перевозит много пассажиров). Сущность - это, например, человек, место, вещь, событие, концепция, о которых
хранится
информация.
Сущности
именуются
обычно
существительными, такими как покупатель, компьютер, служащий, продажа. Более точно, сущность - это множество индивидуальных объектов экземпляров, причем все эти объекты являются различными. Связь - это функциональная зависимость между сущностями. Например, служащий совершает продажи. Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его экземпляр. Сущность служащий может иметь атрибуты имя, дата рождения и т.д. Общепринятым видом графического изображения реляционной модели данных является ER-диаграмма. На такой диаграмме сущности (таблицы) изображаются прямоугольниками, возможно, соединенными между собой линиями (связями). Такое графическое представление облегчает восприятие структуры базы данных по сравнению с текстовым описанием.
-7-
2.2. Моделирование в ERwin 2.2.1. Процесс построения информационной модели. Процесс построения информационной модели состоит из следующих шагов: 1. определение сущностей; 2. определение зависимостей между сущностями; 3. задание первичных и альтернативных ключей; 4. определение атрибутов сущностей; 5. приведение модели к требуемому уровню нормальной формы; 6. переход к физическому описанию модели: назначение соответствий имя сущности - имя таблицы, атрибут сущности - атрибут таблицы; задание триггеров, процедур и ограничений; 7. генерация базы данных. ERwin создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. Однако ERwin далеко не только инструмент для рисования. ERwin автоматически создает базу данных (таблицы, индексы, хранимые процедуры, триггеры для обеспечения ссылочной целостности и другие объекты, необходимые для управления данными). Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если рассматривать диаграмму как графическое представление правил предметной области, то сущности и атрибуты являются существительными, а связи - глаголами. 2.2.2. Отображение логического и физического уровня модели данных в ERwin В ERwin существуют два уровня представления и моделирования логический и физический. Логический уровень означает прямое отображение фактов из реальной жизни. Например, люди, столы, отделы, собаки и компьютеры являются реальными объектами. Они именуются на естественном языке, с любыми разделителями слов (пробелы, запятые и т.д.). На логическом уровне не рассматривается использование конкретной СУБД, не определяются
-8-
типы данных (например, целое или вещественное
число)
и
не
определяются индексы для таблиц. Целевая СУБД, имена объектов и типы данных, индексы составляют второй
(физический)
уровень
модели
ERwin.
ERwin
предоставляет
возможности создавать и управлять этими двумя различными уровнями представления одной диаграммы (модели), равно как и иметь много вариантов отображения на каждом уровне. 2.2.3. Сущности (Entity) в ERwin На диаграмме сущность изображается прямоугольником. В зависимости от режима представления диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие сведения. Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты, составляющие первичный ключ в верхней части, и прочие (не входящие в первичных ключ) - в нижней части. Сущность представляет собой множество реальных или абстрактных объектов, например: люди, места, события, факты, которые имеют общие характеристики. Сущность - это логическое понятие. Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет три основных вида информации: ● атрибуты, составляющие первичный ключ; ● не ключевые атрибуты; ● тип сущности (независимая/зависимая). Первичный ключ - это атрибут или набор атрибутов, уникально идентифицирующий экземпляр сущности. Если несколько наборов атрибутов могут уникально идентифицировать сущность, то выбор одного из них осуществляется разработчиком на основании анализа предметной области. Для каждого первичного ключа ERwin создает при генерации структуры БД уникальный индекс. Правила определения сущностей ● Сущность должна иметь уникальное имя.
-9-
● Сущность
обладает
одним
или
несколькими атрибутами, которые
либо принадлежат сущности, либо наследуются через отношения. ● Сущность
обладает
одним
или
несколькими
атрибутами,
которые
однозначно идентифицируют каждый образец сущности и называются ключом или составным ключом. ● Каждая сущность может обладать любым количеством отношений с другими сущностями. ● Если внешний ключ целиком используется в составе первичного ключа, то сущность является зависимой от идентификатора. Экземпляры независимой (родительской) сущности могут быть уникально идентифицированы без определения ее связей с другими сущностями; зависимая (дочерняя) сущность, наоборот, не может быть уникально идентифицирована без определения ее связей с другими сущностями. Зависимая сущность отображается в ERwin прямоугольником с закругленными углами. Зависимая сущность может наследовать один и тот же внешний ключ от более чем одной родительской сущности, или от одной и той же родительской сущности через несколько связей. Если не введены различные роли для такого множественного наследования, ERwin считает, что в зависимой сущности атрибуты внешнего ключа появляются только один раз. Ñèí òàêñèñ èäåí òèô èöèðóþ ù èõ î òí î ø åí èé ÑÓÙ Í Î ÑÒÜ-À / 1
Ñèí òàêñèñ í åèäåí òèô èöèðóþ ù èõ î òí î ø åí èé ÑÓÙ Í Î ÑÒÜ-À / 1
Ñóù í î ñòü "ðî äèòåëü"
Ê ëþ ÷åâî é_àòðèáóò_À
È äåí òèô èöèðóþ ù åå î òí î ø åí èå
È ì ÿ_î òí î ø åí èÿ
Í åèäåí òèô èöèðóþ ù åå î òí î ø åí èå
ÑÓÙ Í Î ÑÒÜ-Á / 2
ÑÓÙ Í Î ÑÒÜ-Á / 2 Ê ëþ ÷åâî é_àòðèáóò_Á Ê ëþ ÷åâî é_àòðèáóò_À (FK )
Ê ëþ ÷åâî é_àòðèáóò_À
Ñóù í î ñòü "ï î òî ì î ê"
Ê ëþ ÷åâî é_àòðèáóò_Á Ê ëþ ÷åâî é_àòðèáóò_À (FK )
Рис. 1. Пример представления родительской и дочерней сущности. Унификация - это объединение двух или более групп атрибутов внешних ключей в один внешний ключ (группу атрибутов), в предположении, что значения одноименных атрибутов в дочерней сущности всегда одинаковы.
- 10 -
2.2.4. Атрибуты (Attribute) в ERwin. Сущность должна обладать атрибутом или комбинацией атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. Эти атрибуты образуют первичный ключ сущности. Правила определения атрибутов: 1. Каждый атрибут каждой сущности обладает уникальным именем. 2. Сущность может обладать любым количеством атрибутов. 3. При идентифицирующем отношении сущность "потомок" наследует атрибут и/или атрибуты, составляющие первичный ключ сущности "родителя". Возможный ключ - это один или несколько атрибутов, чьи значения однозначно определяют каждый экземпляр сущности. При существовании нескольких ключей один из них назначается первичным, а остальные формируют альтернативные ключи (см. рис. 2). Ï ÐÈ Ì ÅÐ / 3 Í î ì åð_ñëóæàù åãî Í î ì åð_ï î ëèñà (AK 1) Ô È Î (AK 2) Äàòà_ðî æäåí èÿ (AK 2)
Ï åðâè÷í û é êëþ ÷ Àëüòåðí àòèâí û é êëþ ÷ N 1 Àëüòåðí àòèâí û é êëþ ÷ N 2
Рис.2 Пример первичного и альтернативного ключей При работе ИС часто бывает необходимо обеспечить доступ к нескольким экземплярам сущности, объединенным каким – либо одним признаком для повышения производительности в этом случае используются неуникальные индексы. ERwin позволяет на уровне логической модели назначить атрибуты , которые будут участвовать в неуникальных индексах. Такие атрибуты называются инверсные входы (Inversion Entries). Инверсный вход – это атрибут или группа атрибутов, которые не определяют экземпляр сущности уникальным образом, но часто используется для обращения к экземплярам сущности. ERwin генерирует не уникальный индекс для каждого инверсного входа. 2.2.5. Связи (relationships) в ERwin Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь сущности с самой собой). Например, важно знать
- 11 -
фамилию сотрудника, и не менее важно
знать,
в
каком
отделе
он
работает. Таким образом, между сущностями отдел и сотрудник существует связь состоит из (отдел состоит из сотрудников). Связь - это понятие логического уровня, которому соответствует внешний ключ на физическом уровне.
В
ERwin
связи
представлены
пятью
основными
элементами
информации: ● тип связи (идентифицирующая, неидентифицирующая, полная/неполная категория, неспецифическая связь); ● родительская сущность; ● дочерняя (зависимая) сущность; ● мощность связи (cardinality); ● допустимость пустых (null) значений. Связь
называется
идентифицирующей,
если
экземпляр
дочерней
сущности идентифицируется через ее связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в первичный ключ дочерней сущности. Дочерняя сущность при идентифицирующей связи всегда является зависимой. Связь называется не идентифицирующей, если экземпляр дочерней сущности идентифицируется иначе, чем через связь с родительской сущностью. Атрибуты, составляющие первичный ключ родительской сущности, при этом входят в состав не ключевых атрибутов дочерней сущности. Для определения связей ERwin выбирается тип связи, затем мышью указывается родительская и дочерняя сущность. Идентифицирующая связь изображается сплошной линией; не идентифицирующая - пунктирной линией. Линии заканчиваются точкой со стороны дочерней сущности. При определении связи происходит миграция атрибутов первичного ключа родительской сущности в соответствующую область атрибутов дочерней сущности. Поэтому такие атрибуты не вводятся вручную. Атрибуты первичного ключа родительской сущности по умолчанию мигрируют со своими именами. ERwin позволяет ввести для них роли, т.е. новые имена, под которыми мигрирующие атрибуты будут представлены в дочерней сущности. В случае неоднократной миграции атрибута такое
- 12 -
переименование
необходимо. Например, сущность посредническая
сделка имеет атрибут код предприятия-продавца и код предприятияпокупателя. В данном случае первичный ключ сущности предприятие (код предприятия) имеет две роли в дочерней сущности. На физическом уровне имя роли - это имя колонки внешнего ключа в дочерней таблице. Мощность связи представляет собой отношение количества экземпляров родительской сущности к соответствующему количеству экземпляров дочерней сущности. Для любой связи, кроме неспецифической, эта связь записывается как 1:n. ERwin, в соответствии с методологией IDEF1X, предоставляет 4 варианта для n, которые изображаются дополнительным символом у дочерней сущности: . - ноль, один или больше ; P - один или больше; Z - ноль или один; N - ровно N, где N - конкретное число. Допустимость пустых (NULL) значений в не идентифицирующих связях изображается пустым ромбиком на дуге со стороны родительской сущности. Имя
связи
на
логическом
уровне
представляет
собой
глагол,
связывающий сущности. Физическое имя связи (которое может отличаться от логического) для ERwin означает имя ограничения (constraint) или индекса. 2.2.6. Связи категоризации Некоторые сущности определяют целую категорию объектов одного типа. В ERwin в таком случае создается сущность для определения категории и для каждого элемента категории, а затем вводится для них связь категоризации. Родительская сущность категории называется супертипом, а дочерние подтипом. Например, сущность «сотрудник» может содержать данные как о штатных работниках, так и о временно нанятых. Первые и вторые имеют различные,
частично
пересекающиеся
наборы
атрибутов
(минимальное
пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов, включая первичный ключ, помещается в сущность-супертип «сотрудник». Различная часть (например, данные почасовой оплаты для
- 13 -
временных работников и данные о зарплате
и
отпуске
для
штатных
работников) помещается в сущности-подтипы. В сущности-супертипе вводится атрибут-дискриминатор, позволяющий различать конкретные экземпляры сущности - подтипа. В зависимости от того, все ли возможные сущности-подтипы включены в модель, категорийная связь является полной или неполной. Продолжая пример, если супертип может содержать данные об уволенных сотрудниках, то эта связь неполной категоризации, так как для него не существует записи в сущностях подтипах. В ERwin полная категория изображается окружностью с двумя подчеркиваниями, а неполная - окружностью с одним подчеркиванием. Правила отношений категоризации: 1. Сущность типа "категория" может иметь только одну общую сущность. 2. Сущность-категория, принадлежащая одному отношению категоризации, может быть общей сущностью в другом отношении категоризации. 3. Сущность может быть общей сущностью в любом количестве отношений категоризации. 4. Атрибуты первичного ключа сущности-категории должны совпадать с атрибутами первичного ключа общей сущности. 5. Все экземпляры сущности-категории имеют одно и то же значение дискриминатора, и все экземпляры других категорий должны иметь другие значения дискриминатора (см. рис. 3). Ñòóäåí ò / 4
Àòðèáóò_èñï î ëí åí èÿ Äèñêðèì èí àòî ð Ô àêóëüòåò1 / 5 Ô àêóëüòåò2 / 6 Ô àêóëüòåò3 / 7
Î áù àÿ_ñóù í î ñòü / 10
Í åï î ëí î å_ì í î æåñòâî _ êàòåãî ðèé Ê àòåãî ðèÿ1 / 11
Ê àòåãî ðèÿ2 / 12
Äèñêðèì èí àòî ð1 Ê óðñ1 / 8
Ê óðñ2 / 9
Рис. 3. Пример неполного и полного множества категорий
- 14 -
2.3. Хранение информации в модели ERwin. Обычно модели ERwin сохраняются на диске в виде файла. Имеется возможность хранить модель в целевой СУБД. Для этого с помощью самого ERwin в целевой СУБД создается метабаза ERwin. В этой базе данных сохраняется информация модели. В частном случае базой данных могут быть и dBase-файлы, с которыми ERwin работает через ODBC. 3. Описание работы с пакетом При запуске ERwin по умолчанию появляется основная панель инструментов, палитра инструментов (см. рис.4).
Рис. 4.Интегрированная среда разработки модели ERwin Рассмотрим кратко основные функции ERwin по отображению модели, а также панель и палитру инструментов (см. таблицу 1).
- 15 -
Таблица 1 Назначение кнопок Кнопки
Назначение кнопок Создание, открытие, сохранение и печать модели Вызов диалога Report Browser для генерации отчетов Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов, уровень определений Изменение масштаба просмотра модели Генерация схемы БД, выравнивание схемы с моделью и выбор сервера (доступны только на уровне физической модели) Вызов дополнительной панели инструментов для работы с репозитарием Model Mart Переключение между областями модели Subject Area
Палитра
инструментов
выглядит
различно
на
разных
уровнях
отображения модели, на логическом уровне (см. рис.5) палитра инструментов имеет: Слева на право, верхний ряд: ● кнопка указателя (режим мыши) ● кнопка внесения сущности ● кнопка категории ● кнопка внесения текстового блока ● Слева на право, нижний ряд: ● Кнопка перенесения атрибутов внутри сущностей и между ними ● Кнопка создания связей: идентифицирующую, многие-ко-многим, не идентифицирующую.
Рис. 5. Палитра инструментов на логическом уровне На физическом уровне (см. рис. 3) палитра инструментов имеет:
- 16 -
● Вместо кнопки категорий кнопку
внесения представлений
● Вместо кнопки связи многие-ко-многим кнопку связи представлений
Рис. 6. Палитра инструментов на физическом уровне Рассмотрим работу ERwin на примере создание модели данных. 3.1. Постановка задачи В пункте обмена валют создается локальная информационная система, призванная автоматизировать процесс учета сделок купли – продажи валюты. Создаваемая система должна обеспечивать ввод, хранение и поиск информации о сделках, совершенных в данном пункте обмена. Каждой сделке присваивается уникальный цифровой код. Информация о сделке должна содержать сведения о дате и времени сделки, суммах покупаемой и продаваемой валют, фамилии, имени, отчестве и номере паспорта клиента, а так же о фамилии, инициалах и учетном номере личного дела кассира в отделе кадров. Система должна позволять вычислить денежный оборот за один или несколько дней , а так же осуществлять поиск информации о сделках по номеру паспорта клиента. Задача состоит
в
проектировании
структуры
баз
данных
разрабатываемой
автоматизированной ИС. 3.2.Создание логической модели БД Проведем анализ предметной области и внесем в диаграмму выявленные сущности.Для внесения сущности в модель необходимо «кликнуть» по кнопке сущности на панели инструментов (ERwin Toolbox)
затем кликнуть по
тому месту на диаграмме, где необходимо расположит новую сущность. Щелкнув правой кнопкой мыши по сущности и выбрав из всплывающего меню пункт Entity Editor, можно вызвать диалог Entity Editor (см. рис. 7), в котором определяются имя, комментарии и описание сущности.
- 17 -
Рис. 7. Внешний вид диалогового окна Entity Editor
Рис. 8. Общий вид модели с после создания сущностей
- 18 -
Каждая сущность должна быть полностью определена с помощью текстового описания в закладке Definition. Закладки Note, Note 2, Note 3, UDP служат для внесения дополнительных комментарий и определений к сущности. Следующим шагом в процессе создания логической модели должно стать определение связей между сущностями. Для создания связей между сущностями сначала составим описание данной предметной области при помощи ряда истинных высказываний на естественном языке. Любой КЛИЕНТ должен совершить одну или несколько СДЕЛОК. Каждую СДЕЛКУ должен совершить один КЛИЕНТ. Любой КАССИР может обслуживать одну или несколько СДЕЛОК, но может не обслужить и ни одной. Каждую СДЕЛКУ должен обслуживать только один КАССИР. Любая ВАЛЮТА может покупаться и продаваться при разных СДЕЛКАХ. При совершении СДЕЛКИ должна покупаться одна ВАЛЮТА и продаваться другая ВАЛЮТА. Таким образом сформируем имена связей: КЛИЕНТ совершает СДЕЛКУ. КАССИР обслуживает СДЕЛКУ. ВАЛЮТА покупается при СДЕЛКЕ. ВАЛЮТА продается при СДЕЛКЕ. Все четыре связи являются связями «один-ко-многим». Во всех четырех случаях сущность СДЕЛКА является дочерней. Все связи не идентифицирующие, т. к. любой экземпляр сущности СДЕЛКА может быть однозначно идентифицирован по коду сделки, т.е. вне зависимости от экземпляров других сущностей. Все связи, кроме первой, могут иметь мощность 0, 1 , или более. Первая связь не может иметь мощность 0, т.к. в данном случае любой человек становится КЛИЕНТОМ только тогда, когда он совершает хотя бы одну сделку.
- 19 -
Во
всех
четырех
связях родительские
сущности
не
могут
принимать пустые значения, т.к. при отсутствии хотя бы одной из родительских сущностей экземпляр сущности СДЕЛКА перестает описывать сделку по обмену валюты. Для установки связи необходимо кликнуть по кнопке связь в панели инструментов, затем указать мышью сначала на родительскую сущность, а потом на дочернюю. Задать параметры связи можно при помощи редактора связей Relationship Editor (см. рис. 9).
Рис. 9. Диалоговое окно Relationship Editor Задание ограничений ссылочной целостности, а так же указание ролей производится на закладке Rolename/ RI Action панели диалога редактора связей (см. рис. 10) после создания атрибутов.
- 20 -
Рис. 10. Диалоговое окно Relationship Editor После задания связей между сущностями диаграмма будет выглядеть следующим образом (см. рис. 11). Теперь для каждой сущности необходимо указать первичные ключи и не ключевые атрибуты. Кроме того, для некоторых, возможно, понадобится задание альтернативных ключей и инверсных входов. Рассмотрим по очереди каждую из сущностей. Сведения о клиенте должны состоять из его фамилии, имени, отчества и номера его паспорта. Очевидно, что они будут атрибутами сущности КЛИЕНТ. Первичным ключом можно было бы выбрать номер паспорта, поскольку он однозначно идентифицирует любой из экземпляров этой сущности. Однако номер паспорта не является числом, т.к. кроме цифр, содержит и буквы , и , следовательно для его хранения будет использоваться строка минимум из 13 символов, что не совсем удобно. Поэтому введем для каждого клиента уникальный номер, который и будет первичным ключом. А атрибут «номер паспорта клиента»
- 21 -
сделать
альтернативным
ключом, чтобы
обеспечить
возможность
быстрого поиска информации о сделках по его значениям, согласно заданию.
Рис. 11. Вид логической модели после задания связей Сведения о кассире должны включать фамилию, инициалы и учетный номер кассира – они и будут атрибутами сущности КАССИР. Поскольку учётный номер личного дела кассира может содержать не только цифры, как и в предыдущем случае, введём для каждого экземпляра уникальный номер, который и будет первичным ключом. По тем же соображениям сущность ВАЛЮТА будет содержать два атрибута: код валюты и название валюты, первый из которых будет первичным ключом. Что касается сущности СДЕЛКА, то часть атрибутов она унаследует от родительских сущностей и остаётся лишь добавить следующие: «дата сделки», «время сделки», «сумма покупаемой валюты» и «сумма продаваемой валюты». Очевидно, что первичным ключом, следует выбрать уникальный цифровой код сделки. Поскольку в задании сказано, что создаваемая система должна позволять вычислить денежный оборот за один или несколько дней, полезно
- 22 -
было бы сделать атрибут «дата сделки» инверсным выходом, т.к. он довольно часто будет использоваться для доступа к данным. Для задания первичных ключей и атрибутов используется редактор атрибутов. Для его вызова кликните правой кнопкой мыши на сущности и выберите пункт Attribute Editor (см. рис. 12).
Рис. 12. Диалоговое окно Attribute Editor Для задания альтернативных ключей и инверсных входов следует воспользоваться редактором ключей. Переход в него осуществляется, так же как и редактор атрибутов. Для вызова данного редактора кликните правой кнопкой мыши на сущности и выберите пункт Key Group Editor. В открывшимся диалоговом окне (см. рис. 13) нажмите кнопку New.
- 23 -
Рис. 13. Диалоговое окно New Key Group В открывшимся диалоговом окне задайте атрибуты и нажмите ОК. Выберите созданный альтернативный ключ и при помощи клавиши добавьте составляющие его атрибуты. Нажмите ОК.
Рис. 14. Диалоговое окно Key Group Editor
- 24 -
На этом процесс логического моделирования заканчивается, а сама модель приобретает вид, представленный на рис. 15.
Рис. 15. Общий вид логической модели 3.3. Создание физической модели БД и генерация схемы БД. Перед тем как преступить к созданию физической модели, необходимо выбрать сервер СУБД. Для этого необходимо переключиться на физическую модель и выбрать пункт меню Server/Target Server. Затем выбрать необходимый сервер СУБД. Вид панели диалога Target Server представлен на рис. 16.
- 25 -
Рис. 16. Диалоговое окно Target Server Диалог Target Server позволяет задать тип данных и опцию NULL для новых колонок, а так же правила ссылочной целостности, принимаемые по умолчанию. Напомним, что на уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту – колонка таблицы, связи – внешний ключ, первичным и альтернативным ключам – уникальные индексы, а инверсным входам не уникальные. Поскольку логическая модель разрабатывалась на русском языке, то имена таблиц, колонок и индексов необходимо задать на английском языке. Кроме того для каждой колонки необходимо указать тип данных , возможность пустых значений и т.п. Для создания английских имен таблиц необходимо воспользоваться редактором таблиц (см. рис.17), для остальных манипуляций – редактором колонок (см. рис. 18).
- 26 -
Рис. 17. Диалоговое окно редактора таблиц
Рис. 18. Диалоговое окно редактора колонок После того как будут выполнены все действия физическая модель приобретет следующий вид (см. рис. 19).
- 27 -
Рис. 19. Общий вид физической модели Последним шагом является генерация схемы БД. Для этого в необходимо выбрать пункт меню Task/Forward Engineer/ Schema Generation… Все необходимые
параметры
генерации
схемы
БД
можно
задать
на
предназначенной для этого панели диалога Access Schema Generation (см. рис. 20). Нажатие кнопки Preview позволяет посмотреть код, который будет создан автоматически ERwin (см. рис. 21). Генерация схемы БД запускается нажатием кнопки Generate.
- 28 -
Рис. 20. Диалоговое окно Access Schema Generation
- 29 -
Рис. 21. Окно просмотра программного кода
- 30 -
4. Порядок выполнения работы В качестве исходной информации к заданию выступает конкретно определенная преподавателем предметная область, для которой создается модель экономического или производственного процесса. 4.1
Создание
модели
экономического
или
производственного
процесса 1. Изучить методику моделирования при помощи ERwin, приведенную в п. 2; 2. Провести анализ данных, полученных в п. 4: ● определить цели моделирования ● определить сущности ● определить связи и атрибуты сущностей ● определить наличие альтернативных ключей 3. Построить логическую информационную модель экономического или производственного процесса на основе проведенного выше анализа. 4. Построить физическую модель и сгенерировать схему БД.. 5. Требования к отчету Отчет по лабораторной работе должен содержать: 1. титульный лист; 2. условия задания; 3. ответы на контрольные вопросы. 6. Контрольные вопросы 1. Обоснуйте необходимость использования CASE-средств для моделирования экономических и производственных процессов. 2. Что представляет собой модель системы в нотации IDEF1Х? 3. Назовите все возможные типы моделей, используемых при проектировании информационных систем. 4. Перечислите этапы экспертизы модели. 5. Какие виды связей существуют в модели, построенной с использованием ERwin? 6. Как проводится генерация схемы БД в ERwin?
- 31 -
Список литературы 1. Корнеев В.В., Гарев А.Ф., Васютин С.В., Райх В.В. Базы данных. Интеллектуальная обработки информации. - М.: «Нолидж», 2000. – 352с., ил. 2.
Маклаков
С.В.
BPWin
и
ERwin.
CASE-средства
информационных систем. – М.: ДИАЛОГ-МИФИ, 1999. – 256 с.
разработки
- 32 -
Составители:
КУЛИКОВ Геннадий Григорьевич НИКУЛИНА Наталья Олеговна СТАРЦЕВА Елена Борисовна АЛЬКИН Алексей Юрьевич
МОДЕЛИРОВАНИЕ ЭКОНОМИЧЕСКИХ И ПРОИЗВОДСТВЕННЫХ ПРОЦЕССОВ ПРЕДПРИЯТИЙ С ИСПОЛЬЗОВАНИЕМ CASEСРЕДСТВА ERWIN
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторным работам по курсу «Технико-экономический анализ деятельности предприятий»