Поделиться через


Работа с моделями и диаграммами в управлении версиями

В Visual Studio Ultimate файлы проекта моделирования и схем, а также файлы документов графов (.dgml) и файлы запросов Architecture Explorer (.dgql) можно разместить в Team Foundation (подсистема контроля версий). Дополнительные сведения см. в разделе Помещение файлов под контроль системы управления версиями.

Если над одним и тем же проектом моделирования работает несколько пользователей, требуется действовать особенно осторожно.

Важно!

Рекомендации о том, как организовать модели в больших и средних проектах смотрите Структирирование решений моделирования.

Файлы в проекте моделирования

Над проектом моделирования одновременно могут работать несколько пользователей, но они должны работать с разными файлами.

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

  • Каждый пакет хранится в отдельном файле .uml, который сохранен в папке проекта ModelDefinition. Модель также имеет файл .uml. Если один из этих файлов удален или поврежден, соответствующий пакет или модель будет утеряна.

  • Каждая схема хранится в двух файлах. Например, схема классов хранится в следующих файлах.

    • DiagramName.classdiagram — если этот файл удален или поврежден, схема будет утеряна, но отображавшиеся на ней классы и ассоциации останутся в модели, их можно будет просмотреть в Проводнике по моделям UML.

    • DiagramName.classdiagram.layout — если этот файл удален, фигуры будут отображаться на схеме, но их расположение и размеры нарушатся. Каждый файл размещения является дочерним элементом файла схемы. Чтобы просмотреть его, щелкните [+] рядом с файлом схемы в обозревателе решений.

Работа над совместными проектами моделирования

Чтобы свести к минимуму конфликты при одновременной работе с разными частями проекта, необходимо соблюдать следующие правила.

  • Разделите проект моделирования на пакеты, представляющие разные области работы. Не оставляйте модель в корневой модели — переместите ее в пакеты. Дополнительные сведения см. в разделе Определение пакетов и пространств имен.

  • Рекомендуется не допускать работы разных пользователей с одним пакетом или схемой одновременно.

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

  • Чтобы убедиться, что изменяется только пакет, с которым в настоящее время ведется работа, выполните следующие действия.

    • Задайте свойство LinkedPackage для UML-класса, компонента или схемы вариантов использования.

    • Сразу после создания перетащите действие или взаимодействие в пакет в Проводнике по моделям UML. Этот элемент отобразится в Проводнике по моделям UML при создании первого узла на схеме деятельности или схеме последовательностей.

  • Чтобы отслеживать пакеты, переименуйте файлы пакетов, чтобы они отражали фактические имена пакетов.

  • В Team Foundation (подсистема контроля версий) всегда выполняйте операции Вернуть и Получить последнюю версию для всего проекта моделирования, а не отдельных файлов.

  • Всегда выполняйте операцию Получить непосредственно перед возвращением проекта моделирования.

  • Перед выполнением операции Получить всегда закрывайте все схемы.

    Примечание

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

Изменения, требующие монопольного доступа к модели

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

Перемещение файла схемы в папку проекта или из нее

  1. Откройте командную строку Visual Studio 2010.

    В меню Windows Пуск последовательно выберите Все программы, Microsoft Visual Studio 2010, Средства Visual Studio и Командная строка Visual Studio 2010.

  2. Используйте tf rename, чтобы переместить файл схемы и соответствующий файл .layout.

    tf rename sourcePath targetPath

  3. В обозревателе решений щелкните файл правой кнопкой мыши, затем выберите Исключить из проекта.

  4. Добавьте файл в папку назначения.

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

    Примечание

    Невозможно переместить файл в другой проект.

Слияние изменений в файлах и схемах моделей

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

  • Типы линий жизни. При добавлении линии жизни во взаимодействие (схему последовательностей) ее тип хранится в корневой модели. Исключение составляют случаи, когда линия жизни создается из существующего типа.

  • Изначально новые действия и взаимодействия хранятся в корневой модели.

  • Добавление элементов и отношений.

  • Переименование или удаление элементов, ссылки на которые существуют только внутри их собственных пакетов.

См. также

Основные понятия

Моделирование приложения

Другие ресурсы

Общий доступ к моделям и экспорт схем