Condividi tramite


Programmazione con l'API UML

L'API UML di Visual Studio Ultimate consente di scrivere codice per creare, leggere e aggiornare i modelli e i diagrammi UML.

Oltre alle pagine di riferimento dell'API, è possibile trovare una descrizione dell'API negli argomenti seguenti.

Argomento

Tipi e metodi di esempio descritti

Funzionalità descritte

Procedura: esplorare relazioni con l'API UML

Elementi UML e relative proprietà e associazioni.Ad esempio, IElement e relativi discendenti, tra cui: IClass, IActivity, IUseCase, IComponent, IInteraction, IModel, IPackage

In Visual Studio Ultimate i modelli UML sono conformi alla specifica UML versione 2.1.2 che è possibile ottenere dal sito Pagina delle risorse UML (la pagina potrebbe essere in inglese).Ogni tipo è un'interfaccia con lo stesso nome del tipo UML, preceduto da "I".

Procedura: creare elementi e relazioni

IPackage.CreateClass()

IClass.CreateOperation()

Ogni tipo di elemento dispone dei metodi per la creazione dei relativi elementi figlio.

Procedura: visualizzare un modello nei diagrammi

IShape, IDiagram

IShape.Move()

Ogni elemento in un modello può essere rappresentato come forma in un diagramma.In alcuni casi, è possibile creare nuove forme per ogni oggetto.Queste forme possono essere spostate, ridimensionate, colorate e compresse o espanse.

Procedura: esplorare il modello UML

IModelStore

IDiagramContext

L'archivio modelli in cui viene archiviato il modello.

Il contesto del diagramma consente di accedere al diagramma e all'archivio correnti.

Procedura: collegare aggiornamenti di modelli tramite transazioni

ILinkedUndoContext

È possibile collegare una serie di modifiche in un'unica transazione.

Procedura: definire un comando di menu in un diagramma di modellazione

IMenuCommand

IGestureExtension

ICommandExtension

È possibile estendere la funzionalità di un diagramma definendo i comandi richiamati facendo doppio clic e trascinando un elemento nel diagramma.

Procedura: definire vincoli di convalida per i modelli UML

ValidationContext

È possibile definire le regole di convalida per assicurarsi che un modello sia conforme ai vincoli specificati.

Procedura: ottenere elementi di modelli UML da IDataObject

IElement, IShape

Quando un elemento viene trascinato da Esplora modelli UML o da un diagramma UML in un altro diagramma o applicazione, viene serializzato come IDataObject.

Procedura: modificare i diagrammi di sequenza tramite l'API UML

IInteraction, ILifeline, IMessage

La creazione e l'aggiornamento di un diagramma di interazione sono leggermente diversi dall'utilizzo degli altri tipi di diagramma.

Estensione dei diagrammi livello

ILayer, ILayerDiagram

È possibile scrivere codice per creare e modificare diagrammi livello, nonché per convalidare il codice programma in base a essi.

Informazioni sull'implementazione

Gli strumenti di modellazione UML vengono compilati in Domain-Specific Language Tools.Ogni pacchetto e ogni diagramma è rappresentato da un modello Domain-Specific Language Tools e una raccolta di regole e altri metodi gestisce la coerenza tra di essi.

I tipi da quella piattaforma sono visibili in alcuni degli assembly a cui si fa riferimento per scrivere estensioni UML.Sebbene sia possibile creare estensioni agli strumenti UML accedendo all'API di Domain-Specific Language Tools, si tengano presenti le considerazioni seguenti:

  • È possibile che alcune modifiche in apparenza semplici introducano incoerenze ed effetti imprevisti.

  • È possibile che l'implementazione cambi in futuro, pertanto gli adattamenti effettuati utilizzando l'API di Domain-Specific Language Tools potrebbero non più funzionare.

Assembly dell'API.

In questa tabella vengono riepilogati gli assembly che forniscono estensibilità agli strumenti UML e agli spazi dei nomi che è consigliabile utilizzare.

Assembly

Spazi dei nomi

Fornisce l'accesso a:

Microsoft.VisualStudio.Uml.Interfaces

(Tutti)

Tipi UML.

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Uml

Metodi di creazione

Microsoft.VisualStudio.ArchitectureTools.Extensibility.Presentation

Forme e diagrammi

Microsoft.VisualStudio.ArchitectureTools.Extensibility

Progetto di modello

Microsoft.VisualStudio.Modeling.Sdk.11.0

Microsoft.VisualStudio.Modeling.ExtensionEnablement

Estensione del comando di menu.

Transazioni di annullamento collegate.

Microsoft.VisualStudio.Modeling.Validation

Convalida

(altri spazi dei nomi)

Consigliato solo per un utilizzo avanzato.

Microsoft.VisualStudio.Modeling.Sdk.Diagrams.11.0

Microsoft.VisualStudio.Modeling.Diagrams.ExtensionEnablement

Gestori movimenti.

(altri spazi dei nomi)

Consigliato solo per un utilizzo avanzato.

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Microsoft.VisualStudio.TeamFoundation.WorkItemTracking

Collegamenti a elementi di lavoro.

Microsoft.TeamFoundation.WorkItemTracking.Client

Microsoft.TeamFoundation.WorkItemTracking.Client

Elementi di lavoro e relativi campi.

Microsoft.TeamFoundation.Client

Microsoft.TeamFoundation.Client

Elementi di lavoro e relativi campi.

System.ComponentModel.Composition

System.ComponentModel.Composition

Esportazione e importazione per i componenti MEF

System.Linq

System.Linq

Semplice modifica di raccolte, soprattutto quando si tratta di relazioni.

Vedere anche

Concetti

Estensione di modelli e diagrammi UML

Altre risorse

Riferimento API per l'estensibilità di modellazione UML