Extension de modèles et de diagrammes UML

Cette rubrique résume les différentes méthodes d'extension des outils de modélisation UML de Visual Studio Ultimate.

Dans l'exemple de scénario qui suit, Fabrikam conçoit et installe des systèmes de gestion des bagages dans les aéroports. D'un projet aéroportuaire à un autre, il existe de nombreuses similitudes dans l'équipement de base et les logiciels qui le contrôlent. Cependant, il existe également plusieurs facteurs qui varient considérablement, comme la configuration des tapis roulants, des comptoirs d'enregistrement, des conteneurs de stockage et autres équipements de gestion des bagages.

Lors du démarrage d'un nouveau projet, l'équipe de Fabrikam crée un modèle UML pour permettre d'évoquer ces impératifs entre eux et avec leur client. Ils utilisent des diagrammes d'activités pour représenter le flux de sacs, avec des nœuds d'objets représentant chaque appareil. Le modèle UML ne représente pas directement le code du système.

L'équipe des outils de Fabrikam crée une série d'améliorations pour épauler les équipes de développement. Les sections suivantes décrivent les différents genres d'extensions que vous pouvez définir. Vous pouvez combiner plusieurs de ces techniques dans une extension Visual Studio.

Profils

Les profils vous permettent de définir des stéréotypes et des propriétés supplémentaires sur des éléments UML.

Les développeurs d'outils de Fabrikam définissent des stéréotypes sur les nœuds d'objets de diagrammes d'activités, comme le « tapis roulant » et le « comptoir d'enregistrement ». Lorsqu'un membre de l'équipe crée un modèle de gestion des bagages à l'aide d'un diagramme d'activités, il peut désormais définir des stéréotypes pour indiquer le type d'équipement que chaque nœud représente. Les développeurs d'outils définissent des propriétés supplémentaires sur certains des stéréotypes, afin que les utilisateurs puissent enregistrer des valeurs telles que la capacité d'un tapis roulant et l'ergonomie d'un comptoir d'enregistrement.

Pour plus d'informations, consultez Comment : définir un profil pour étendre UML.

Éléments personnalisés de la boîte à outils

Un élément personnalisé de la boîte à outils crée un élément ou un groupe d'éléments à partir d'un prototype que vous définissez dans un diagramme. Par exemple, vous pouvez créer un outil qui crée des cas d'usage dans une couleur ou un stéréotype particulier, ou encore un groupe de classes et d'associations qui représente un modèle de conception. Vous pouvez ajouter ces éléments de la boîte à outils à des extensions Visual Studio et les distribuer à d'autres utilisateurs.

Pour plus d'informations, consultez Comment : définir un élément de boîte à outils de modélisation personnalisé.

Validation

Vous pouvez définir des règles pour garantir qu'un modèle UML respecte les contraintes spécifiées.

Les développeurs d'outils de Fabrikam définissent des règles pour permettre aux membres de l'équipe d'éviter de commettre des erreurs simples dans les modèles de gestion des bagages. Par exemple, un comptoir d'enregistrement ne peut pas être directement connecté à un conteneur de stockage. Un tapis roulant doit au moins se trouver entre eux.

Pour plus d'informations, consultez Comment : définir des contraintes de validation pour les modèles UML.

Commandes de menu

Vous pouvez définir des commandes que les utilisateurs peuvent appeler en cliquant avec le bouton droit sur les éléments d'un diagramme UML. Les commandes peuvent mettre à jour le modèle et les diagrammes ou exécuter d'autres opérations dans Visual Studio.

Fabrikam définit des commandes de menus pour automatiser les opérations fréquemment exécutées, comme la création d'un comptoir d'enregistrement et sa connexion à un tapis roulant sélectionné, ou encore la réorganisation d'un diagramme conformément aux règles de disposition de l'entreprise.

Consultez Comment : définir une commande de menu sur un diagramme de modélisation.

Mouvements

Vous pouvez définir des commandes que les utilisateurs lancent en double-cliquant sur un élément de diagramme, ou en le faisant glisser vers un diagramme ou un élément du diagramme. Vous pouvez également définir des commandes qui peuvent concerner des éléments faisant l'objet d'un glissement depuis d'autres diagrammes UML, d'autres parties de Visual Studio, d'autres applications ou encore depuis l'Explorateur Windows.

