Comment : intégrer des modèles UML à d'autres modèles et outils
Les modèles UML peuvent être intégrés à d'autres modèles, ainsi qu'à des langages spécifiques à un domaine.
Vous pouvez intégrer des modèles de différentes façons en écrivant un code d'extension qui exécute diverses fonctions :
Joignez des références d'un élément à d'autres éléments, par exemple des fichiers, ou aux éléments contenus dans d'autres modèles.
Dans un élément UML, vous pouvez stocker des liens vers d'autres éléments UML, des fichiers ou d'autres objets en encodant leurs identités sous forme de chaînes.Par exemple, vous pouvez écrire une extension qui relie une action UML (c'est-à-dire un élément dans un diagramme d'activités) à un autre diagramme d'activités. Lorsque l'utilisateur double-clique sur l'action, l'autre diagramme s'ouvre. L'utilisateur peut ainsi afficher une vue plus détaillée de l'action.
Vous pouvez stocker les chaînes et autres données de tout élément de deux façons différentes :
Propriétés de stéréotype. Vous pouvez définir un profil UML, dans lequel vous définissez un stéréotype qui ajoute des propriétés à des types spécifiques d'éléments UML. Par exemple, vous pouvez définir un profil qui ajoute une propriété nommé MoreDetail à une action UML. Vous pouvez écrire un code d'extension qui stocke des données de lien dans une action en appliquant le stéréotype à l'action, puis en stockant les données dans la propriété.
L'utilisateur peut afficher le stéréotype et ses propriétés dans la fenêtre Propriétés.
Pour déployer cette extension, vous devez empaqueter la définition de profil et le code d'extension dans une extension Visual Studio unique.
Pour plus d'informations, consultez Comment : définir un profil pour étendre UML.
Pour obtenir un exemple de projet dans lequel un profil est déployé avec les commandes de menu et des gestionnaires de déplacement, consultez Exemple : Profils UML (page éventuellement en anglais).
Références. Vous pouvez joindre un ensemble de chaînes à n'importe quel élément UML. Vous pouvez écrire un code qui stocke des informations telles que le nom de fichier ou le GUID d'un autre élément. Cette opération peut être effectuée sans fournir de définitions supplémentaires. L'utilisateur ne peut pas voir directement les références.
Pour plus d'informations, consultez Comment : attacher des chaînes de référence à des éléments de modèle. Pour obtenir un exemple, consultez Lier des éléments UML à des diagrammes ou d'autres fichiers (page éventuellement en anglais).
Vous pouvez encoder des références aux éléments de modèle de deux façons différentes :
GUID et nom de fichier de l'élément de modèle cible et du modèle qui le contient, ou d'un diagramme particulier qui l'affiche.
Pour obtenir un exemple, consultez Lier des éléments UML à des diagrammes ou d'autres fichiers (page éventuellement en anglais).
Références ModelBus. ModelBus est une infrastructure de création et de résolution de références entre des modèles. Elle comprend le sélecteur ModelBus, qui permet à l'utilisateur de sélectionner un élément dans un modèle. Elle permet également à l'utilisateur à résoudre des références perdues en raison de modifications apportées au modèle cible.
Pour plus d'informations, consultez Intégration de modèles à l'aide de Visual Studio Modelbus.
Propagez des modifications d'un modèle à un autre.
Par exemple, vous pouvez synchroniser le nom d'un élément avec le nom du diagramme lié, de sorte que si l'utilisateur en modifie un, l'autre est également modifié. Pour ce faire, vous pouvez recourir à l'une des deux méthodes suivantes :Des règles VMSDK peuvent être utilisées pour propager des modifications à l'intérieur d'un même modèle.
Pour obtenir un exemple, consultez Lier des éléments UML à des diagrammes ou d'autres fichiers (page éventuellement en anglais).
Des événements VMSDK peuvent être utilisés pour propager des modifications à l'extérieur du modèle ; par exemple, pour modifier le nom de fichier d'un document lié ou modifier un élément dans un autre modèle.
Pour plus d'informations sur ces deux méthodes, consultez Comment : répondre à des modifications dans un modèle UML.
Faites glisser les éléments pour les copier d'un modèle vers un autre.
Vous pouvez laisser l'utilisateur créer des éléments en les faisant glisser sur un diagramme UML. L'élément créé ne doit pas nécessairement être une copie de l'original. Par exemple, vous pouvez laisser l'utilisateur faire glisser un diagramme d'activités depuis l'Explorateur de solutions vers un autre diagramme d'activités, pour créer une nouvelle action.Pour plus d'informations, consultez Comment : définir un gestionnaire de mouvements sur un diagramme de modélisation et Comment : ajouter un gestionnaire glisser-déplacer.
Exemples
Pour obtenir un exemple de code, consultez Lier des éléments UML à des diagrammes ou d'autres fichiers (page éventuellement en anglais). L'exemple permet aux utilisateurs de faire glisser un fichier sur un élément UML, puis d'ouvrir le fichier en double-cliquant sur l'élément. Par exemple, vous pouvez lier un diagramme d'activités à un élément de cas d'usage. Une icône affiche les éléments disposant de liens.
L'exemple de code suivant illustre ces techniques :
Comment : attacher des chaînes de référence à des éléments de modèle
L'exemple de code stocke les chemins d'accès des fichiers et les GUID des éléments dans des chaînes de référence associées à l'élément.
Ajout d'éléments décoratifs aux éléments UML. Pour obtenir des informations générales sur les éléments décoratifs, consultez Personnalisation des champs de texte et d'image.
L'exemple ajoute un élément décoratif d'image aux formes UML.
Comment : répondre à des modifications dans un modèle UML
L'exemple montre comment définir une règle qui répond aux nouvelles formes qui s'affichent sur un diagramme.
Comment : définir une commande de menu sur un diagramme de modélisation
Comment : définir un gestionnaire de mouvements sur un diagramme de modélisation
L'exemple montre comment gérer les éléments déplacés de l'Explorateur Windows (ou de l'Explorateur de fichiers), de l'explorateur de solutions, et d'autres éléments UML.
Pour obtenir un exemple dans lequel un modèle UML est lu par un langage spécifique à un domaine, consultez Comment : ajouter un gestionnaire glisser-déplacer.
Voir aussi
Concepts
Comment : définir une commande de menu sur un diagramme de modélisation
Comment : définir un gestionnaire de mouvements sur un diagramme de modélisation
Comment : ajouter un gestionnaire glisser-déplacer
Comment : répondre à des modifications dans un modèle UML
Autres ressources
Exemple : Profils UML (page éventuellement en anglais)
Lier des éléments UML à des diagrammes ou d'autres fichiers (page éventuellement en anglais)