Текст книги "BPwin и Erwin. CASE-средства для разработки информационных систем"
Автор книги: Сергей Маклаков
Жанр:
Базы данных
сообщить о нарушении
Текущая страница: 5 (всего у книги 14 страниц)
Имитационное моделирование – это метод, позволяющий строить модели, учитывающие время выполнения функций. Полученную модель можно «проиграть» во -времени и получить статистику происходящих процессов так, как это было бы в реальности. В имитационной модели изменения процессов и данных ассоциируются с событиями. «Проигрывание» модели заключается в последовательном переходе от одного события к другому. Обычно имитационные модели строятся для поиска оптимального решения в условиях ограничения по ресурсам, когда другие математические модели оказываются слишком сложными (рис. 1.56).
Рис. 1.56. Пример имитационной модели
Связь между имитационными моделями и моделями процессов заключается в возможности преобразования модели процессов в неполную имитационную модель. Имитационная модель дает больше информации для анализа системы, в свою очередь результаты такого анализа могут стать причиной модификации модели процессов (рис. 1.57).
Рис. 1.57. Фрагмент диаграммы IDEF3, соответствующий имитационной модели с рис. 1.56
Имитационная модель включает следующие основные элементы:
Источники и цели (Bourses и Destinations). Источники – это элементы, от которых в модель поступает информация или объекты. По смыслу они близки к понятиям "внешняя ссылка" на DFD-диаграМмах или "объект ссылки" на диаграммах IDEF3. Скорость поступления данных или объектов от источника обычно задается статистической функцией. Цель – это устройство для приема информации или объектов.
Очереди (Queues). Понятие очереди близко к понятию хранилища данных на DFD-диаграммах – это место, где объекты ожидают обработки. Времена обработки объектов (производительность) в разных работах могут быть разными (например, "Загрузка из бункера", "Наполнение", "Закупорка", см. рис. 1.56, 1.57). В результате перед некоторыми работами могут накапливаться объекты, ожидающие своей очереди. Часто целью имитационного моделирования является минимизация количества объектов в очередях. Тип очереди в имитационной модели может быть конкретизирован. Очередь может быть похожа на стек – пришедшие последними в очередь объекты первыми отправляются на дальнейшую обработку (LIFO: last-in-first-out). Альтернативой стеку может быть последовательная обработка, когда первыми на дальнейшую обработку отправляются объекты, пришедшие первыми (FIFO: first -in-first-out). Могут быть заданы и более сложные алгоритмы обработки очереди.
Оборудование (Facilities). Оборудование – это аналог работ в модели процессов. В имитационной модели может быть задана производительность оборудования.
BPwin не имеет собственных инструментов, позволяющих создавать имитационные модели, однако можно экспортировать модель IDEF3 в специализированное средство создания таких моделей – BPSimulator 3.0 (производитель – Systems Modeling Corporation, http://www.sm.com).
Для экспорта модели в BPSimulator необходимо настроить ODBC-источник и подготовить модель к экспорту. Для подготовки модели необходимо настроить свойства, определяемые пользователем UDP, специально включенные в BPwin для целей экспорта. Соответствующие UDP описаны в файле sinudps.bpl, который находится в директории samples/bpsim и является шаблоном модели, предназначенной для экспорта. Для использования этих свойств необходимо слить словари модели – шаблона sinudps.bpl и текущей модели. Задание соответствующих UDP (диалог IDEF3 Activity Properties, закладка UDP Values, см. рис. 1.58) позволяет автоматически установить значения и свойства объектов имитационной модели в BPSimulator.
Рис. 1.58. Диалог задания свойств, определяемых пользователем для экспорта в BPSimulator
Для экспорта модели IDEF3 в BPSimulator следует выбрать меню File/Export/в BPSimulator. Экспорт осуществляется через файл MS Excel (.xls). Для импорта данных в BPSimulator необходимо открыть новую модель и импортировать соответствующий файл.
2. Создание модели данных с помощью ERwin
2.1. Отображение модели данных в ERwin
2.1.1. Физическая и логическая модель данныхERwin имеет два уровня представления модели – логический и физический. Логический уровень - это абстрактный взгляд на данные, на нем данные представляются так, как выглядят в реальном мире, и могут называться так, как они называются в реальном мире, например «Постоянный клиент», «Отдел» или «Фамилия сотрудника». Объекты модели, представляемые на логическом уровне, называются сущностями и атрибутами (подробнее о сущностях и атрибутах будет рассказано ниже). Логическая модель данных может быть построена на основе другой логической модели, например на основе модели процессов (см. гл. 1). Логическая модель данных является универсальной и никак не связана с конкретной реализацией СУБД.
Физическая модель данных, напротив, зависит от конкретной СУБД, фактически являясь отображением системного каталога. В физической модели содержится информация о всех объектах БД. Поскольку стандартов на объекты БД не существует (например, нет стандарта на типы данных), физическая модель зависит от конкретной реализации СУБД. Следовательно, одной и той же логической модели могут соответствовать несколько разных физических моделей. Если в логической модели не имеет значения, какой конкретно тип данных имеет атрибут, то в физической модели важно описать всю информацию о конкретных физических объектах – таблицах, колонках, индексах, процедурах и т. д. Разделение модели данных на логические и физические позволяет решить несколько важных задач.
Документирование модели. Многие СУБД имеют ограничение на именование объектов (например, ограничение на длину имени таблицы или запрет использования специальных символов – пробела и т. п.). Зачастую разработчики ИС имеют дело с нелокализованными версиями СУБД. Это означает, что объекты БД могут называться короткими словами, только латинскими символами и без использования специальных символов (т. е. нельзя назвать таблицу предложением – только одним словом). Кроме того, проектировщики БД нередко злоупотребляют «техническими» наименованиями, в результате таблица и колонки получают наименования типа RTD_324 или CUST_A12 и т. д. Полученную в результате структуру могут понять только специалисты (а чаще всего только авторы модели), ее невозможно обсуждать с экспертами предметной области. Разделение модели на логическую и физическую позволяет решить эту проблему. На физическом уровне объекты БД могут называться так, как того требуют ограничения СУБД. На логическом уровне можно этим объектам дать синонимы – имена более понятные неспециалистам, в том числе на кириллице и с использованием специальных символов. Например, таблице CUST_A12 может соответствовать сущность Постоянный клиент. Такое соответствие позволяет лучше задокументировать модель и дает возможность обсуждать структуру данных с экспертами предметной области.
Масштабирование. Создание модели данных, как правило, начинается с создания логической модели. После описания логической модели, проектировщик может выбрать необходимую СУБД и ERwin автоматически создаст соответствующую физическую модель. На основе физической модели ERwin может сгенерировать системный каталог СУБД или соответствующий SQL-скрипт. Этот процесс называется прямым проектированием (Forward Engineering). Тем самым достигается масштабируемость – создав одну логическую модель данных, можно сгенерировать физические модели под любую поддерживаемую ERwin СУБД. С другой стороны, ERwin способен по содержимому системного каталога или SQL-скрипту воссоздать физическую и логическую модель данных (Reverse Engineering). На основе полученной логической модели данных можно сгенерировать физическую модель для другой СУБД и затем сгенерировать ее системный каталог. Следовательно, ERwin позволяет решить задачу по переносу структуры данных с одного сервера на другой. Например, можно перенести структуру данных с Oracle на Informix (или наоборот) или перенести структуру dbf-файлов в реляционную СУБД, тем самым облегчив решение по переходу от файл-серверной к клиент-серверной ИС. Заметим, однако, что формальный перенос структуры «плоских» таблиц на реляционную СУБД обычно неэффективен. Для того чтобы извлечь выгоды от перехода на клиент-серверную технологию, структуру данных следует модифицировать. Процессы прямого и обратного проектирования будут рассмотрены ниже.
Для переключения между логической и физической моделью данных служит список выбора в левой части панели инструментов Erwin (рис. 2.1).
Рис. 2.1. Переключение между логической и физической моделью
При переключении, если физической модели еще не существует, она будет создана автоматически.
2.1.2. Интерфейс ERwin. Уровни отображения модели
Интерфейс выполнен в стиле Windows-приложений, достаточно прост и интуитивно понятен. В дальнейшем будет описан интерфейс версии Erwin 3.5.2. Рассмотрим кратко основные функции ERwin по отображению модели, а также панель и палитру инструментов. Более подробно элементы интерфейса будут рассмотрены в последующих главах. Элементы панели инструментов описаны в табл. 2.1.
Таблица 2.1. Основная панель инструментов
Кнопки | Назначение кнопок |
Создание, открытие, сохранение и печать модели | |
Вызов диалога Report Browser для генерации отчетов | |
Изменение уровня просмотра модели: уровень сущностей, уровень атрибутов и уровень определений | |
Изменение масштаба просмотра модели | |
Генерация схемы БД, выравнивание схемы с моделью и выбор сервера (доступны только на уровне физической модели) | |
Вызов дополнительной панели инструментов для работы с репозиторием Model Mart. (Работа с Model Mart рассмотрена в гл. 4) | |
Переключение между областями модели – Subject Area |
Палитра инструментов выглядит различно на разных уровнях отображения модели. На логическом уровне (рис. 2.2) палитра инструментов имеет:
1. Слева направо, верхний ряд:
кнопку указателя (режим мыши) – в этом режиме можно установить фокус на каком-либо объекте модели;
кнопку внесения сущности – для внесения сущности нужно щелкнуть левой кнопкой мыши по кнопке внесения сущности и один раз по свободному пространству на модели. Повторный щелчок приведет к внесению в модель еще одной новой сущности. Для редактирования сущностей или других объектов модели необходимо перейти в режим указателя;
кнопку категории. Категория, или категориальная связь, – специальный тип связи между сущностями, которая будет рассмотрена ниже. Для установления категориальной связи нужно щелкнуть левой кнопкой мыши по кнопке категории, затем один раз щелкнуть по сущности – родовому предку, затем – по сущности-потомку;
кнопку внесения текстового блока. С ее помощью можно внести текстовый комментарий в любую часть графической модели.
2. Слева направо, нижний ряд:
кнопку перенесения атрибутов внутри сущностей и между ними. Атрибуты могут быть перемещены способом drag&drop;
кнопки создания связей: идентифицирующую, "многие-ко-многим" и неидентифицирующую.
Рис. 2.2. Палитра инструментов на логическом уровне
На физическом уровне (рис. 2.3) палитра инструментов имеет:
вместо кнопки категорий (третья справа кнопка в верхнем ряду) кнопку внесения представлений (view);
вместо кнопки связи "многие-ко-многим" (третья справа кнопка в нижнем ряду) кнопку связей представлений.
Для создания моделей данных в ERwin можно использовать две нотации: IDEF1X и IE (Information Engineering). Методология IDEF1X была разработана для армии США и широко используется в государственных учреждениях США, финансовых и промышленных корпорациях. Методология IE, разработанная Мартином (Martin), Финкельштейном (Finkelstein) и другими авторами, используется преимущественно в промышленности. Переключение между нотациями можно сделать в закладке Methodology диалога Preferences (меню Option/Preferences) (рис. 2.4). В дальнейшем будет использоваться нотация IDEF1X.
Рис. 2.3. Палитра инструментов на физическом уровне
Рис. 2.4. Переключение между нотациями
ERwin имеет несколько уровней отображения диаграммы: уровень сущностей, уровень атрибутов, уровень определений, уровень первичных ключей и уровень иконок. Переключиться между первыми тремя уровнями можно с использованием кнопок панели инструментов. Переключиться на другие уровни отображения можно при помощи контекстного меню, которое появляется, если «кликнуть» по любому месту диаграммы, не занятому объектами модели. В контекстном меню следует выбрать пункт Display Level и затем необходимый уровень отображения. ERwin позволяет связать с сущностью большую и малую иконки. При переключении на уровень иконок показывается большая иконка. Для отображения малой иконки следует выбрать в контекстном меню пункт Display Options/Entities и в каскадном меню включить опцию Entity Icon. Малая иконка будет показана слева от имени сущности на всех .уровнях отображения модели. В табл. 2 2 показаны уровни отображения модели.
Таблица 2.2. Уровни отображения модели
Установка цвета и шрифта. Установить шрифт и цвет объектов в ERwin можно несколькими способами. Во-первых, для установки цвета и шрифта объекта служит панель инструментов Font and Color Toolbar, которая располагается под основной панелью. Значение каждого элемента приведено в табл. 2.3.
Таблица 2.3. Панель инструментов Font and Color Toolbar
Выбор наименования шрифта | |
Выбор размера шрифта | |
Выбор стиля шрифта | |
Выбор цвета символов | |
Выбор цвета заливки | |
Выбор цвета линий |
Для редактирования шрифта и цвета конкретного объекта следует, щелкнув правой кнопкой мыши по сущности или связи и выбрав из всплывающего меню пункт Object Font/Color, вызвать диалог Font/Color Editor, в котором определяются имя, описание и комментарии сущности. Диалог Font/Color Editor имеет три закладки, в которых можно выбрать шрифт и установить его размер, стиль и цвет (закладка Text), установить цвет заливки (закладка Fill, только для сущностей) и цвет линий (закладка Entity Outline, только для сущностей).
Имеется возможность изменить шрифт и цвет для всех объектов модели или для какой-либо отдельной категории объектов. Для этого служит диалог All Default Font/Color Editor (пункт меню Option/Default Font/Color). Каждая закладка на диалоге (рис. 2.5) позволяет редактировать шрифт и цвет для определенной категории объектов:
All Fonts – все объекты модели;
Entity Name – имена сущностей и таблиц;
Entity Definition – определение сущностей и таблиц (показываются на уровне определений, см. табл. 2.2);
Relationship – связи, включая имя и обозначение мощности;
Subtype – иерархия категорий, включая дискриминатор категории;
Text Block Text – текстовые блоки;
Page Number – номер страницы при печати диаграммы;
Owned Entity Attributes – атрибуты и колонки, за исключением атрибутов и колонок внешних ключей;
Foreign Key – атрибуты и колонки внешних ключей;
Background Color – цвет фона диаграммы;
Entity Line – линии, которыми прорисовываются сущности и таблицы;
Entity Fill – заливка сущностей и таблиц;
Subtype Fill – заливка символов, обозначающих категории.
Рис. 2.5. Диалог АН Default Font/Color Editor
Иногда при работе Erwin3.X под операционной системой Windows NT в модели «расплываются» надписи – названия сущностей, атрибутов и комментариев. Эта ошибка связана с некорректной настройкой регистров Windows.
Имеется два способа борьбы с расплывающимися надписями при работе с Erwin3.X под NT:
1. При работе использовать заранее подготовленный шаблон. Для этого следует создать новый проект (НЕ ВКЛЮЧАЯ В НЕГО НОВЫЕ СУЩНОСТИ), установить шрифты, работающие корректно при прямом внесении сущностей (подбираются экспериментально), – Option/default font/color/All Fonts/All Objects и сохранить модель как шаблон – File/SaveAs/Files of Type/ERwin Template. При Reverse Engineering в качестве шаблона необходимо выбрать не стандартный шаблон, а вновь созданный.
2. Редактирование регистров NT. В разделе
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentWersion/FontMapper
следует установить 204-ю таблицу – DEFAULT 0X000000cc (204).
В разделе
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentWersion/FontSubstitutes
следует для всех стандартных шрифтов установить ссылку на 204-ю таблицу, например:
Arial,0 "Arial,204"
2.1.3. Подмножества модели и сохраняемые отображения
При создании реальных моделей данных количество сущностей и атрибутов может исчисляться сотнями. Для более удобной работы с большими моделями в ERwin предусмотрены подмножества модели (Subject Area), в которые можно включить тематически общие сущности. В подмножество модели может входить произвольный набор сущностей, связей и текстовых комментариев. Для создания, удаления или редактирования подмножеств модели нужно вызвать диалог Subject Area Editor (меню Edit/Subject Area), в котором указывается имя подмножества и входящие в нее сущности (рис. 2 6) Все изменения, сделанные в любой Subject Area, автоматически отображаются на общей модели. Одна и та же сущность может входить в несколько Subject Area.
Рис. 2.6. Диалог Subject Area Editor
По умолчанию исходная модель получает имя Main Subject Area. При создании нового подмножества следует в диалоге Subject Area Editor указать ее имя и список входящих в него объектов. Для включения сущности в Subject Area нужно выбрать ее в левом списке диалога и щелкнуть по кнопке . Сущность можно переместить в Subject Area вместе со всеми связанными с ней сущностями. Для этого следует воспользоваться кнопкой , причем можно задать уровень взаимосвязи (рис. 2.7) как для сущностей-потомков (Descedants), так и для сущностей-предков (Ancestors).
Рис. 2.7. Диалог задания уровня перемещения сущностей
Например, если в модели сущность Клиент связана с сущностью Заказ, а та в свою очередь с сущностью Предмет заказа, то при перемещении сущности Клиент со связанными сущностями уровня 2 (потомки) будут перемещены все три сущности.
ERwin позволяет разбить модель на несколько Subject Area, каждая из которых может соответствовать определенной задаче, например финансовой, производственной, маркетинговой и т. д. Для перехода от одного подмножества к другому служит список выбора на панели инструментов (см. табл. 2.1). Subject Area можно создавать как в логической, так и в физической модели данных.
Хранимое отображение (Stored Display) – представление подмножества модели, отображающее специфический аспект структуры данных. Одна Subject Area может включать в себя несколько хранимых отображений. В хранимое отображение входят те же самые сущности и связи, что и в Subject Area, но они могут по-разному располагаться на экране, иметь разные уровни (см: табл. 2.2), различный масштаб и цвет объектов или фона.
Для создания хранимого отображения служит диалог Stored Display Editor (меню Edit/Stored Display).
При определении нового хранимого отображения следует задать его имя, автора, описание и свойства как для логической, так и для физической модели.
При создании Subject Area в нее могут не входить либо родительская, либо дочерняя сущность. По умолчанию связи с сущностями, которые не вошли в Subject Area ("висящие связи"), не показываются. Для отображения таких связей следует включить опцию Show Dangling Relationship в закладке General диалога Stored Display Editor (рис. 2.8).
Хранимое отображение позволяет отобразить линии связей не только ортогональными, но и диагональными. Для представления связей диагональными линиями следует в закладке General выбрать опцию Diagonal (по умолчанию установлена опция Orthogonal).
Рис. 2.8. Диалог Stored Display Editor
Для переключения между хранимыми отображениями служат закладки в нижней части диаграммы (рис. 2.9).
Рис. 2.9. Переключение между хранимыми отображениями
2.2. Создание логической модели данных
2.2.1. Уровни логической моделиРазличают три уровня логической модели, отличающихся по глубине представления информации о данных:
диаграмма сущность-связь (Entity Relationship Diagram, ERD);
модель данных, основанная на ключах (Key Based model, KB);
полная атрибутивная модель (Fully Attributed model, FA).
Диаграмма сущность-связь представляет собой модель данных верхнего уровня. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности и связи между ними, которые удовлетворяют основным требованиям, предъявляемым к ИС. Диаграмма сущность-связь может включать связи многие-ко-многим и не включать описание ключей. Как правило, ERD используется для презентаций и обсуждения структуры данных с экспертами предметной области.
Модель данных, основанная на ключах, - более подробное представление данных. Она включает описание всех сущностей и первичных ключей и предназначена для представления структуры данных и ключей, которые соответствуют предметной области.
Полная атрибутивная модель - наиболее детальное представление структуры данных: представляет данные в третьей нормальной форме и включает все сущности, атрибуты и связи.