Partager via


Programmation à l'aide de l'API UML

L'API UML de Visual Studio Ultimate vous permet d'écrire du code pour créer, lire et mettre à jour des modèles et des diagrammes UML.

En plus de pages de référence de l'API, les rubriques suivantes décrivent cette dernière.

Rubrique

Exemples de types et de méthodes décrits

Fonctionnalités décrites

Comment : naviguer parmi les relations avec l'API UML

Éléments UML, leurs propriétés et leurs associations. Par exemple, IElement et ses descendants, notamment : IClass, IActivity, IUseCase, IComponent, IInteraction, IModel, IPackage

Dans Visual Studio Ultimate, les modèles UML sont conformes à la spécification UML version 2.1.2, qui peut être obtenue sur la Page de ressource UML. Chaque type est une interface qui possède le même nom que le type UML, préfixé avec la lettre « I ».

Comment : créer des éléments et des relations

IPackage.CreateClass()

IClass.CreateOperation()

Chaque type d'élément dispose de méthodes pour la création de ses enfants.

Comment : afficher un modèle sur des diagrammes

IShape, IDiagram

IShape.Move()

Chaque élément de modèle peut être représenté comme une forme de diagramme. Dans certains cas, vous pouvez créer des formes pour chaque objet. Vous pouvez déplacer, redimensionner, colorer, réduire ou encore développer ces formes.

Comment : naviguer dans le modèle UML

IModelStore

IDiagramContext

Le magasin de modèles stocke le modèle.

Le contexte de diagramme vous permet d'accéder au diagramme et au magasin actuels.

Comment : lier des mises à jour de modèles à l'aide de transactions

ILinkedUndoContext

Vous pouvez lier une série de modifications dans une transaction.

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

IMenuCommand

IGestureExtension

ICommandExtension

Vous pouvez étendre les fonctionnalités d'un diagramme en définissant des commandes appelées en double-cliquant dessus et en les faisant glisser vers le diagramme.

Comment : définir des contraintes de validation pour les modèles UML

ValidationContext

Vous pouvez définir des règles de validation qui vous permettent de vérifier qu'un modèle est conforme aux contraintes spécifiées.

Comment : obtenir de l'interface IDataObject des éléments de modèles UML

IElement, IShape

Lorsqu'un élément fait l'objet d'un glissement depuis l'Explorateur de modèles UML ou un diagramme UML vers un autre diagramme ou une autre application, il est sérialisé en tant qu'IDataObject.

Comment : modifier des diagrammes de séquence à l'aide de l'API UML

IInteraction, ILifeline, IMessage

La création et la mise à jour d'un diagramme d'interaction diffèrent légèrement de l'utilisation des autres types de diagrammes.

Extension des diagrammes de couche

ILayer, ILayerDiagram

Vous pouvez écrire du code pour créer et modifier des diagrammes de couche, ainsi que valider le code du programme par rapport à ces derniers.

À propos de l'implémentation

Les outils de modélisation UML reposent sur les Outils DSL (Domain-Specific Language). Chaque package et chaque diagramme est représenté par un modèle Outils DSL (Domain-Specific Language), et une collection de règles et d'autres méthodes maintient la cohérence entre eux.

Les types provenant de cette plateforme sont visibles dans certains assemblys que vous référencez pour écrire des extensions UML. Bien que vous puissiez créer des extensions des outils UML en accédant à l'API Outils DSL (Domain-Specific Language), vous devez garder à l'esprit les considérations suivantes :

  • Vous pouvez découvrir que certaines modifications apparemment simples introduisent des incohérences et des effets inattendus.

  • L'implémentation peut changer à l'avenir, de sorte que les adaptations que vous faites à l'aide de l'API Outils DSL (Domain-Specific Language) ne fonctionneront peut-être plus.

Assemblys de l'API

Ce tableau récapitule les assemblys qui fournissent une extensibilité pour les outils UML, et les espaces de noms qu'il vous est recommandé d'utiliser.

Assembly

Espaces de noms

Fournit l'accès à :

Microsoft.VisualStudio.Uml.Interfaces

(Tous)

Types UML

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml

Méthodes de création

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation

Diagrammes et formes

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Projet de modélisation

Microsoft.VisualStudio.Modeling.Sdk.12.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

Extension de commande de menu

Transactions d'annulation liées

Microsoft.VisualStudio.Modeling.Validation

Validation

(autres espaces de noms)

Recommandé uniquement pour une utilisation avancée

Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0

Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement

Gestionnaires de mouvements

(autres espaces de noms)

Recommandé uniquement pour une utilisation avancée

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Liens aux éléments de travail

Microsoft.TeamFoundation.WorkItemTracking.Client

Microsoft.TeamFoundation.WorkItemTracking.Client

Éléments de travail et leurs champs

Microsoft.TeamFoundation.Client

Microsoft.TeamFoundation.Client

Éléments de travail et leurs champs

System.ComponentModel.Composition

System.ComponentModel.Composition

Exportation et importation pour les composants MEF

System.Linq

System.Linq

Manipulation facile des collections, notamment lors du traitement de relations.

Voir aussi

Concepts

Extension de modèles et de diagrammes UML

Autres ressources

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