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 |
---|---|---|
É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 ». |
|
IPackage.CreateClass() IClass.CreateOperation() |
Chaque type d'élément dispose de méthodes pour la création de ses enfants. |
|
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. |
|
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. |
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.Presentation |
||
Microsoft.VisualStudio.Modeling.Sdk.12.0 |
||
(autres espaces de noms) |
Recommandé uniquement pour une utilisation avancée |
|
Microsoft.VisualStudio.Modeling.Sdk.Diagrams.12.0 |
Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement |
|
(autres espaces de noms) |
Recommandé uniquement pour une utilisation avancée |
|
Microsoft.VisualStudio.TeamFoundation.WorkItemTracking |
||
Microsoft.TeamFoundation.WorkItemTracking.Client |
||
Microsoft.TeamFoundation.Client |
||
System.ComponentModel.Composition |
||
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