Create layer diagrams from your code

 

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Pour visualiser l'architecture globale logique de votre logiciel, créez un diagramme de couche dans Visual Studio. Pour vous assurer que votre code demeure conforme à cette conception, validez-le avec un diagramme de couche. Vous pouvez créer des diagrammes de couche pour les projets Visual C# .NET et Visual Basic .NET. Pour connaître les versions de Visual Studio qui prennent en charge cette fonctionnalité, consultez Prise en charge des versions pour les outils d'architecture et de modélisation.

Créer un diagramme de couche

Un diagramme de couche vous permet d'organiser des éléments de solution Visual Studio en groupes abstraits logiques appelés couches. Vous pouvez utiliser les couches pour décrire des tâches importantes que ces artefacts effectuent ou bien les principaux composants du système. Chaque couche peut contenir d'autres couches qui décrivent des tâches plus détaillées. Vous pouvez également préciser les dépendances prévues ou existantes entre certaines couches. Ces dépendances, qui sont représentées par des flèches, indiquent quels couches peuvent utiliser ou utilisent actuellement la fonctionnalité représentée par d'autres couches. Pour maintenir le contrôle architecturel du code, affichez les dépendances prévues sur le diagramme, puis validez le code par rapport au diagramme.

Avant de créer un diagramme de couche, vérifiez que votre solution a un projet de modélisation. Consultez Create UML modeling projects and diagrams

System_CAPS_ICON_important.jpg Important

Vous ne pouvez pas ajouter, glisser-déposer ni copier un diagramme de couche existant d'un projet de modélisation à un autre, ou bien vers un autre emplacement de la solution. Cela permet de conserver les références du diagramme d'origine, même si vous modifiez le diagramme. Cela empêche également un mauvais fonctionnement de la validation de couche et pourra provoquer d'autres problèmes, tels que des éléments manquants ou autre erreurs lorsque vous essayez d'ouvrir le diagramme.

Ajoutez au lieu de cela un nouveau diagramme de couche au projet de modélisation. Copiez les éléments depuis le diagramme source vers le nouveau diagramme. Enregistrez le projet de modélisation et le nouveau diagramme de couche.

Pour ajouter un nouveau diagramme de couche à un projet de modélisation

  1. Dans le menu Architecture, choisissez Nouveau diagramme UML ou diagramme de couche.

  2. Sous Modèles, choisissez Diagramme de couche.

  3. Nommez le diagramme.

  4. Dans Ajouter au projet de modélisation, recherchez et sélectionnez un projet de modélisation existant dans votre solution.

    ou

    Choisissez Créer un nouveau projet de modélisation pour ajouter un projet de modélisation à la solution.

    System_CAPS_ICON_note.jpg Remarque

    Le diagramme de couche doit être présent dans un projet de modélisation. Toutefois, vous pouvez le lier à des éléments situés n'importe où dans la solution.

  5. Veillez à enregistrer à la fois le projet de modélisation et le diagramme de couche.

Vous pouvez créer des couches à partir d'éléments de 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 éléments, les incluant dans le processus de validation de couche.

Afin de pouvoir associer une couche à des caractéristiques ou des plans, vous pouvez également lier des couches à des éléments qui ne prennent pas en charge la validation, tels que des documents Word ou des présentations PowerPoint. Vous pouvez également lier des couches à des fichiers dans des projets qui sont partagés sur plusieurs applications, mais le processus de validation n'inclut pas ces couches qui s'affichent avec des noms génériques tels que « Couche 1 » et « Couche 2 ».

Pour voir si un élément lié prend en charge la validation, ouvrez l'Explorateur de couches et examinez la propriété Prend en charge la validation de l'élément. Voir Gestion des liens vers les artefacts.

