Функциональная модель BPwin является основой для построения модели данных. Действительно, не имея информации о том, как работает предприятие, бессмысленно строить модель данных. Для построения модели данных удобно использовать специализированное средство фирмы Computer Associates -ERwin 4.0. К сожалению, процесс преобразования модели BPwin в модель данных плохо формализуется и поэтому не автоматизирован. Модель данных, как правило, создается вручную в среде ERwin, при этом функциональная модель используется как проектная документация.
После разработки модели данных ее следует связать с моделью процессов. Такая связь гарантирует завершенность анализа, гарантирует, что есть источник данных (сущность) для всех потребностей данных (работа). Связи объектов способствуют согласованности, корректности и завершенности анализа.
Стрелки в модели процессов (BPwin) обозначают некоторую информацию, использующуюся в моделируемой системе. В ERwin на логическом уровне модели данных информация отображается в виде сущностей (соответствуют таблицам на физическом уровне), состоящих из атрибутов сущностей (соответствуют колонкам таблицы).
На диаграммах ERwin сущности показываются в виде прямоугольников. Имеется несколько уровней представления модели. На уровне сущностей имя сущности показывается внутри прямоугольника (рис. 3.1.1).
Рис. 3.1.1. Фрагмент модели данных в нотации IDEF1X (уровень сущностей)
На уровне атрибутов имя сущности показано над прямоугольником, атрибуты сущности показываются в виде списка внутри прямоугольника (рис. 3.1.2).
Рис. 3.1.2. Фрагмент модели данных в нотации IDEF1X (уровень атрибутов)
Сущности состоят из совокупности отдельных записей - экземпляров сущностей (соответствуют записям в таблице). К модели данных предъявляются определенные требования (нормализация данных), которые призваны обеспечить компактность и непротиворечивость хранения данных. Основная идея нормализации данных - каждый факт должен храниться в одном месте. Это приводит к тому, что информация, которая моделируется в виде одной стрелки в модели процессов, может содержаться в нескольких сущностях и атрибутах в модели данных. Кроме того, на диаграмме модели процессов могут присутствовать различные стрелки, изображающие одни и те же данные, но на разных этапах обработки (например, необработанные детали - обработанные детали - собранное изделие). Информация о таких стрелках находится в одних и тех же сущностях. Следовательно, одной и той же стрелке в модели процессов могут соответствовать несколько сущностей в модели данных и, наоборот, одной сущности может соответствовать несколько стрелок.
Стрелке в модели процессов может соответствовать отдельная сущность в модели данных. Так, стрелке "Части" на рис. 3.1.3 соответствует сущность "Часть", стрелке "Конечные продукты" - сущность "Продукт".
Информация о стрелке может содержаться только в нескольких атрибутах сущности. Разным атрибутам одной и той же сущности могут соответствовать разные стрелки. На рис. 3.1.4 стрелка "Новая часть" соответствует атрибутам "Номер части" и "Название части", стрелка "Наличное количество" - атрибутам "Количество".
Рис. 3.1.4. Преобразование стрелки в атрибут
Работы в модели процессов могут создавать или изменять данные, которые соответствуют входящим или выходящим стрелкам. Они могут воздействовать как целиком на сущности (создавая или модифицируя экземпляры сущности, рис. 3.1.5), так и на отдельные атрибуты сущности (рис. 3.1.6).
Рис. 3.1.5. Воздействие работы на сущность
BPwin позволяет связывать элементы модели данных, созданной с помощью ERwin, документировать влияние работ на данные и тем самым позволяет создать спецификации на права доступа к данным для каждого процесса (см. ниже).
Рис. 3.1.6. Воздействие работы на атрибуты
Первым шагом связывания модели данных и модели процессов является экспорт данных из ERwin в BPwin. Для успешного связывания моделей необходимо, чтобы версии ERwin в BPwin соответствовали друг другу. Ниже рассмотрен экспорт и импорт моделей в ERwin 4.0 и BPwin 4.O.
Существует два способа связывания объектов модели данных и модели процессов:
Экспорт и импорт через файлы формата .ЕАХ - .ВРХ.
Синхронизация моделей, хранящихся в репозитории ModelMart.
Рассмотрим первый способ связывания моделей.
Для экспорта модели данных из ERwin в BPwin необходимо в ERwin открыть модель (рис. 3.2.1) и выбрать пункт меню File/Export/BPwin. В появившемся диалоге необходимо выбрать имя файла *.еах и нажать ОК.
Рис. 3.2.1. Модель данных, открытая в ERwin 4.0
Затем в BPwin нужно открыть модель процесса, выбрать в меню пункт File/Import/ERwin (ЕАХ), выбрать имя файла и нажать ОК. Появится диалог Import Differences Preview, в котором показывается протокол импорта (рис. 3.2.2). Для внесения данных в модель процесса следует щелкнуть по кнопке Accept. Кнопка Cancel отменяет импорт.
Рис. 3.2.2. Диалог Import Differences Preview
После внесения данных в модель процессов можно связать сущности и атрибуты со стрелками. Правой кнопкой мыши нужно щелкнуть по стрелке и выбрать в контекстном меню Arrow Data.
Появляется вкладка Arrow Data диалога Arrow Properties (рис. 3.2.3).
Рис. 3.2.3. Вкладка Arrow Data диалога Arrow Property
Для связывания атрибута со стрелкой достаточно щелкнуть по иконке выбора Ц в иерархическом списке атрибутов. При этом сущность автоматически связывается со стрелкой. Каждая стрелка в модели процессов может быть связана с несколькими атрибутами различных сущностей.
Кнопка Copy In позволяет копировать связанные данные из другой стрелки.
Кнопка Clear - все связи стрелки с данными.
Кнопка Migrate вызывает диалог Changes to Arrow Data Associations, в котором отображаются данные, мигрирующие от дочерних к родительским стрелкам (для разветвляющихся и сливающихся стрелок). При миграции возможны изменения связывания данных:
Deletions - если данные связаны с родительской стрелкой, но не связаны с дочерней, связи с родительской стрелкой удаляются;
Additions - если данные связаны с дочерней стрелкой и не связаны с родительской, добавляется связь с родительской стрелкой.
Для подтверждения изменений в диалоге Changes to Arrow Data Дввоыайопз следует щелкнуть по кнопке ОК. Миграция возможна только в моделях IDEF0 и DFD.
Как было указано выше, работы могут воздействовать на данные. Для документирования такого воздействия необходимо щелкнуть правой кнопкой мыши по работе и выбрать пункт меню Data Usage Editor (рис. 3.2.4).
Рис. 3.2.4. Диалог BPwin Data Usage Editor
В появившемся диалоге Data Usage Editor в виде иерархического списка показываются все работы модели, стрелки, которые касаются работ, сущности и атрибуты, которые были связаны со стрелками. В верхнем списке нужно щелкнуть по имени стрелки, с которой были связаны сущности и атрибуты. Для задания ассоциации достаточно щелкнуть по окну "О в иерархическом списке.
Для сущностей задается ассоциация CRUD (Create, Read, Update, Delete), Для атрибутов - IRUN (Insert, Read, Update, Nullify). Ассоциации CRUD и IRUN - это правила использования сущностей и атрибутов работами, т. е. то, что могут делать работы с входящими или исходящими данными. Данные не могут использоваться работами произвольно. Стрелки входа представляют данные, которые работа преобразует в выход или потребляет.
Такие данные могут быть обновлены (Update) или прочитаны (Read) но не могут быть созданы (Create, Insert) или удалены (Delete, Nullify)' Данные, связанные со стрелками управления, могут быть только прочитаны (Read), но не могут быть изменены - процедуры и стратегии не могут изменяться в работе. Данные, связанные со стрелками выхода, могут быть обновлены (если им соответствуют данные стрелок входа), удалены (Delete, Nullify) или созданы (Create, Insert). Для стрелок механизма ассоциации не устанавливаются.
Результат связывания объектов модели процессов можно отобразить в отчете Data Usage Report (меню Report/Data Usage Report). Ниже приведен пример такого отчета.
Arrow Name Entity Name C _R _U _DAttribute NameI _R_ U_ N
ДеталиЧастьU DВес частиU N
U DКоличествоU N
U DНазвание частиU
U DНомер частиU
Если в процессе связывания стрелок с объектами модели данных окажется, что каких-либо сущностей или атрибутов не хватает, их можно добавить прямо в BPwin, а затем экспортировать в ERwin.
Для редактирования сущностей следует выбрать пункт меню Dictionary/Entity. Появляется диалог Entity Dictionary (рис. 3.3.1) - словарь сущностей. Интерфейс словаря сущностей полностью аналогичен интерфейсу словаря стрелок, описанному в 1.2. Для экспорта в ERwin в словаре Entity Dictionary следует создать новую сущность, которая может быть использована для ассоциации со стрелками сразу же после создания (до экспорта в ERwin).
Рис. 3.3.1. Диалог Entity Dictionary
Для редактирования атрибутов предварительно созданных сущностей служит словарь атрибутов (пункт меню Dictionary /Entity /Attribute).
Колонка Entity диалога Attribute Dictionary служит для связывания созданного атрибута с сущностью (рис. 3.3.2). В раскрывающемся списке, который появляется, когда фокус установлен на поле Entity таблицы, показываются только те сущности, которые созданы в диалоге Entity Dictionary или импортированы из ERwin.
Рис. 3.3.2. Диалог Attribute Dictionary
После описания сущностей или атрибутов следует сохранить данные и выйти из словаря.
Для экспорта данных в BPwin следует выбрать меню File/Export/ ERwin 4.0 (ВРХ) и указать файл, в который будет выгружена информация о модели.
В ERwin следует выбрать меню File/Import/BPwin и указать файл ВРХ, в который была выгружена информация о модели.
Возникает диалог ERwin/BPwin Import (рис. 3.3.3), в котором отображаются:
сущности и атрибуты, имеющиеся в ВРХ-файле, но отсутствующие в модели ERwin (верхнее окно - Entities/Attributes available to be imperted);
имена работ, ассоциированных с сущностями и атрибутами, на основе которых будут созданы предметные области (Subject Area) модели данных.
В примере на рис. 3.3.3 сущность "Клиент", атрибуты "Фамилия", "Имя" и "Адрес" будут импортированы из ВРХ- файла в модель ERwin.
После щелчка по кнопке Import запускается процесс импорта ВРХ-файла. Импортированная сущность (на рис. 3.3.4 - сущность "Клиент") размещается в левом верхнем углу диаграммы ERwin. Она не имеет первичного ключа и не связана с другими сущностями. Назначение атрибутов первичным ключом и связывание сущностей можно провести только средствами ERwin; другими словами, сущности и атрибуты, созданные в BPwin и затем импортированные в ERwin, можно рассмат ривать как заготовку для создания полноценной .модели данных, а не как готовую модель.
Рис. 3.3.4. Модель данных после импорта сущности "Клиент"