Créer des diagrammes de dépendance à partir de votre code

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

Créer un diagramme de dépendances

Un diagramme de dépendances 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 les couches. Ces dépendances, qui sont représentées par des flèches, indiquent les couches qui utilisent ou peuvent utiliser 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.

Vidéo : Valider vos dépendances d’architecture en temps réel

Créer un diagramme de dépendances

Avant de créer un diagramme de dépendances, vérifiez que votre solution a un projet de modélisation.

Important

Vous ne pouvez pas ajouter, glisser-déposer ni copier un diagramme de dépendances existant d’un projet de modélisation dans un autre, ou dans 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.

À la place, ajoutez un nouveau diagramme de dépendances 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 dépendances.

Ajouter un nouveau diagramme de dépendances à un projet de modélisation

Notes

Les diagrammes de dépendances pour les projets .NET Core sont pris en charge à partir de Visual Studio 2019 version 16.2.

  1. Dans le menu Architecture, choisissez Nouveau diagramme de dépendances.

  2. Sous Modèles, choisissez diagramme de dépendances.

  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.

    Notes

    Le diagramme de dépendances 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 dépendances.

Glisser-déplacer, ou copier-coller, à partir d’une carte de code

  1. Générez une carte de code pour la solution à l’aide du menu Architecture.

  2. Envisagez d’appliquer un filtre Carte de code pour supprimer les dossiers de solution et les « ressources de test » si vous souhaitez uniquement appliquer des dépendances dans le code de produit.

  3. Sur la carte de code générée, supprimez le nœud « Externe » ou développez-le pour afficher les assemblys externes, selon que vous souhaitez appliquer des dépendances d’espace de noms. Supprimez les assemblys non obligatoires dans la carte de code.

  4. Créez un diagramme de dépendances pour la solution à l’aide du menu Architecture.

  5. Sélectionnez tous les nœuds sur la carte de code (utilisez Ctrl + A ou la sélection élastique en appuyant sur la touche Maj avant de cliquer, de faire glisser et de libérer).

  6. Glissez-déplacez ou copiez-collez les éléments sélectionnés dans le nouveau diagramme de validation des dépendances.

  7. Cela affiche l’architecture actuelle de l’application. Déterminez ce que vous voulez que l’architecture soit et modifiez le diagramme de dépendances en conséquence.

Diagramme de dépendances généré à partir d’une carte de code

Créer les couches à partir d'artefacts

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.

Vous pouvez lier des couches à des éléments qui ne prennent pas en charge la validation, tels que des documents Word ou des présentations PowerPoint. Cela vous permet d’associer une couche à des spécifications ou à des plans. 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. Consultez Gestion des liens vers les artefacts.

To Procédez comme suit
Créer une couche pour un artefact unique
  1. Faites glisser l’élément sur le diagramme de dépendances à 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 dépendances 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és Faites glisser en même temps tous les artefacts vers le diagramme de dépendances.

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 dépendances 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 dépendances, puis faites glisser un élément Couche vers le diagramme de dépendances.

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 dépendances, choisissez Ajouter, puis Couche.
Créer des couches imbriquées Faites glisser une couche existante sur une autre couche.

- ou -

Ouvrez le menu contextuel d’une couche, choisissez Ajouter, puis Couche.
Créer une nouvelle couche qui contient deux ou plusieurs couches existantes Sélectionnez les couches, ouvrez le menu contextuel de votre sélection, puis choisissez Grouper.
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é Espace de noms obligatoires 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ésente 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.

Gérer les liens entre les couches et les artefacts

  1. Dans le diagramme de dépendances, 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 :

To Dans l'Explorateur de couches
Supprimer le lien entre la couche et un artefact Ouvrez le menu contextuel du lien de l’artefact, puis choisissez 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 -

1. Ouvrez le menu contextuel du lien de l’artefact, puis choisissez Couper.
2. Dans le diagramme de dépendances, ouvrez le menu contextuel de la couche, puis choisissez Coller.
Copier le lien d'une couche vers une autre 1. Ouvrez le menu contextuel du lien de l’artefact, puis choisissez Copier.
2. Dans le diagramme de dépendances, ouvrez le menu contextuel de la couche, puis choisissez Coller.
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 dépendances. Recherchez le lien d’artefact dans la colonne Prend en charge la validation.

Dépendances existantes d'ingénierie à rebours

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.

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.

    Si vous voyez certaines dépendances qui ne doivent pas exister, vous pouvez les modifier pour les aligner sur la conception prévue.

Modifier les couches et les dépendances pour afficher 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 dépendances :

To Exécuter ces étapes
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é, 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é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é 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é Espace de noms obligatoires de la couche. Utilisez un point-virgule (;) pour séparer les espaces de noms.

Modifier la façon dont les éléments apparaissent sur le diagramme

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.

Découvrir des modèles et des dépendances sur une carte de code

Lors de la création de diagrammes de dépendances, 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 :