|
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
|
Traduzione
Originale
|
Diagrammi di sequenza UML: linee guida
-
I diagrammi di sequenza UML che fanno parte dei progetti di modello UML. In questo argomento vengono illustrati i diagrammi di sequenza UML. Per creare un diagramma sequenza UML, scegliere Nuovo diagramma dal menu Architettura. Per ulteriori informazioni sugli elementi di un diagramma di sequenza, vedere Diagrammi di sequenza UML: riferimenti. Per una dimostrazione video, vedere Delineando alcuni cenni sulle interazioni utilizzando i diagrammi di sequenza (2010). -
I diagrammi sequenza basati sul codice che possono essere generati dal codice programma .NET. Per ulteriori informazioni, vedere Visualizzare il codice generando diagrammi di sequenza e serie di MSDN Ricerca per categorie: Come generare diagrammi di sequenza UML (2010).
-
Se si dispone di un diagramma caso di utilizzo che riepiloga gli utenti del sistema e i relativi obiettivi, è possibile creare diagrammi di sequenza per descrivere il modo in cui i componenti principali del sistema interagiscono per il raggiungimento dell'obiettivo di ogni caso di utilizzo. Per ulteriori informazioni, vedere Diagrammi casi di utilizzo UML: linee guida. -
Se sono stati identificati messaggi in arrivo in un'interfaccia di un componente, è possibile creare diagrammi di sequenza per descrivere il modo in cui le parti interne del componente interagiscono per raggiungere il risultato richiesto per ogni messaggio in arrivo. Per ulteriori informazioni, vedere Diagrammi dei componenti UML: linee guida.
-
È possibile vedere facilmente il modo in cui le attività vengono distribuite tra i componenti. -
È possibile identificare i modelli di interazione che rendono difficile l'aggiornamento del software.
Linee di vita e tipi
Tipi di parametro.
Dettagli del caso di utilizzo
Codice sorgente
Nota
|
|---|
|
|
Per creare un diagramma di sequenza
-
Scegliere Nuovo diagramma dal menu Architettura. -
Nel riquadro Modelli fare clic su Diagramma sequenza UML. -
Assegnare un nome al diagramma. -
In Aggiungi a progetto di modello selezionare un progetto di modello esistente nella soluzione o scegliere Crea nuovo progetto di modello, quindi fare clic su OK. Verrà visualizzato un nuovo diagramma di sequenza con la casella degli strumenti Diagramma sequenza. La casella degli strumenti contiene gli elementi e i connettori necessari.
Per creare un diagramma di sequenza
-
Trascinare le Linee di vita (1) dalla Casella degli strumenti nel diagramma per rappresentare le istanze di classi, componenti, attori o dispositivi.
Nota
È inoltre possibile creare una linea di vita trascinando una classe, un'interfaccia, un attore o un componente esistente da Esplora modelli UML nel diagramma. In questo modo viene creata una linea di vita che rappresenta un'istanza del tipo scelto. -
Creare i messaggi per mostrare il modo in cui le linee di vita collaborano al raggiungimento di un obiettivo specifico. Per creare un messaggio (3, 4, 6, 7), fare clic su uno strumento del messaggio. Fare clic quindi sulla linea di vita dell'oggetto mittente in corrispondenza del punto in cui si desidera che il messaggio inizi, infine fare clic sulla linea di vita dell'oggetto destinatario. Nella linea di vita dell'oggetto destinatario viene visualizzata un'occorrenza esecuzione (5). L'occorrenza esecuzione rappresenta un periodo di tempo durante il quale l'istanza esegue un metodo. È possibile creare altri messaggi che iniziano da un'occorrenza esecuzione. -
Per mostrare un messaggio che deriva da un'origine evento sconosciuta (9) o che trasmette a destinatari sconosciuti (10), creare un messaggio asincrono da uno spazio vuoto del diagramma o verso di esso. Questi messaggi sono denominati messaggi trovati (9) e messaggi persi (10).
Nota
Per spostare un gruppo di linee di vita contenenti messaggi trovati o persi, attenersi alla seguente procedura per selezionare le linee di vita prima di spostarle: disegnare un rettangolo intorno alle linee di vita o fare clic su ogni linea di vita tenendo premuto il tasto CTRL. Se si utilizza Seleziona tutto o CTRL+A per selezionare tutte le linee di vita e quindi spostarle, i messaggi trovati o persi associati a tali linee di vita non verranno spostati. Se si verifica questo scenario, è possibile spostare questi messaggi separatamente. -
Creare i diagrammi di sequenza per ogni messaggio principale per lo stesso componente o sistema.
Per modificare l'ordine dei messaggi
-
Trascinare un messaggio verso l'alto o verso il basso nella relativa linea di vita. È possibile trascinarlo su altri messaggi oppure all'interno o all'esterno di un blocco di esecuzione. - oppure - -
Fare clic sul messaggio e utilizzare i tasti Freccia SU e Freccia GIÙ per modificare le posizioni dei messaggi. Utilizzare MAIUSC+Freccia SU e MAIUSC+Freccia GIÙ per modificare l'ordine dei messaggi.
Per spostare o copiare sequenze di messaggi nel diagramma di sequenza
-
Fare clic con il pulsante destro del mouse su un messaggio (3, 4), quindi scegliere Copia. -
Fare clic con il pulsante destro del mouse sull'occorrenza esecuzione (5) o su una linea di vita (1) dalla quale si desidera che il nuovo messaggio venga inviato, quindi scegliere Incolla. Se si desidera, il nuovo mittente può risiedere in un diagramma diverso. Una copia del messaggio e tutti i relativi messaggi sussidiari vengono aggiunti alla fine dell'occorrenza esecuzione o alla fine della linea di vita.
Nota
Il messaggio incollato viene visualizzato sempre alla fine dell'occorrenza esecuzione o della linea di vita. Dopo averlo incollato, è possibile trascinarlo in una posizione precedente.
Per visualizzare e modificare la firma di testi per un messaggio
-
La linea di vita di destinazione deve essere associata o eseguito il mapping ai tipi per il testo della firma sia visibile. Per eseguire questa attività, eseguire una delle operazioni seguenti: -
Fare clic con il pulsante destro del mouse sulla linea di vita e quindi scegliere Crea classe. In alternativa -
Selezionare la linea di vita, premere F4quindi nella finestra Proprietà, impostare la proprietà Tipo a un tipo esistente o specificano il nome per un nuovo tipo. Fare clic con il pulsante destro del mouse sull'etichetta del messaggio e quindi scegliere Crea operazione.
Il testo della firma viene visualizzato sotto l'etichetta del messaggio. È ora possibile modificare il testo della firma. Per ulteriori informazioni, vedere Classes and Lifelines. -
Per migliorare il layout di un diagramma di sequenza
-
Fare clic con il pulsante destro del mouse su una parte vuota del diagramma, quindi scegliere Ridisponi layout. -
Per annullare l'operazione, fare clic su Modifica, quindi su Annulla.
Per modificare il pacchetto che possiede l'interazione
-
In Esplora modelli UML trovare l'interazione visualizzata nel diagramma di sequenza.
Nota
L'interazione non verrà visualizzata in Esplora modelli UML finché non si aggiunge la prima linea di vita al diagramma di sequenza. -
Trascinare l'interazione nel pacchetto. - oppure - Fare clic con il pulsante destro del mouse sull'interazione, quindi scegliere Taglia. Fare clic con il pulsante destro del mouse sul pacchetto, quindi scegliere Incolla.
Tipi di messaggio
-
Utilizzare lo strumento Sincrono per descrivere un'interazione nella quale il mittente attende che il destinatario restituisca una risposta (3). Alla fine dell'occorrenza esecuzione verrà visualizzata una freccia <<torna>> per indicare la restituzione del controllo al mittente. -
Utilizzare lo strumento Asincrono per descrivere un'interazione nella quale il mittente può continuare immediatamente senza attendere il destinatario (4). -
Utilizzare lo strumento Crea per descrivere un'interazione nella quale il mittente crea il destinatario (8). Un messaggio definito mediante lo strumento di creazione dovrebbe essere il primo messaggio ricevuto dal destinatario.
Annotazione delle interazioni
Attenzione
|
|---|
|
|
-
Annotare cosa è stato raggiunto in punti chiave della sequenza. Consente ai lettori di vedere gli obiettivi delle interazioni. -
Descrivere l'obiettivo complessivo dell'intera sequenza. Associare il commento all'occorrenza esecuzione iniziale o lasciarlo non associato. Ad esempio, "Il cliente ha scelto gli elementi dal menu a cui è stato fornito un prezzo". -
Descrivere le responsabilità di ogni linea di vita. Associare il commento alla linea di vita. Ad esempio, "Il responsabile ordinazioni raccoglie le scelte di menu del cliente". -
Annotare eccezioni o alternative che potrebbero essere eseguite come alternativa alla sequenza tipica illustrata. Ad esempio, "Il cliente può scegliere di ignorare il resto di questa sequenza". -
È possibile utilizzare i frammenti come alternativa più formale a questo tipo di nota. Vedere Descrizione di strutture di controllo con frammenti.
-
Evento scatenante
-
Un utente che avvia un caso di utilizzo, ad esempio, aprendo la pagina Web per comprare un pasto. -
Un messaggio da un componente di sistema all'altro, ad esempio, eseguendo una query sulla disponibilità di elementi che un cliente desidera comprare. -
Un evento attivato da una modifica di stato, ad esempio, azioni di un elemento che scendono al di sotto di una soglia.
Livello di dettaglio
-
Oggetti nel codice programma già esistente o in fase di sviluppo. -
Componenti o relativi sottocomponenti, omettendo generalmente aspetti, proxy e altri meccanismi connettivi. -
Sistema e attori esterni
-
Messaggi software nel codice programma, in un'interfaccia API o Web. -
Transazioni o transazioni secondarie, ad esempio, tra gli utenti e il sistema o tra il codice e il database. -
Casi di utilizzo (interazioni principali tra gli utenti e il sistema).
-
Creare diagrammi di sequenza separati per descrivere tali scenari -
Utilizzare quanto descritto in Descrizione di strutture di controllo con frammenti per mostrare cicli, alternative e così via.
-
Una linea di vita esegue tutte le operazioni, dall'effettuare chiamate a ogni altro genere di operazione, mentre le altre linee di vita rispondono solo passivamente. -
Molti messaggi attraversano le linee di vita. Ogni linea di vita deve inviare messaggi solo ad alcuni elementi adiacenti e non deve comunicare con gli elementi adiacenti dei relativi elementi adiacenti. È consigliabile in genere disporre le linee di vita in modo tale che siano presenti solo pochi punti in cui i messaggi attraversano le linee di vita e laddove si verificano tali intersezioni, la linea di vita di destinazione non dovrebbe scambiare anche i messaggi che contengono le linee di vita intersecate. -
Alcune linee di vita sembrano gestire più di un tipo di attività. È consigliabile trovare una frase breve che descriva le responsabilità di ogni linea di vita, riepilogando il lavoro svolto in risposta a ogni messaggio ricevuto.
|
Scopo |
Formato |
|---|---|
|
|
|
|
|
|
Creazione di linee di vita dai tipi
Nota
|
|---|
|
|
Per creare una linea di vita da un tipo esistente
-
Trascinare una classe, un componente o un'interfaccia da Esplora modelli UML in un diagramma di sequenza. - oppure - -
Fare clic con il pulsante destro del mouse sulla classe, sul componente o sull'interfaccia nel rispettivo diagramma, quindi scegliere Crea linea di vita. -
Nella finestra di dialogo Crea linea di vita selezionare un diagramma di sequenza, quindi fare clic su OK.
Verrà visualizzata una nuova linea di vita dell'istanza denominata il cui tipo corrisponde al tipo trascinato.
Nota
È possibile ripetere questa azione tutte le volte che si desidera per creare linee di vita con nomi di istanza diversi. -
Per modificare il tipo di una linea di vita
-
Fare clic con il pulsante destro del mouse su una linea di vita, quindi scegliere Proprietà. -
Nella finestra Proprietà impostare la proprietà Type. È possibile selezionare un tipo dal menu a discesa o digitare un nuovo nome.
Creazione di classi dalle linee di vita
Per creare una classe o un'interfaccia da una linea di vita
-
Fare clic con il pulsante destro del mouse sulla linea di vita, quindi scegliere Crea classe o Crea interfaccia. Una nuova classe o interfaccia verrà visualizzata in Esplora modelli UML. -
Creare le operazioni nella classe o nell'interfaccia per ogni messaggio ricevuto dalla linea di vita: -
Selezionare tutti i messaggi che si desidera includere. -
Fare clic con il pulsante destro del mouse su uno dei messaggi, quindi scegliere Crea metodo. La nuova classe o interfaccia conterrà le operazioni per ogni messaggio selezionato. Il nome dell'operazione viene visualizzato sotto ogni freccia del messaggio e nella proprietà Operation del messaggio. Se il messaggio includeva parametri nel formato "(parametro : tipo)", questi verranno visualizzati nell'elenco di parametri della nuova operazione.
Nota
È necessario ripetere questo passaggio se vengono aggiunti nuovi messaggi nel diagramma di sequenza.
-
-
Per visualizzare la nuova classe o interfaccia in dettaglio, aggiungerla a un diagramma classi o dei componenti. -
Aprire o creare un diagramma classi o dei componenti. -
Trascinare la nuova classe o interfaccia da Esplora modelli UML in un diagramma classi. La classe o l'interfaccia verrà visualizzata nel diagramma classi. - oppure - -
Trascinare la nuova interfaccia da Esplora modelli UML in un componente o in una porta di un diagramma dei componenti. L'interfaccia viene visualizzata nel componente come simbolo.
-
Creazione di classi per i parametri
Per creare una sequenza di interazione riutilizzabile dalle linee di vita esistenti
-
Nella Casella degli strumenti fare clic su Utilizzo interazione. -
Nel diagramma di sequenza trascinare le linee di vita che si desidera includere nella sequenza riutilizzabile tenendo premuto il pulsante del mouse. Iniziare dalla posizione verticale in cui si desidera inserire l'utilizzo interazione. Un utilizzo interazione verrà visualizzato sulle linee di vita selezionate nel diagramma di sequenza. -
Fare doppio clic sul nome nell'utilizzo interazione e rinominarlo in modo da descrivere l'effetto della sequenza riutilizzabile in questo diagramma. - oppure - Scrivere il nome come una chiamata di funzione, con parametri. -
Collegare l'utilizzo interazione a un altro diagramma di sequenza. Fare clic con il pulsante destro del mouse sull'utilizzo interazione, quindi: Scegliere Crea nuova sequenza per creare un nuovo diagramma di sequenza - oppure - Scegliere Collega a sequenza per collegare a un diagramma esistente. In Visual Studio viene creato un collegamento tra l'utilizzo interazione e la nuova sequenza di interazione. Nella soluzione verrà visualizzato un nuovo diagramma di sequenza contenente le linee di vita utilizzate per creare l'utilizzo interazione.
Nota
Verranno incluse solo le linee di vita utilizzate per creare l'utilizzo interazione. Il nuovo diagramma non includerà le linee di vita create dopo l'utilizzo interazione, anche se ora sono incluse nell'utilizzo interazione.
Per creare una sequenza riutilizzabile da messaggi esistenti
-
Fare clic con il pulsante destro del mouse sul messaggio da spostare, quindi scegliere Passa a diagramma. Visual Studio: -
Sostituisce con un utilizzo interazione il messaggio selezionato e tutti i messaggi sussidiari. -
Sposta i messaggi sostituiti in un nuovo diagramma di sequenza. -
Crea un collegamento tra l'utilizzo interazione e il nuovo diagramma di sequenza.
-
Per spostarsi sulla sequenza a cui fa riferimento un utilizzo interazione
-
Fare doppio clic sull'utilizzo interazione. - oppure - Fare clic con il pulsante destro del mouse sull'utilizzo interazione, quindi scegliere Vai a sequenza.
Creazione di un segnaposto con un utilizzo interazione
Per comprimere un gruppo di linee di vita
-
Selezionare due o più linee di vita. -
Fare clic con il pulsante destro del mouse su una di esse, quindi scegliere Comprimi. Le linee di vita separate vengono sostituite da una singola linea di vita. I messaggi e gli utilizzi interazione che riguardano solo i membri del gruppo vengono nascosti. -
Per rinominare il gruppo, fare clic sul nome.
Nota
Il nome del gruppo verrà perso quando si espande il gruppo.
Per espandere un gruppo compresso
-
Fare clic con il pulsante destro del mouse sulla linea di vita compressa, quindi scegliere Espandi.
Nota
Il nome del gruppo verrà perso, insieme a tutti i collegamenti dal gruppo ai commenti o agli elementi di lavoro.
Per creare un frammento combinato
-
Selezionare un messaggio o una sequenza di messaggi tutti a partire dalla stessa occorrenza esecuzione o linea di vita.
Nota
Selezionare le frecce dei messaggi, non le occorrenze esecuzione alle quali puntano i messaggi. -
Fare clic con il pulsante destro del mouse su uno dei messaggi, scegliere Racchiudi tra, quindi fare clic sul tipo di frammento desiderato. Verrà visualizzato un nuovo frammento contenente i messaggi selezionati. Se il tipo di frammento combinato consente più frammenti, verrà visualizzato anche un frammento vuoto. -
Per impostare la protezione di un frammento, fare clic con il pulsante destro del mouse sul bordo del frammento, quindi scegliere Proprietà. Impostare la proprietà Guard. La protezione viene utilizzata per definire la condizione per un ramo o un ciclo. -
Per aggiungere un nuovo frammento a un tipo che consente più frammenti, fare clic con il pulsante destro del mouse sul limite di un frammento e scegliere Aggiungi. Fare clic su Operando interazione prima o Operando interazione dopo. -
Per aggiungere nuovi messaggi a un frammento, utilizzare gli strumenti del messaggio o le funzioni di copia e incolla.
Per generare un diagramma di sequenza dal codice
-
In Visual Studio aprire il file di codice contenente la definizione del metodo. -
Fare clic con il pulsante destro del mouse in un qualsiasi punto all'interno della definizione del metodo, quindi scegliere Genera diagramma sequenza. Per ulteriori informazioni, vedere Visualizzare il codice generando diagrammi di sequenza.
Nota
Dopo avere generato il diagramma, qualsiasi modifica che si apporta al diagramma non verrà visualizzata nel codice e qualsiasi modifica che si apporta al codice non verrà visualizzata nel diagramma. Per visualizzare tali modifiche, è necessario generare un nuovo diagramma di sequenza. È possibile generare un nuovo diagramma di sequenza dallo stesso metodo tutte le volte che si desidera.
Per spostarsi dalle linee di vita e dai messaggi generati al codice
-
Fare clic con il pulsante destro del mouse su una linea di vita o su un messaggio generato, quindi scegliere Vai a definizione.
Per copiare un diagramma di sequenza generato in un modello UML o da esso
-
In un diagramma di sequenza selezionare gli elementi che si desidera copiare, ad esempio linee di vita e messaggi. Se si desidera copiare tutti gli elementi del diagramma, scegliere Seleziona tutto dal menu Modifica. -
Scegliere Copia dal menu Modifica. -
Creare o aprire un diagramma di sequenza in un progetto di modello. Per informazioni su come eseguire questa operazione, vedere Procedura di base per la creazione di diagrammi di sequenza. -
Scegliere Incolla dal menu Modifica. Nel diagramma verranno visualizzate le copie degli elementi selezionati.
Nota
Potrebbe essere necessario modificare il colore degli elementi incollati. Selezionarli e impostare il colore nella finestra Proprietà.