Les membres de l'équipe Fabrikam peuvent associer un fichier tel qu'une spécification à un élément de modèle en le faisant glisser depuis le bureau Windows. Les développeurs d'outils ont défini un stéréotype qui fournit un élément avec une propriété de chemin d'accès au fichier, ainsi qu'un mouvement qui définit le stéréotype et le chemin d'accès au fichier lorsqu'un fichier est déplacé vers un élément.

Pour plus d'informations, consultez Comment : définir un gestionnaire déposer et double-cliquer sur un diagramme de modélisation.

Adaptation aux changements

Vous pouvez écrire du code qui répond aux modifications dans le modèle, que celles-ci résultent des actions utilisateur ou d'un autre code de programme.

Les développeurs de Fabrikam créent du code qui définit automatiquement la couleur d'un élément en fonction de son stéréotype. Ainsi, les utilisateurs distinguent plus facilement les différents rôles joués par les éléments dans les modèles.

Pour plus d'informations, consultez Comment : répondre à des modifications dans un modèle UML.

Bus de modèle

Le bus de modèle vous permet d'accéder à un diagramme ou un modèle à partir d'un autre diagramme ou d'une autre extension Visual Studio. Entre autres choses, cela vous permet de diffuser les informations à travers plusieurs modèles, afin que plusieurs personnes puissent travailler simultanément sur le modèle combiné.

Fabrikam utilise des éléments de diagrammes d'activités pour représenter l'équipement de gestion des bagages. Chaque élément de l'équipement peut disposer d'une spécification plus détaillée dans un autre diagramme, qui peut être dans un autre modèle. Les contraintes de validation du diagramme de flux de bagages peuvent extraire des propriétés pertinentes de l'équipement à partir des autres diagrammes. Les références aux autres diagrammes sont stockées dans des propriétés supplémentaires définies dans les stéréotypes.

Pour plus d'informations, consultez Comment : intégrer des modèles UML à d'autres modèles et outils.

Génération

À partir d'un modèle, vous pouvez générer un code de programme, des scripts, des configurations, des documents, de nouveaux modèles ou encore d'autres artefacts.

Dans les systèmes de gestion des bagages que conçoit Fabrikam, la majeure partie du code de programme est la même d'un projet à l'autre. L'aspect le plus variable est le plan du flux de bagages autour de l'aéroport. Une fois que l'équipe de conception a traité ses premiers projets, les développeurs d'outils créent un modèle qui génère, à partir du modèle du flux de bagages, la majeure partie du code de programme variable et d'autres fichiers tels que les documents utilisateur. Cela réduit considérablement le temps de développement et le taux d'erreurs pour chaque nouveau projet.

Pour plus d'informations, consultez Comment : générer des fichiers à partir d'un modèle UML.

Intégration de Team Foundation Server

Vous pouvez lier des éléments de travail aux éléments de modèles et accéder aux éléments liés par programmation.

Les développeurs d'outils de Fabrikam créent un outil qui génère un planning de travail pour chaque projet aéroportuaire. Les éléments de travail du planning sont liés aux éléments de modèle.

Pour plus d'informations, consultez Comment : définir un gestionnaire de liens d'éléments de travail.

Outils de mise à jour de modèles

Vous pouvez créer des applications autonomes et des extensions Visual Studio qui peuvent charger des modèles UML.

Les développeurs de Fabrikam créent un outil qui lit un modèle et génère des rapports concernant la progression du travail sur chaque élément du modèle.

Pour plus d'informations, consultez Comment : lire un modèle UML dans le code de programme.

Langages spécifiques au domaine

Là où vous utilisez fréquemment un type particulier de modèle, il peut être utile de créer un langage spécifique au domaine. Vous pouvez procéder ainsi pour respecter plus étroitement vos impératifs d'entreprise qu'un modèle UML, mais cela requiert plus d'efforts pour le créer et le maintenir. Pour plus d'informations, consultez Visualisation et modélisation du kit de développement logiciel (SDK) - Langages spécifiques à un domaine.

Configuration requise

Ressources externes

Catégorie

Liens

Videos

lien vers la vidéo

lien vers la vidéo

Forums

Blogs

Blog sur les outils d'architecture, de visualisation et de modélisation Visual Studio (page éventuellement en anglais)

Articles et journaux techniques

The Architecture Journal - Issue 23: Architecture Modeling and Processes

Autres sites

Portail Architectes

Voir aussi

Concepts

Développement de modèles pour la conception logicielle

Autres ressources

Référence des API pour l'extensibilité de la modélisation UML