СТАТЬЯ 12.07.01

Работа с ModelMart из среды ERwin. Часть 2

9. Контроль изменений

В процессе работы можно просмотреть сделанные изменения. Это осуществляется нажатием кнопки или выбором пункта меню ModelMart Change Control Manager. При этом на экран выводится окно Review Changes (рис. 7). (В целях экономии места приводится только часть окна, несущая основную информацию.) Можно также восстановить модель из репозитария, отказавшись от некоторых изменений. Для этого следует отметить необходимые строки с изменениями для восстановления и нажать соответствующую кнопку или выполнить двойной клик на строке с изменениями. Все отмененные изменения будут аннулированы, а модель восстановлена из репозитария. Здесь существует один очень неприятный момент: все остальные изменения будут автоматически сохранены в репозитарий. С практической точки зрения это очень неудобно для пользователя, можно даже сказать — вызывает некоторое раздражение. Особенно когда сталкиваешься с этим впервые.


Рис. 7

Предусмотрено несколько возможностей по отображению изменений:


Рис. 8


Рис. 9

Рекомендации. Данную функциональность удобно использовать в следующих случаях:

10. Просмотр изменений, сделанных другими пользователями

Для просмотра изменений, сделанных другими пользователями, следует нажать кнопку или пункт меню ModelMart Refresh Manager, после чего будет загружено окно ModelMart Change Control Manager, аналогичное окну при просмотре изменений. В этом окне будут показаны все изменения, выполненные другими пользователями. Учитываются изменения, сохраненные с момента открытия вами модели и до выполнения Refresh. На рис. 10 приведен пример окна для сравнения его с рис. 7, чтобы показать различие данных операций (Change и Refresh). На нем видно, что кто-то из пользователей удалил сущность «Должность». Допускается выравнивание модели по изменениям в обоих направлениях, то есть можно удалить сущность у себя в модели или снова создать ее в репозитарии. Выполняться будут изменения, текст которых черного цвета. Для изменения направления выравнивания необходимо выделить изменение и нажать кнопку .


Рис. 10

Рекомендации. При возникновении конфликтных ситуаций в режиме удаления объектов (при сохранении своей модели обнаруживается, что ряд объектов удален другим пользователем) рекомендуется согласовывать изменения с администратором модели. Второй вариант разрешения таких конфликтов — запретить пользователям удалять объекты моделей, предоставив это право исключительно администратору модели.

11. Сохранение модели

Для сохранения модели требуется нажать кнопку или выбрать пункт Save to ModelMart. Если модель необходимо сохранить под новым именем, выбирается пункт меню ModelMart Save As. На время сохранения модель (подмодель) переводится в состояние Locked и становится недоступна для сохранения изменений другими пользователями. При большом количестве изменений процесс сохранения может занять продолжительное время, поэтому рекомендуется периодически производить сохранения в процессе работы с небольшими изменениями. Это необходимо для обеспечения процесса стабильности многопользовательской работы, а также во избежание потери информации по изменению модели, в случае сбоя в работе компьютера.

11.1. Сохранение новой модели

При сохранении новой модели появляется диалог (рис. 11).


Рис. 11

Для сохранения модели следует выбрать в правом списке библиотеку, в которую модель будет записана, а в левом поле ввести имя модели. После нажатия кнопки Ok сохранение модели произойдет без дополнительных предупреждений. Процесс сохранения отображается в строке статуса с помощью показателя прогресса.

11.2. Сохранение существующей модели

При сохранении изменений возникает стандартный диалог запроса на подтверждение сохранения (рис. 12).


Рис. 12

При снятом флажке Review All Changes Before Save сохранение изменений начинается сразу. При установленном флажке на экран выдается диалог ModelMart Change Control Manager. Для контроля конфликтных ситуаций рекомендуется оставлять данную опцию включенной. Кнопка позволяет сохранить изменения. Кнопка отменяет сохранение изменений. Имеется возможность частичного сохранения изменений. Для этого выбирается строка в списке изменений и нажимается кнопка или делается двойной клик на строку с изменениями. Можно сохранить измененную модель в формате файла ERwin ER1 или сформировать отчет об изменениях.