ÀProcédez comme suit
Créer une couche pour un artefact unique
  1. Faites glisser l'élément sur le diagramme de couche à partir de ces sources :

     
    Une couche s'affiche sur le diagramme et est liée à l'artefact.
  2. Renommez la couche pour refléter les responsabilités du code ou des artefacts associés.
 Important: Faire glisser des fichiers binaires vers le diagramme de couche n'ajoute pas automatiquement leurs références au projet de modélisation. Vous devez ajouter manuellement au projet de modélisation les fichiers binaires que vous voulez valider. Pour ajouter des fichiers binaires au projet de modélisation 
  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel du projet de modélisation, puis choisissez Ajouter un élément existant.
  2. Dans la boîte de dialogue Ajouter un élément existant, naviguez jusqu'aux fichiers binaires, sélectionnez-les, puis choisissez OK. Les fichiers binaires s'affichent dans le projet de modélisation.
  3. Dans l'Explorateur de solutions, choisissez un fichier binaire que vous avez ajouté, puis appuyez sur F4 pour ouvrir la fenêtre Propriétés.
  4. Sur chaque fichier binaire, affectez à la propriété Action de génération la valeur Valider.
Créer une couche unique pour tous les artefacts sélectionnésFaites 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. Note: 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 coucheFaites glisser l'artefact vers la couche.
Créer une couche non liéeDans 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é, choisissez l'outil Pointeur ou appuyez sur la touche Échap.

ou

Ouvrez le menu contextuel du diagramme de couche, choisissez Ajouter, puis choisissez Couche.
Créer des couches imbriquéesFaites glisser une couche existante sur une autre couche.

ou

Ouvrez le menu contextuel d'une couche, choisissez Ajouter, puis choisissez Couche.
Créer une nouvelle couche qui contient deux ou plusieurs couches existantesSélectionnez les couches, ouvrez le menu contextuel de votre sélection, puis choisissez Grouper.
Modifier la couleur d'une coucheAffectez 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ésTapez 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ésTapez 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ésTapez l'espace de noms dans la propriété Espace de noms requis de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms.

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.

  1. Dans le diagramme de couche, ouvrez le menu contextuel de la couche, puis choisissez Afficher les liens.

    L'Explorateur de couches affiche les liens d'artefact correspondant à la couche sélectionnée.

  2. Utilisez les tâches suivantes pour gérer ces liens :

ÀDans l'Explorateur de couches
Supprimer le lien entre la couche et un artefactOuvrez le menu contextuel du lien de l'artefact, puis choisissez Supprimer.
Déplacer le lien d'une couche vers une autreFaites glisser le lien d'artefact vers une couche existante sur le diagramme.

ou

1. Ouvrez le menu contextuel du lien de l'artefact, puis choisissez Couper.
2. Dans le diagramme de couche, ouvrez le menu contextuel de la couche, puis choisissez Coller.
Copier le lien d'une couche vers une autre1. Ouvrez le menu contextuel du lien de l'artefact, puis choisissez Copier.
2. Dans le diagramme de couche, ouvrez le menu contextuel de la couche, puis choisissez Coller.
Créer une nouvelle couche à partir d'un lien d'artefact existantFaites 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.

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.

System_CAPS_ICON_note.jpg Remarque

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 reconstitution de la logique des produits, ouvrez le menu contextuel pour une ou plusieurs couches, puis choisissez 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.

  • Sélectionnez une ou plusieurs couches, ouvrez le menu contextuel pour une couche sélectionnée, puis choisissez 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.

Pour décrire les modifications que vous envisagez d'apporter à votre système ou l'architecture attendue, modifiez le diagramme de couche :

PourExécuter ces étapes
Changer ou restreindre la direction d'une dépendanceDéfinissez sa propriété Direction.
Créer de nouvelles dépendancesUtilisez les outils Dépendance et Dépendance bidirectionnelle.

Pour dessiner plusieurs dépendances, double-cliquez sur l'outil. Lorsque vous avez terminé, choisissez 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ésTapez 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ésTapez 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ésTapez l'espace de noms dans la propriété Espace de noms requis de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms.

Vous pouvez modifier la taille, la forme, la couleur et la position des couches ou de la couleur des dépendances en modifiant leurs propriétés.

Lors de la création de diagrammes de couche, vous pouvez également créer des cartes de code. Ces diagrammes peuvent vous aider à découvrir des modèles et des dépendances quand vous explorez le code. Utilisez l'Explorateur de solutions, l'Affichage de classes ou l'Explorateur d'objets pour explorer les assemblys, les espaces de noms et les classes, qui correspondent souvent à des couches existantes. Pour plus d'informations sur les cartes de code, consultez :

Vidéo channel 9 : Design and validate your architecture using layer diagrams
Layer Diagrams: Reference
Layer Diagrams: Guidelines
Validate code with layer diagrams
Visualize code

Afficher: