Procedura: integrare i modelli UML con altri modelli e strumenti
I modelli UML possono essere integrati con altri modelli e con i linguaggi specifici di dominio.
È possibile integrare modelli nelle modalità elencate di seguito, scrivendo codice di estensione per eseguire numerose funzioni:
Allegare riferimenti da qualsiasi elemento ad altri elementi, ad esempio file, o a elementi in altri modelli.
In un elemento UML è possibile archiviare collegamenti ad altri elementi UML, file o ad altri oggetti codificando le identità come stringhe.Ad esempio, è possibile scrivere un'estensione tramite cui collegare qualsiasi azione UML (ovvero un elemento in un diagramma di attività) a un altro diagramma di attività.Quando l'utente fa doppio clic sull'azione, viene visualizzato l'altro diagramma.In questo modo l'utente può fornire una visualizzazione più dettagliata dell'azione.
Sono disponibili due modalità per poter archiviare stringhe e altri dati in qualsiasi elemento:
Proprietà Stereotype. È possibile definire un profilo UML in cui viene definito uno stereotipo tramite cui vengono aggiunte proprietà a tipi specificati di elemento UML.Ad esempio, è possibile definire un profilo che consente di aggiungere una proprietà denominata MoreDetail a un'azione UML.È possibile scrivere codice di estensione che consente di archiviare dati di collegamento in un'azione applicando lo stereotipo all'azione e archiviando quindi i dati nella proprietà.
Lo stereotipo e le relative proprietà sono visibili all'utente nella finestra Proprietà.
Per distribuire questa estensione, comprimere la definizione del profilo e il codice di estensione in una singola estensione di Visual Studio.
Per ulteriori informazioni, vedere Procedura: definire un profilo per estendere UML.
Per un progetto di esempio in cui un profilo viene distribuito con comandi di menu e gestori di movimenti, vedere Esempio: profili UML.
Riferimenti. È possibile allegare un set di stringhe a qualsiasi elemento UML.È possibile scrivere codice che consente di archiviare le informazioni quali un nome file o il GUID di un altro elemento.Questa operazione può essere eseguita senza fornire definizioni aggiuntive.I riferimenti non sono direttamente visibili all'utente.
Per ulteriori informazioni, vedere Procedura: allegare stringhe di riferimento agli elementi di modello.Per un esempio, vedere Collegamento di elementi UML a diagrammi o ad altri file.
Sono disponibili due modalità per codificare i riferimenti a elementi modello:
GUID e nome file dell'elemento modello di destinazione e del modello in cui è contenuto, o un particolare diagramma in cui viene visualizzato.
Per un esempio, vedere Collegamento di elementi UML a diagrammi o ad altri file.
Riferimenti a ModelBus. ModelBus è un framework per la creazione e la risoluzione di riferimenti tra modelliin cui è incluso il selettore che consente all'utente di selezionare un elemento in un modello.Inoltre, tramite questo framework l'utente può risolvere riferimenti persi a causa di modifiche nel modello di destinazione.
Per ulteriori informazioni, vedere Integrazione di modelli tramite ModelBus di Visual Studio.
Propagare modifiche da un modello a un altro.
Ad esempio, è possibile sincronizzare il nome di un elemento con il nome del diagramma collegato, in modo che se l'utente modifica uno, viene modificato anche l'altro.Sono disponibili due meccanismi per eseguire questa operazione:Regole VMSDK. Possono essere utilizzate per propagare modifiche nello stesso modello.
Per un esempio, vedere Collegamento di elementi UML a diagrammi o ad altri file.
Eventi VMSDK. Possono essere utilizzati per propagare modifiche al di fuori del modello; ad esempio, per modificare il nome del file di un documento collegato o un elemento in un altro modello.
Per informazioni su questi due meccanismi, vedere Procedura: rispondere alle modifiche in un modello UML.
Trascinare gli elementi per copiarli da un modello a un altro.
È possibile consentire all'utente di creare elementi trascinandoli su un diagramma UML.L'elemento creato non deve essere una copia dell'originale.Ad esempio, è possibile consentire all'utente di trascinare un diagramma di attività da Esplora soluzioni su un altro diagramma di attività, per creare una nuova azione.Per ulteriori informazioni, vedere Procedura: definire un gestore movimenti in un diagramma di modellazione e Procedura: aggiungere un gestore di trascinamento della selezione.
Esempi
Per visualizzare il codice di esempio, vedere Collegamento di elementi UML a diagrammi o ad altri file.Nell'esempio gli utenti possono trascinare un file su qualsiasi elemento UML e aprirlo successivamente facendo doppio clic sull'elemento.Ad esempio, è possibile collegare un diagramma di attività a un elemento del caso di utilizzo.Un'icona mostra gli elementi con collegamenti.
In questo esempio di codice vengono illustrate le tecniche seguenti:
Procedura: allegare stringhe di riferimento agli elementi di modello
Nel codice di esempio vengono archiviati i percorsi dei file e i GUID degli elementi nelle stringhe di riferimento associate all'elemento.
Come aggiungere elementi Decorator a elementi UMLPer informazioni generali sugli elementi Decorator, vedere Personalizzare i campi di immagini e testo.
Nell'esempio viene aggiunto un elemento Decorator dell'immagine alle forme UML.
Procedura: rispondere alle modifiche in un modello UML
Nell'esempio viene illustrato come definire una regola che risponde alle nuove forme visualizzate su un diagramma.
Procedura: definire un comando di menu in un diagramma di modellazione
Procedura: definire un gestore movimenti in un diagramma di modellazione
L'esempio illustra come gestire elementi trascinati da Esplora risorse (o Esplora file), da Esplora soluzioni e da altri elementi UML.
Per un esempio di modello UML che può essere letto da un linguaggio specifico di dominio, vedere Procedura: aggiungere un gestore di trascinamento della selezione.
Vedere anche
Concetti
Procedura: definire un comando di menu in un diagramma di modellazione
Procedura: definire un gestore movimenti in un diagramma di modellazione
Procedura: aggiungere un gestore di trascinamento della selezione
Procedura: rispondere alle modifiche in un modello UML