Estensione di modelli e diagrammi UML

In questo argomento vengono riepilogati i diversi modi in cui è possibile estendere gli strumenti di modellazione UML di Visual Studio Ultimate.

Nello scenario di esempio seguente, Fabrikam progetta e installa sistemi di gestione bagagli in aeroporto.Dal progetto di un aeroporto all'altro, ci sono molte similitudini nell'attrezzatura di base e nel software che la controlla.Tuttavia, sono presenti anche diversi fattori che variano notevolmente, ad esempio la configurazione di nastri trasportatori, i banchi dell'accettazione, i contenitori di stoccaggio e altre apparecchiature per la gestione dei bagagli.

All'inizio di un nuovo progetto, il team di Fabrikam crea un modello UML per discutere dei requisiti internamente e con il cliente.Utilizzano i diagrammi di attività per rappresentare il flusso bagagli, con nodi oggetto che rappresentano ogni parte dell'attrezzatura.Il modello UML non rappresenta direttamente il codice del sistema.

Il team degli strumenti di Fabrikam appronta una serie di miglioramenti per i team di sviluppo.Nelle sezioni seguenti vengono descritti i tipi diversi di estensione che è possibile definire.È possibile combinare tra loro molte di queste tecniche in un unica estensione di Visual Studio.

Per ulteriori informazioni, vedere questo video: Collegamento a videoserie di MSDN Ricerca per categorie: Strumenti e l'estensibilità UML.

Requisiti

Profili

I profili consentono di definire gli stereotipi e le proprietà aggiuntive degli elementi UML.

Gli sviluppatori di strumenti di Fabrikam definiscono gli stereotipi nei nodi oggetto dei diagrammi di attività, ad esempio «nastro trasportatore» e «banco dell'accettazione».Quando un membro del team crea uno schema per la gestione bagagli utilizzando un diagramma di attività, può ora impostare gli stereotipi per indicare il tipo di attrezzatura rappresentato da ciascun nodo.Gli sviluppatori di strumenti definiscono le proprietà aggiuntive in alcuni stereotipi, in modo da consentire agli utenti di registrare i valori come la capacità di un nastro trasportatore e la manovrabilità da un banco dell'accettazione.

Per ulteriori informazioni, vedere Procedura: definire un profilo per estendere UML.

Elementi della casella degli strumenti personalizzati

Un elemento della casella degli strumenti personalizzato crea un elemento o un gruppo di elementi da un prototipo definito in un diagramma.È possibile ad esempio creare un strumento che crea casi di utilizzo in un particolare colore o stereotipo oppure un gruppo di classi e associazioni che rappresenta un modello di progettazione.È possibile aggiungere tali elementi della casella degli strumenti in un progetto Visual Studio Extension e distribuirlo ad altri utenti.

Per ulteriori informazioni, vedere Procedura: definire un elemento personalizzato della Casella degli strumenti di modellazione.

Convalida

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

Gli sviluppatori di strumenti di Fabrikam definiscono le regole per evitare ai membri del team di commettere dei semplici errori nei modelli di gestione dei bagagli.Ad esempio, un banco dell'accettazione non può essere connesso direttamente al contenitore di stoccaggio,ma tra essi deve esserci almeno un nastro trasportatore.

Per ulteriori informazioni, vedere Procedura: definire vincoli di convalida per i modelli UML.

Comandi di menu

È possibile definire i comandi che gli utenti possono richiamare facendo clic con il pulsante destro del mouse sugli elementi in un diagramma UML.I comandi possono aggiornare il modello e i diagrammi o possono eseguire altre operazioni in Visual Studio.

Fabrikam definisce i comandi di menu per automatizzare le operazioni eseguite più di frequente, ad esempio creare un banco dell'accettazione e connetterlo a un nastro trasportatore selezionato o ridisporre un diagramma in base alle regole di layout della società.

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

Movimenti

È possibile definire i comandi che gli utenti avviano facendo doppio clic su un elemento del diagramma o trascinando un elemento nel diagramma.È possibile definire i comandi che possono gestire gli elementi trascinati da altri diagrammi UML, da altre parti di Visual Studio oppure da altre applicazioni o da Esplora risorse (o Esplorazione file).

