Comment : créer des diagrammes de couche à partir d'artefacts
Dans Visual Studio Ultimate, utilisez des diagrammes de couche pour visualiser l'architecture de haut niveau de votre système et pour vous assurer que le code demeure conforme à la conception. Pour effectuer cette tâche, organisez et associez les artefacts d'une solution Visual Studio en groupes logiques et abstraits appelés couches. Ces couches décrivent les tâches principales que les artefacts exécutent ou bien les principaux composants de votre système.
Les flèches situées entre deux couches représentent des dépendances, qui indiquent si les couches peuvent utiliser les fonctionnalités présentes dans d'autres couches. Pour appliquer des contraintes architecturales au code, décrivez les dépendances prévues sur le diagramme, puis validez le code par rapport au diagramme. En utilisant les diagrammes de couche de cette manière, vous pouvez simplifier la compréhension, la mise à jour, la réutilisation et la gestion du code.
Pour plus d'informations sur les diagrammes de couche, consultez les rubriques suivantes :
Dans cette rubrique
Création d'un diagramme de couche.
Création de couches à partir d'artefacts existants.
Gestion des liens entre les couches et les artefacts.
Ingénierie à rebours des dépendances existantes.
Mise à jour du diagramme de couche pour afficher la conception prévue.
Modification de l'apparence des éléments sur le diagramme.
Créer un diagramme de couche
Les diagrammes de couche doivent être créés au sein d'un projet de modélisation. Vous pouvez ajouter un nouveau diagramme de couche à un projet de modélisation existant, ou bien créer une modélisation dans votre solution pour le nouveau diagramme de couche.
Pour ajouter un nouveau diagramme de couche à un projet de modélisation
Dans le menu Architecture, cliquez sur Nouveau diagramme.
Sous Modèles, cliquez sur Diagramme de couche.
Attribuez un nom au diagramme.
Dans Ajouter au projet de modélisation, recherchez et sélectionnez un projet de modélisation existant dans votre solution.
ou
Cliquez sur Créer un nouveau projet de modélisation pour ajouter un nouveau projet de modélisation à la solution.
Notes
Le diagramme de couche doit être présent dans un projet de modélisation. Toutefois, vous pouvez le lier à des artefacts situés n'importe où dans la solution.
Vous pouvez également copier un diagramme de couche existant au sein d'un même projet de modélisation.
Notes
En revanche, vous ne pouvez pas ajouter, glisser-déposer ni copier un diagramme de couche existant d'un projet de modélisation à l'autre, ou bien vers un autre emplacement de la solution. Un diagramme de couche copié de cette façon aura les mêmes références que le diagramme d'origine, même si vous le modifiez. Cela entraînera un mauvais fonctionnement de la validation de couche et pourra provoquer d'autres problèmes, tels que des éléments manquants, ou bien provoquer des erreurs lors de la tentative d'ouverture du diagramme.
Pour copier un diagramme de couche, procédez aux étapes suivantes :
Pour copier un diagramme de couche existant
Ajoutez un nouveau diagramme de couche au projet de modélisation.
Copiez les éléments depuis le diagramme de couche source vers le nouveau diagramme de couche.
Création de couches à partir d'artefacts
Vous pouvez créer des couches à partir des artefacts d'une solution Visual Studio, tels que des projets, des fichiers de code, des espaces de noms, des classes et des méthodes. Cela crée automatiquement des liens entre ces couches et les artefacts, qui sont inclus dans le processus de validation de couche. Vous pouvez également lier les couches à certains genres d'artefacts qui ne prennent pas en charge la validation de couche. Par exemple, vous avez la possibilité de lier les couches à des fichiers, tels que des documents Word ou des présentations PowerPoint. Cela se révèle utile pour l'association d'une couche à des spécifications ou à des plans. Pour voir si un artefact lié prend en charge la validation, ouvrez l'Explorateur de couches, puis regardez la propriété Prend en charge la validation de l'artefact. Pour plus d'informations, consultez Gestion des liens vers les artefacts.
Chaque couche apparaît sur le diagramme sous la forme d'un rectangle et peut contenir des couches imbriquées qui décrivent davantage de tâches détaillées. Pour plus d'informations sur la façon de disposer des modèles en couches, consultez le site Web Patterns & Practices.
Le nombre indiqué sur une couche représente le nombre d'artefacts liés à cette couche. Toutefois, à la lecture de ce nombre, souvenez-vous de ce qui suit :
Si une couche est liée à un artefact contenant d'autres artefacts, mais n'est pas directement liée à ces autres artefacts, le nombre représentera uniquement les artefacts auxquels elle est directement liée. Toutefois, les autres artefacts sont inclus dans l'analyse pendant la validation de couche.
Par exemple, si une couche est liée à un espace de noms unique, le nombre d'artefacts liés est égal à 1, même si l'espace de noms contient des classes. Si la couche a également des liens vers chaque classe de l'espace de noms, le nombre comprendra les classes liées.
Si une couche contient d'autres couches liées à des artefacts, la couche du conteneur est également liée à ces artefacts, même si le nombre indiqué sur la couche du conteneur ne comprend pas ces artefacts.
Lorsque vous créez un diagramme de couche, vous pouvez créer des graphiques de dépendance pour vous aider à explorer et à comprendre le code. Ces graphiques peuvent vous aider à explorer les clusters, les modèles, les couches naturelles et les dépendances du code. Il est ainsi plus facile d'assigner des artefacts aux couches. Vous pouvez également utiliser le navigateur de l'architecture pour explorer des espaces de noms et des classes, qui correspondent souvent aux couches existantes. Vous pouvez utiliser ensuite des diagrammes de couche pour vous aider à mettre à jour le code.
Pour plus d'informations, consultez les rubriques suivantes :
Comment : explorer du code avec des graphiques de dépendance
Comment : rechercher du code à l'aide du navigateur de l'architecture
Utilisez les tâches suivantes pour créer des couches :
Pour |
Procédez comme suit |
---|---|
Créer une couche pour un artefact unique |
|
Créer une couche unique pour tous les artefacts sélectionnés |
Faites glisser en même temps tous les artefacts vers le diagramme de couche. Une couche qui est liée à tous les artefacts s'affiche sur le diagramme. |
Créer une couche pour chaque artefact sélectionné |
Appuyez sur la touche MAJ et maintenez-la enfoncée tout en faisant glisser tous les artefacts vers le diagramme de couche en même temps.
Remarque
Si vous utilisez la touche MAJ pour sélectionner une plage d'éléments, relâchez la touche après avoir sélectionné les artefacts.Appuyez de nouveau sur celle-ci et maintenez-la enfoncée lorsque vous faites glisser les artefacts vers le diagramme.
Une couche s'affiche sur le diagramme pour chaque artefact, auquel elle est liée. |
Ajouter un artefact à une couche |
Faites glisser l'artefact vers la couche. |
Créer une couche non liée |
Dans la Boîte à outils, développez la section Diagramme de couche, puis faites glisser un élément Couche vers le diagramme de couche. Pour ajouter plusieurs couches, double-cliquez sur l'outil. Lorsque vous avez terminé, cliquez sur l'outil Pointeur ou appuyez sur la touche Échap. - ou - Cliquez avec le bouton droit sur le diagramme de couche, pointez sur Ajouter, puis cliquez sur Couche. |
Créer des couches imbriquées |
Faites glisser une couche existante sur une autre couche. - ou - Cliquez avec le bouton droit sur une couche, pointez sur Ajouter, puis cliquez sur Couche. |
Créer une nouvelle couche qui contient deux ou plusieurs couches existantes |
Sélectionnez les couches, cliquez avec le bouton droit sur une couche sélectionnée, puis cliquez sur Groupe. |
Modifier la couleur d'une couche |
Affectez la couleur voulue à sa propriété Couleur. |
Spécifier que les artefacts associés à une couche ne doivent pas appartenir aux espaces de noms spécifiés |
Tapez les espaces de noms dans la propriété Forbidden Namespaces (Espaces de noms interdits) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Spécifier que les artefacts associés à une couche ne peuvent pas dépendre des espaces de noms spécifiés |
Tapez les espaces de noms dans la propriété Forbidden Namespace Dependencies (Dépendances d'espaces de noms interdits) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Spécifier que les artefacts associés à une couche doivent appartenir à un des espaces de noms spécifiés |
Tapez l'espace de noms dans la propriété Required Namespaces (Espace de noms requis) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Gestion des liens entre les couches et les artefacts
Sur le diagramme de couche, cliquez avec le bouton droit sur une couche, puis cliquez sur Afficher les liens.
L'Explorateur de couches affiche les liens d'artefact correspondant à la couche sélectionnée.
Utilisez les tâches suivantes pour gérer ces liens :
Pour |
Dans l'Explorateur de couches |
---|---|
Supprimer le lien entre la couche et un artefact |
Cliquez avec le bouton droit sur le lien d'artefact, puis cliquez sur Supprimer. |
Déplacer le lien d'une couche vers une autre |
Faites glisser le lien d'artefact vers une couche existante sur le diagramme. - ou -
|
Copier le lien d'une couche vers une autre |
|
Créer une nouvelle couche à partir d'un lien d'artefact existant |
Faites glisser le lien d'artefact vers une zone vide sur le diagramme. |
Vérifiez qu'un artefact lié prend en charge la validation par rapport au diagramme de couche. |
Recherchez le lien d'artefact dans la colonne Prend en charge la validation. |
Ingénierie à rebours des dépendances existantes
Une dépendance existe chaque fois qu'un artefact associé à une couche comporte une référence à un artefact associé à une autre couche. Par exemple, une classe dans une couche déclare une variable qui a une classe dans une autre couche. Vous pouvez effectuer une ingénierie à rebours des dépendances existantes pour les artefacts liés aux couches sur le diagramme.
Notes
Les dépendances ne peuvent pas faire l'objet d'une ingénierie à rebours pour certains genres d'artefacts. Par exemple, aucune dépendance ne fera l'objet d'une ingénierie à rebours depuis ou vers une couche qui est liée à un fichier texte. Pour identifier les artefacts ayant des dépendances qui peuvent faire l'objet d'une ingénierie à rebours, cliquez avec le bouton droit sur une ou plusieurs couches, puis cliquez sur Afficher les liens. Dans l'Explorateur de couches, examinez la colonne Prend en charge la validation. Les dépendances des artefacts pour lesquels cette colonne affiche la valeur False ne feront pas l'objet d'une ingénierie à rebours.
Pour effectuer une ingénierie à rebours des dépendances existantes entre les couches
- Sélectionnez une ou plusieurs couches, cliquez avec le bouton droit sur une couche sélectionnée, puis cliquez sur Générer des dépendances.
En général, des dépendances qui ne devraient pas exister s'affichent. Vous pouvez modifier ces dépendances pour les ajuster à la conception prévue.
Mise à jour du diagramme pour afficher la conception prévue
Pour afficher les modifications que vous envisagez d'effectuer ou l'architecture voulue, mettez à jour le diagramme de couche.
Pour |
Exécuter ces étapes |
---|---|
Supprimer une dépendance qui ne doit pas exister |
Cliquez sur la dépendance, puis appuyez sur SUPPR. |
Changer ou restreindre la direction d'une dépendance |
Définissez sa propriété Direction. |
Créer de nouvelles dépendances |
Utilisez les outils Dépendance et Dépendance bidirectionnelle. Pour dessiner plusieurs dépendances, double-cliquez sur l'outil. Lorsque vous avez terminé, cliquez sur l'outil Pointeur ou appuyez sur la touche Échap. |
Spécifier que les artefacts associés à une couche ne peuvent pas dépendre des espaces de noms spécifiés |
Tapez les espaces de noms dans la propriété Forbidden Namespace Dependencies (Dépendances d'espaces de noms interdits) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Spécifier que les artefacts associés à une couche ne doivent pas appartenir aux espaces de noms spécifiés |
Tapez les espaces de noms dans la propriété Forbidden Namespaces (Espaces de noms interdits) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Spécifier que les artefacts associés à une couche doivent appartenir à un des espaces de noms spécifiés |
Tapez l'espace de noms dans la propriété Required Namespaces (Espace de noms requis) de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms. |
Modification de l'apparence des éléments sur le diagramme
Pour vous aider à identifier des couches et des dépendances, ou à les examiner avec les membres de l'équipe, modifiez l'apparence et la disposition du diagramme comme suit :
Modifiez les tailles, formes et positions des couches.
Modifiez les couleurs des couches et des dépendances.
Sélectionnez les couches ou les dépendances.
Cliquez avec le bouton droit sur les couches ou les dépendances sélectionnées, puis cliquez sur Propriétés.
Dans la fenêtre Propriétés, modifiez la propriété Couleur.