Partager via


Gestion de modèles et graphiques sous contrôle de version

Dans Visual Studio Ultimate, vous pouvez placer votre projet de modélisation et vos fichiers de diagrammes, vos fichiers de document graphique (.dgml) et vos fichiers de requête (.dgql) de l'Explorateur d'architectures sous contrôle de version Team Foundation. Pour plus d'informations, consultez Ajouter des fichiers au serveur.

Un soin tout particulier est requis lorsque plusieurs utilisateurs travaillent sur le même projet de modélisation.

Important

Pour obtenir des suggestions sur le mode d'organisation des modèles dans un projet de taille moyenne ou grande, consultez Structure des solutions de modélisation.

Fichiers d'un projet de modélisation

Plusieurs utilisateurs peuvent travailler simultanément sur un projet de modélisation, à condition qu'ils travaillent sur différents fichiers.

Pour éviter ou résoudre des conflits entre des modifications apportées par différents utilisateurs, il est important de comprendre comment le modèle est stocké dans les fichiers.

  • Chaque package est stocké dans un fichier .uml séparé, lequel est conservé dans le dossier du projet ModelDefinition. Le modèle dispose également d'un fichier .uml. Si l'un de ces fichiers est supprimé ou endommagé, le package ou modèle correspondant sera perdu.

  • Chaque diagramme est stocké dans deux fichiers. Par exemple, un diagramme de classes dispose des éléments suivants :

    • DiagramName.classdiagram - Si ce fichier est supprimé ou endommagé, le diagramme sera perdu, mais les classes et associations qu'il a affichées se trouveront encore dans le modèle et pourront être visualisées dans l'Explorateur de modèles UML.

    • DiagramName.classdiagram.layout- Si ce fichier est supprimé, les formes apparaîtront toujours dans le diagramme, mais leurs tailles et leurs positions seront perdues. Chaque fichier de disposition est auxiliaire à un fichier de diagramme. Pour le visualiser, cliquez sur le signe [+] situé en regard du fichier de diagramme dans l'Explorateur de solutions.

Notes

Il est important d'assurer la cohérence entre les fichiers.Par exemple, si vous utilisez le contrôle de code source pour annuler les modifications dans un fichier .uml, vous devez annuler simultanément les modifications correspondantes dans les fichiers .*diagram et .layout.Les éléments représentés dans le fichier .*diagram seront perdus s'ils ne sont pas également représentés dans un fichier .uml.

Travail sur des projets de modélisation partagés

Pour réduire les conflits consécutifs au travail simultané sur différentes parties d'un projet :

  • scindez votre projet de modélisation en plusieurs packages représentant différentes zones de travail ; déplacez l'ensemble du modèle dans les packages, au lieu de le laisser dans le modèle racine. Pour plus d'informations, consultez Définition de packages et d'espaces de noms..

  • Les différents utilisateurs ne doivent pas travailler simultanément sur le même package ou diagramme.

  • Si vous utilisez des profils, vérifiez que tous les utilisateurs ont installé les mêmes profils. Consultez Personnalisation de votre modèle avec des profils et des stéréotypes.

  • Pour vous assurer que vous ne modifiez que le package sur lequel vous travaillez :

    • définissez la propriété LinkedPackage d'un diagramme de classes, de composants ou de cas d'usage UML.

    • Dans l'Explorateur de modèles UML, faites glisser une activité ou une interaction vers votre package dès que vous l'avez créée. Cet élément s'affichera dans l'Explorateur de modèles UML lorsque vous créez le premier nœud dans le diagramme d'activités ou de séquences.

  • Pour vous permettre d'assurer le suivi des packages, renommez les fichiers de packages afin qu'ils reflètent les vrais noms des packages.

  • Dans contrôle de version Team Foundation, exécutez toujours les opérations Archiver et Obtenir la dernière version sur le projet de modélisation complet, jamais sur les fichiers individuels.

  • Exécutez toujours une opération Obtenir juste avant d'archiver le projet de modélisation.

  • Fermez toujours tous les diagrammes avant d'exécuter une opération Obtenir.

    Notes

    Si un fichier est ouvert lorsque vous exécutez une opération Obtenir et que les opérations donnent lieu à des modifications locales, vous serez invité à recharger le fichier.Dans ce cas, cliquez sur Non et rechargez l'ensemble du projet.Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le nœud du projet de modélisation et cliquez successivement sur Décharger le projet et Recharger le projet.

Modifications exigeant un accès exclusif au modèle

Avant d'apporter les genres suivants de modifications, vérifiez que vous disposez d'un verrou d'extraction sur l'ensemble du projet.

  • Attribution d'un nouveau nom ou suppression des éléments auxquels il est fait référence à partir d'autres packages.

  • Modification des propriétés des relations qui traversent les limites des packages.

  • Pour en savoir plus sur les verrous d'extraction, consultez Extraire et modifier des fichiers.

Pour déplacer un fichier de diagramme dans ou hors d'un dossier de projet

  1. Démarrez Invite de commandes développeur pour Visual Studio.

  2. Utilisez tf rename pour déplacer le fichier de diagramme et son fichier .layout :

    tf rename sourcePath targetPath

  3. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier et cliquez sur Exclure du projet.

  4. Ajoutez le fichier dans le dossier de destination.

    Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier de destination, pointez sur Ajouter, puis cliquez sur Élément existant. Dans la boîte de dialogue, sélectionnez le fichier de diagramme et cliquez sur Ajouter. Le fichier de disposition est ajouté automatiquement.

    Notes

    Vous ne pouvez pas déplacer le fichier vers un projet différent.

Fusion de modifications apportées dans les fichiers et les diagrammes de modèles

Une fois que plusieurs utilisateurs ont travaillé simultanément sur un modèle, contrôle de version Team Foundation vous invitera à fusionner les modifications apportées dans les fichiers de modèles. Le travail sur des projets séparés, comme décrit dans les sections précédentes, vous évitera de devoir effectuer la plupart des fusions. En général, les conflits restants peuvent être fusionnés automatiquement et en toute sécurité. Les genres suivants de modifications ne doivent causer aucune difficulté :

  • Types de lignes de vie. Lorsque vous ajoutez une ligne de vie à une interaction (diagramme de séquences), son type est stocké dans le modèle racine, à moins que vous ayez créé la ligne de vie à partir d'un type existant.

  • Les nouvelles activités et interactions sont initialement stockées dans le modèle racine.

  • Ajout d'éléments et de relations.

  • Attribution d'un nouveau nom ou suppression des éléments auxquels il est fait référence uniquement dans leur propre package.

Voir aussi

Concepts

Modélisation de l'application

Autres ressources

Partage des modèles et exportation des diagrammes