I membri del team di Fabrikam possono associare un file, ad esempio una specifica, a qualsiasi elemento del modello trascinandolo dal desktop di Windows.Gli sviluppatori di strumenti hanno definito uno stereotipo che fornisce a qualsiasi elemento una proprietà del percorso del file e un movimento che imposta lo stereotipo e il percorso del file quando un file viene rilasciato su un elemento.

Per ulteriori informazioni, vedere Procedura: definire un gestore movimenti in un diagramma di modellazione.

Risposta alle modifiche

È possibile scrivere codice che risponda alle modifiche del modello, sia per modifiche determinate da azioni dell'utente che da altro codice del programma.

Gli sviluppatori di Fabrikam creano codice che consente di impostare automaticamente il colore di un dipendente di elemento sul relativo stereotipo.Questo consente agli utenti di distinguere con maggior semplicità i diversi ruoli assegnati agli elementi dei modelli.

Per ulteriori informazioni, vedere Procedura: rispondere alle modifiche in un modello UML.

Model Bus

Modellare Bus consente di accedere a un diagramma o a un modello da un altro diagramma o da un altro progetto Visual Studio Extension.Consente inoltre, tra le altre cose, di distribuire le informazioni attraverso più modelli, in modo tale che diverse persone possano lavorare contemporaneamente sul modello combinato.

Fabrikam utilizza gli elementi dei diagrammi di attività per rappresentare l'attrezzatura di gestione dei bagagli.Ogni elemento dell'attrezzatura può avere una specifica più dettagliata in un altro diagramma che può trovarsi in un altro modello.I vincoli di convalida del diagramma di flusso bagagli possono recuperare le proprietà rilevanti dell'attrezzatura dagli altri diagrammi.I riferimenti agli altri diagrammi vengono archiviati in proprietà aggiuntive definite negli stereotipi.

Per ulteriori informazioni, vedere Procedura: integrare i modelli UML con altri modelli e strumenti.

Generazione

Da un modello è possibile generare codice programma, script, configurazioni, documenti, nuovi modelli o altri elementi.

Nei sistemi per bagagli che Fabrikam progetta, molto del codice programma è lo stesso da un progetto all'altro.L'aspetto variabile principale è il piano del flusso bagagli nell'aeroporto.Una volta che il team della progettazione ha acquisito esperienza con i primi progetti, gli sviluppatori di strumenti creano un modello che genera, dal modello di flusso bagagli, molto del codice programma variabile e altri file come i documenti utente.In questo modo, per ogni nuovo progetto vengono notevolmente ridotti il tempo di sviluppo e la percentuale di errore.

Per ulteriori informazioni, vedere Procedura: generare file da un modello UML.

Integrazione di Team Foundation Server

È possibile collegare gli elementi di lavoro agli elementi del modello e accedere agli elementi collegati a livello di codice.

Gli sviluppatori di strumenti di Fabrikam scrivono un strumento che genera una pianificazione del lavoro per ogni progetto di aeroporto.Gli elementi di lavoro nella pianificazione sono collegati agli elementi del modello.

Per ulteriori informazioni, vedere Procedura: definire un gestore dei collegamenti agli elementi di lavoro.

Strumenti per l'aggiornamento dei modelli

È possibile creare applicazioni autonome ed estensioni di Visual Studio in grado di caricare modelli UML.

Gli sviluppatori di Fabrikam creano un strumento che legge un modello e genera rapporti dello stato di avanzamento di lavoro in ogni elemento del modello.

Per ulteriori informazioni, vedere Procedura: leggere un modello UML nel codice del programma.

Linguaggi specifici del dominio

Quando si utilizza con frequenza un tipo particolare di modello, può essere utile creare un linguaggio specifico del dominio.Questa operazione può soddisfare le esigenze aziendali in modo migliore rispetto a un modello UML, ma richiede uno sforzo maggiore a livello di compilazione e manutenzione.Per ulteriori informazioni, vedere SDK di visualizzazione e modellazione (linguaggi specifici di dominio).

Risorse esterne

Category

Collegamenti

Video

Collegamento a video

Collegamento a video

Forum

Blog

Visual Studio ALM + Team Foundation Server Blog

Articoli e pubblicazioni tecniche

Articolo del numero 23 di The Architecture Journal dedicato alla modellazione dell'architettura e ai relativi processi

Altri siti

Area Architetti MSDN

Vedere anche

Concetti

Sviluppo di modelli per la progettazione software

Altre risorse

Riferimento API per l'estensibilità di modellazione UML