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.
[!REMARQUE]
Il est important d'assurer la cohérence entre les fichiers.Par exemple, si vous utilisez le contrôle de code source à annuler des modifications arrières d'un fichier de .uml, vous devez annuler les modifications correspondants du. *diagram et fichiers de .layout en même temps.Les éléments représentés dans le fichier d'a.*diagram sont perdus s'ils ne sont pas représentés dans un fichier de .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.
[!REMARQUE]
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
Ouvrez une invite de commandes Visual Studio.
Dans le menu Démarrer de Windows, pointez sur Tous les programmes, Microsoft Visual Studio 2010, Outils Visual Studio, puis cliquez sur Invite de commandes de Visual Studio 2010.
Utilisez tf rename pour déplacer le fichier de diagramme et son fichier .layout :
tf rename sourcePath targetPath
Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier et cliquez sur Exclure du projet.
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.
[!REMARQUE]
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.