Добавлен: 15.11.2018
Просмотров: 701
Скачиваний: 9
Лабораторная работа N 5
Связывание модели процессов и модели данных
Задание. Связать модель процессов и модель данных
Теоретические сведения
1. Соответствие модели данных и модели процессов
После разработки модели данных ее следует связать с моделью процессов. Такая связь гарантирует завершенность анализа, гарантирует, что есть источник данных (сущность) для всех потребностей данных (работа). Связи объектов способствуют согласованности, корректности и завершенности анализа.
Стрелки в модели процессов (BPwin) обозначают некоторую информацию, использующуюся в моделируемой системе. В ERwin на логическом уровне модели данных информация отображается в виде сущностей (соответствуют таблицам на физическом уровне), состоящих из атрибутов сущностей (соответствуют колонкам таблицы). Сущности состоят из совокупности отдельных записей - экземпляров сущностей (соответствуют записям в таблице). К модели данных предъявляются определенные требования (нормализация данных, см. гл. 2.2.6), которые призваны обеспечить компактность и непротиворечивость хранения данных. Основная идея нормализации данных - каждый факт должен храниться в одном месте. Это приводит к тому, что информация, которая моделируется в виде одной стрелки в моде ли процессов, может содержаться в нескольких сущностях и атрибутах в модели данных. Кроме того, на диаграмме модели процессов могут присутствовать различные стрелки, изображающие одни и те же данные, но на разных этапах обработки (например, необработанные детали -обработанные детали - собранное изделие). Информация о таких стрелках находится в одних и тех же сущностях. Следовательно, одной и той же стрелке в модели процессов могут соответствовать несколько сущностей в модели данных и, наоборот, одной сущности может соответствовать несколько стрелок.
Стрелке в модели процессов может соответствовать отдельная сущность в модели данных. Так, стрелке "Части" на рис. 1 соответствует сущность "Часть", стрелке "Конечные продукты" - сущность "Продукт".
Информация о стрелке может содержаться только в нескольких атрибутах сущности. Разным атрибутам, одной и той же сущности могут соответствовать разные стрелки. На рис. 3.2 стрелка "Новая часть" соответствует атрибутам "Номер части" и "Название части", стрелка "Наличное количество" - атрибутам "Количество".
Рис. 1. Преобразование стрелки в сущность
Рис.2. Преобразование стрелки в атрибут
Работы в модели процессов могут создавать или изменять данные, которые соответствуют входящим или выходящим стрелкам. Они могут воздействовать как целиком на сущности (создавая или модифицируя экземпляры сущности, рис. 3), так и на отдельные атрибуты сущности (рис. 4).
Рис.3. Воздействие работы на сущность
BPwin позволяет связывать элементы модели данных, созданной с помощью ERwin, документировать влияние работ на данные и тем самым позволяет создать спецификации на права доступа к данным для каждого процесса (см. ниже).
Рис. 4. Воздействие работы на атрибут
2. Экспорт данных из ERwin в BPwin и связывание объектов модели данных со стрелками и работами
Первым шагом связывания модели данных и модели процессов является экспорт данных из ERwin в BPwin.
Существует три способа связывания объектов модели данных и модели процессов:
1. Экспорт через .DBF-файлы (реализован в ранних версиях ERwin и BPwin).
2. Экспорт и импорт через файлы формата .EAX - .BPX.
3. Синхронизация моделей, хранящихся в репозитории ModelMart при помощи утилиты ModelMart Synchronizer.
Ниже будет рассмотрен второй способ связывания моделей. Для экспорта модели данных из ERwin в BPwin необходимо в ERwin открыть модель и выбрать пункт меню File/Bpwin/Export. В появившемся диалоге необходимо выбрать имя файла *.eax и нажать ОК.
Затем в BPwin нужно открыть модель процесса, выбрать в меню пункт FiIe/Import/Erwin (EAX)..., выбрать имя файла и нажать ОК. Появится протокол импорта. Если закрыть диалог протокола, появляется диалог Irnport frorn EAX Verification (рис. 5). Для внесения данных в модель процесса следует щелкнуть по кнопке Accept Changes. Кнопка Review Changes вновь вызывает диалог протокола импорта, кнопка Cancel Changes отменяет импорт.
Рис. 5. Диалог Importfrom EAX Verification
После внесения данных в модель процессов можно связать сущности и атрибуты со стрелками. Правой кнопкой мыши нужно щелкнуть по стрелке и выбрать в контекстном меню Arrow Data.
Появляется закладка Arrow Data диалога Arrow Property.
Рис. 6. Закладка Arrow Data диалога Arrow Property
Для связывания атрибута со стрелкой достаточно щелкнуть по иконке выбора Д в иерархическом списке атрибутов. При этом сущность автоматически связывается со стрелкой. Каждая стрелка в модели процессов может быть связана с несколькими атрибутами различных сущностей.
Кнопка Copy In позволяет копировать связанные данные из другой стрелки.
Кнопка Clear - все связи стрелки с данными.
Кнопка Migrate вызывает диалог Changes to Arrow Data Associations, в котором отображаются данные, мигрирующие от дочерних к родительским стрелкам (для разветвляющихся и сливающихся стрелок). При миграции возможны изменения связывания данных:
• Delelions - если данные связаны с родительской стрелкой, но не связаны с дочерней, связи с родительской стрелкой удаляются;
• Additions - если данные связаны с дочерней стрелкой и не связаны с родительской, добавляется связь с родительской стрелкой.
Для подтверждения изменений в диалоге Changes to Arrow Data Associations следует щелкнуть по кнопке Commit. Миграция возможна только в моделях IDEFO и DFD.
Как было указано выше, работы могут воздействовать на данные. Для документирования такого воздействия необходимо щелкнуть правой кнопкой мыши по работе и выбрать пункт меню Data Usage Editor (рис. 7).
Рис. 3.7. Диалог BPwin Data Usage Editor
В появившемся диалоге Data Usage Editor в виде иерархического списка показываются все работы модели, стрелки, которые касаются работ, сущности и атрибуты, которые были связаны со стрелками. В верхнем списке нужно щелкнуть по имени стрелки, с которой были связаны сущности и атрибуты, для задания ассоциации достаточно щелкнуть по окну jyjj в иерархическом списке.
Для сущностей задается ассоциация CRUD (Create, Read, Update, Delete), для атрибутов - IRUN (Insert, Read, Update, Nullify). Ассоциации CRUD и IRUN - это правила использования сущностей и атрибутов работами, т. e. то, что могут делать работы с входящими или исходящими данными. Данные не могут использоваться работами произвольно. Стрелки входа представляют данные, которые работа преобразует в выход или потребляет. Такие данные могут быть обновлены (Update) или удалены (Delete), но не могут быть созданы (Create). Данные, связанные со стрелками управления, могут быть только прочитаны (Read), но не могут быть изменены - процедуры и стратегии не могут изменяться в работе. Данные, связанные со стрелками выхода, могут быть обновлены (если им соответствуют данные стрелок входа), удалены (Delete) или созданы (Create). Для стрелок механизма ассоциации не устанавливаются.
Результат связывания объектов модели процессов можно отобразить в отчете Data Usage Report (меню Report/Data Usage Report). Ниже приведен пример такого отчета.
ArrowName EntityName C_R_U_D AttributeName I_R_U_N
Детали Часть R U D Весчасти R U N
R U D Количество R U N
R U D Название части R U
R U D Номер части R
3. Создание сущностей и атрибутов BPwin и их экспорт в ERwin
Если в процессе связывания стрелок с объектами модели данных окажется, что каких-либо сущностей или атрибутов не хватает, их можно добавить прямо в BPwin, а затем экспортировать в ERwin.
Для редактирования сущностей и атрибутов следует выбрать пункт меню Edit/Entity/Attribute Dictionary. Появляется диалог Entity and Attribute Dictionary (рис. 8).
Диалог Entity and Attribute Dictionary имеет два списка - в верхнем показываются сущности, в нижнем - атрибуты. Для создания новой сущности следует в верхнем поле Entity задать имя сущности (на рис. 8 - "Чертеж") и щелкнуть по кнопке Add. Сущность будет добавлена в список. Если включить опцию BPwinonly, созданная сущность при экспорте не будет передана в ERwin. Кнопки Delete и Update служат соответственно для удаления и обновления сущности. Каждой сущности можно дать определение (кнопка Definition ofselected Entity).
Рис. 8. Диалог Entity and Attribute Dictionary
Список атрибутов отображается в нижнем окне. Полностью атрибуты создаются и редактируются аналогично.
После описания сущностей и атрибутов следует щелкнуть по кнопке Close.
Для экспорта данных в BPwin следует выбрать меню File/Export/ ERwin(BPX) и указать файл, в который будет выгружена информация о модели.
В ERwin следует выбрать меню BPwin/Import и указать файл BPX, в который была выгружена информация о модели.
Возникает диалог ERwin/BPwin Entity Sync Editor (рис. 9), в котором отображаются:
• сущности, имеющиеся в модели ERwin, но отсутствующие в ВРХ-файле (окно Unsynched ERwin Entity);
• сущности, имеющиеся в ВРХ-файле, но отсутствующие в модели ERwin (окно Unsynched BPwin Entity);
• сущности, имеющиеся в ВРХ-файле, и соответствующие им сущности в модели ERwin, а также действия по синхронизации, которые будут проводиться ERwin (окно ERwin Entity).
Рис. 9. Диалог ERwin/BPwin Entity Editor
В примере на рис. 3.9 сущность "Чертеж" будет импортирована из BPX-файла в модель ERwin.
После щелчка по кнопке Execute возникает диалог ERwin/BPwin Subject Sync Editor (рис. 3.10), который показывает имена работ, которые не соответствуют подмножеству модели (Subject Area) в ERwin. Диалог ERwin/BPwin Subject Sync Editor имеет три окна:
Unsynched ERwin Subject Area - подмножество модели, имеющееся в ERwin, но отсутствующее в BPX- файле;
Unsynched BPwin Activity - работы, имеющиеся в ВРХ-файле, но не соответствующие подмножествам модели в ERwin.
ERwin Subject Area - работы, имеющиеся в ВРХ-файле, и соответствующие им подмножества модели в ERwin, а также действия по синхронизации, которые будут проводиться ERwin.
Кнопками Import, Export и Ignore можно задать действия по синхронизации, которые будут проводиться ERwin. Опция Include Decomp указывает, что все работы декомпозиции выбранной работы будут импортироваться в отдельные подмножества модели. Кнопка Unsync позволяет отменить связывание подмножеств модели и работ.
После щелчка по кнопке Execute запускается процесс импорта BPX-файла. После окончания процесса появляется диалог с протоколом импорта. После щелчка по кнопке OK импортированные сущности (в примере -сущность "Чертеж") и новые подмножества модели вносятся в модель данных.
Рис. 10. Диалог ERwin/BPwin Subject Sync Editor
Импортированная сущность (на рис. 11 - сущность "Чертеж") не имеет первичного ключа и не связана с другими сущностями. Назначение атрибутов первичным ключом и связывание сущностей можно провести только средствами ERWin; другими словами, сущности и атрибуты, созданные в BPwin и затем импортированные в ERWin, можно рассматривать как заготовку для создания полноценной модели данных, а не как готовую модель.
Рис. 11. Модель данных после импорта сущности "Чертеж"