Если в промежутке между загрузкой модели и ее сохранением кто-либо из пользователей сделал изменения и сохранил их, то окно (рис. 13) будет состоять из двух частей (аналогично окну показа расхождений — (см. рис. 10). В левой части будут отображены изменения, сделанные вами, в правой — другими пользователями. При этом принципы сохранения изменений аналогичны вышеописанным. Можно сохранить свои изменения, а можно оставить изменения, внесенные другими пользователями.


рис. 13

Рекомендации. Необходимо периодически сохранять информацию, поскольку при сохранении большого числа изменений ModelMart не может показать детали изменений (ориентировочно это происходит при изменении более 200 параметров объектов). Об этом выдается сообщение. Кроме того, при одновременном сохранении большого количества изменений существует вероятность «зависания» компьютера.

Иногда при сохранении может выдаваться сообщение, что пользователь не имеет прав на выполнение той или иной операции. Это определяется правами доступа к репозитарию. Запрещенные операции выполняться не будут. Чтобы решить подобные проблемы, необходимо обратиться к администратору ModelMart для выяснения своих полномочий.

11.3. Snapshot

Если при сохранении информации в ModelMart возникает ошибка (модель заблокирована другим пользователем и т.п.), существует возможность сохранить модель в файл формата ER1. Для этого нажимается кнопка или выбирается пункт меню File Save As. При этом возникает диалог для ввода имени Snapshot (рис. 14).


Рис. 14

По умолчанию ModelMart формирует имя, состоящее из алиаса пользователя и даты, заключенных в квадратные скобки. Имя можно изменить, однако рекомендуется оставлять квадратные скобки для выделения Snapshot. Snapshot представляет собой «мгновенный снимок» модели на момент последнего успешного сохранения (если сохранения в процессе работы не было, то на момент открытия). После создания Snapshot выдается стандартный диалог ERwin сохранения модели в файл. В файл модель сохраняется с изменениями. Snapshot используется для последующей синхронизации моделей из файла и репозитария (п. 11).

11.4. Сохранение в файл формата ER1

Если модель необходимо сохранить не в репозитарий ModelMart, а в файл формата ER1 (формат ERwin), нажмите кнопку закрытия модели или пункт меню Close ModelMart Diagram. В появившемся диалоге установите опцию Save As .ER1 file. Дальнейшие шаги сохранения файла соответствуют стандарту Windows. При сохранении модели предоставляется возможность создания Snapshot. Для этого установите опцию Keep ModelMart snapshot for later marge. Это позволит впоследствии осуществить синхронизацию моделей из файла и репозитария. Опция Keep ModelMart Diagram Lock позволяет удержать блокировку модели после ее закрытия.

Рекомендации. Данный режим можно использовать для организации работы с моделью на рабочем месте, при пропадании связи с репозитарием ModelMart, с последующей синхронизацией файла и репозитария (пп. 11 и 12.)

12. Сохранение файла формата ER1 в репозитарии ModelMart

ModelMart позволяет пользователям сохранять в репозитарий модели, загруженные из файлов. Для сохранения необходимо нажать кнопку или выбрать пункт Save to ModelMart. Если файл был создан из модели ModelMart, то выдается диалог на выполнение операции сравнения моделей (рис. 15). Контроль различия осуществляется по трем составляющим: модель из файла, Snapshot и модель из репозитария. Выбор Snapshot осуществляется в выпадающем списке. По умолчанию устанавливается Snapshot, созданный при сохранении файла. Можно выбрать другой Snapshot или вообще отказаться от его использования, но рекомендуется использовать Snapshot по умолчанию для корректного сравнения моделей.


Рис. 15

13. Объединение моделей

13.1. Принципы объединения

ModelMart предоставляет пользователям такую возможность, как объединение моделей. Объединение моделей подразумевает создание модели, содержащей все объекты объединяемых моделей. Для выполнения этой операции надо загрузить в ERwin исходную модель.

Исходная модель может быть загружена из файла либо из репозитария ModelMart. Далее нажимается кнопка или выбирается пункт меню ModelMart Merge Manager. На экране появляется диалог (рис. 16), в котором следует выбрать целевую модель. Источником целевой модели может быть только ModelMart. После нажатия кнопки Merge начнется процесс объединения моделей. На экран будет выдан стандартный диалог ModelMart Change Control Manager. Процесс работы с этим диалогом описан выше (п. 8). Результат может быть помещен в целевую либо в новую модель.


Рис. 16

Этот параметр может быть задан в настройках опций, которые вызываются нажатием кнопки Merge Options. При сохранении результата в новую модель после выполнения операции объединения на экране появится диалог, аналогичный режиму Save As (рис. 11).

Рекомендации. Этот режим рекомендуется использовать только для объединения внешних файлов или моделей, изначально разрабатывавшихся отдельно, так как при объединении не указываются расхождения по удаленным объектам. Примером может служить разработка подмодели в локальном варианте, осуществленная одним человеком. Однако в таком режиме трудно контролировать процесс разработки и проводить процесс архивирования информации для защиты от потери данных. Помимо этого могут возникнуть проблемы с объединением объектов, поддерживаемых на уровне библиотек.

13.2. Опции объединения

Кроме возможности задания размещения результата, рассмотренной в предыдущем разделе, опции позволяют настроить параметры разрешения конфликтов объединения. Окно настройки опций представлено на рис. 17.


Hис. 17

Принцип разрешения конфликтов заключается в устранении проблем существования объектов (сущностей, ключей (индексов) и физических объектов) с одинаковыми именами. Существуют три варианта разрешения конфликта: Merge — создает только один объект;

Do Not Merge — создает два объекта с одинаковыми именами, действует только для сущностей;

Rename — создает два объекта с разными именами (FACE и FACE/2).

Рекомендации. Не следует использовать второй режим (Do Not Merge), поскольку при переходе на физическую модель это может привести к ошибкам при генерации структуры базы данных. Кроме того, наличие двух сущностей с одинаковым наименованием противоречит методологии IDEF1X.

14. Поддержка версионности

14.1. Идеология версионности и архивирования

ModelMart содержит редактор версий, который позволяет управлять версионностью и работать с архивами и Snapshot. Согласно идеологии ModelMart понятие «версия» представляет собой вариант модели, зафиксированный в определенный момент времени. Версия имеет статус Read Only. Изменяться может только модель. Поэтому в пределах одной модели нельзя параллельно поддерживать и развивать несколько веток (Branch — по терминологии конфигурационного управления) модели. Однако имеется возможность сравнения модели и версии, которая позволяет осуществить процесс восстановления информации в модель из версии. Версия создается аналогично Snapshot: записывается состояние модели по последнему изменению.

Рекомендации. Создание версий может иметь смысл для фиксирования завершения определенных этапов в процессе разработки модели. Не рекомендуется часто создавать версии, поскольку они существенно увеличивают размер репозитария.

14.2. Создание версии

Редактор версий (рис. 18) вызывается нажатием кнопки или через пункт меню ModelMart Version Manager.


Рис. 18

В верхнем списке представлено иерархическое дерево репозитария. Версии, Snapshot и архивы являются подуровнями для модели.

Для сохранения версии необходимо нажать кнопку Version. При этом на экране появляется окно (рис. 19) для задания параметров версии.


Рис. 19

В поле New Version Name вводится имя версии. По умолчанию ModelMart формирует название версии из префикса V и порядкового номера, двоеточия и имени модели. Пиктограммы у версии и Snapshot одинаковые, поэтому, чтобы их различать, рекомендуется придерживаться определенного принципа при формировании их имен. Можно использовать стандартный принцип ModelMart, а можно ввести свой. Иконка архива имеет в своем изображении красный треугольник. В поле Description вводится описание версии.

14.3. Дополнительная функциональность

Редактор версий предоставляет пользователям некоторую функциональность по работе с версиями, snapshot и архивами (в дальнейшем по тексту данной главы все будет именоваться версиями, если только при этом не требуется указать точное название).

Кнопка Diff позволяет сравнивать различные версии между собой или между версией и моделью. Для этого надо выделить две строки в списке (используя клавиши Ctrl или Shift) и нажать кнопку. Появится стандартное окно редактора изменений с различиями версий. При сравнении модели и версии имеется возможность восстановления информации из версии в модель.

Открыть версию можно только из редактора версий. Это осуществляется кнопкой Open. При открытии выдается предупреждение, что сохранить данную версию можно только c помощью пункта меню Save As.

Кнопка Update позволяет скорректировать описание версии.

Кнопка Purge предназначена для работы с архивами. Она позволяет удалить архив. Для этого необходимо выбрать архив и нажать кнопку. На экран будет выдано сообщение о том, что все архивы, имеющие более раннюю дату, чем выделенный, будут удалены вместе с ним.

Рекомендации. Почаще производите ревизию репозитария и удаляйте ненужные версии и Snapshot, так как они хранят не отличия от своей модели, а являются полной ее копией на момент создания, что существенно увеличивает размер хранимой информации (обычно эти объекты составляют 60-80% от всей информации).

15. Управление сессиями

Для управления сессиями в ModelMart используется редактор сессий (Session Manager), вызываемый через пункт меню ModelMart Session Manager. Вид редактора представлен на рис. 20.


Рис. 20

Верхний список содержит имена всех пользователей ModelMart. При выборе пользователя в нижнем окне отображается список открытых им диаграмм с указанием уровня блокировки. С помощью кнопки Terminate сессию можно прервать. Данный режим используется для снятия блокировок с моделей. Наиболее часто блокировки остаются при некорректном выходе пользователя из ModelMart.

16. Послесловие

Безусловно, в этой статье не удалось рассказать обо всех тонкостях работы с ModelMart, да эта цель автором и не преследовалась. Мне хотелось познакомить проектировщиков баз данных с принципами работы ERwin и ModelMart и их основными возможностями. Однако некоторые советы, основанные на опыте работы с ModelMart, я все-таки хотел бы дать.

Ознакомительные версии ERwin и ModelMart
Подробная информация по ERwin и ModelMart
Обратиться в Interface Ltd. за дополнительной информацией/приобретением продуктов

Предыдущая часть статьи

Отправить ссылку на страницу по e-mail
Обсудить на форуме


Interface Ltd.
Тel/Fax: +7(095) 105-0049 (многоканальный)
Отправить E-Mail
http://www.interface.ru
Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 12.07.01