Descrizione del flusso di controllo con frammenti nei diagrammi di sequenza UML
In un diagramma di sequenza UML di Visual Studio Ultimate i frammenti combinati consentono di illustrare cicli, rami e altre alternative.
Un frammento combinato è costituito da uno o più operandi interazione e ognuno di essi racchiude uno o più messaggi, utilizzi interazione o frammenti combinati.
Nota
In questo argomento vengono illustrati i frammenti nei diagrammi di sequenza.Per ulteriori informazioni su come leggere i digrammi di sequenza UML, vedere Diagrammi di sequenza UML: riferimenti.Per ulteriori informazioni su come creare i digrammi di sequenza UML, vedere Diagrammi di sequenza UML: linee guida.
Di seguito vengono riportati gli elementi illustrati nella figura.
Un frammento combinato. Sono disponibili diversi tipi di frammenti combinati. Nell'esempio è riportato un frammento combinato Alterna, che è possibile utilizzare per indicare che possono verificarsi sequenze di messaggi alternative.
Operandi interazione. Ogni frammento combinato contiene almeno un operando interazione che può includere messaggi, utilizzi interazione e frammenti combinati più piccoli. Nell'esempio il frammento combinato Alterna dispone di due operazioni di interazione, che mostrano due sequenze di messaggi alternative.
È possibile selezionare ogni operando interazione separatamente facendovi clic all'interno. Nell'esempio viene selezionato l'operando interazione superiore, in modo da poter visualizzare il relativo il limite. In genere, è visibile solo la linea di divisione tra gli operandi interazione.
Nota
Per selezionare l'operando interazione superiore, non è necessario fare clic troppo vicino alla parte superiore del frammento combinato.
Guard. A ogni operando interazione è possibile assegnare un elemento guard, che descrive la condizione in presenza della quale vengono eseguiti i messaggi all'interno dell'operando interazione.
Creazione di frammenti combinati
Per un elenco dei tipi di frammento che è possibile creare, vedere Tipi di frammento combinato.
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
Se si selezionano più messaggi, è necessario formare una sequenza ininterrotta.
Fare clic con il pulsante destro del mouse su uno dei messaggi, scegliere Racchiudi tra, quindi fare clic sul tipo di frammento combinato desiderato, ad esempio Alterna frammento combinato.
Verrà visualizzato un nuovo frammento combinato. L'intestazione indica il tipo di frammento combinato selezionato, ad esempio Alterna.
All'interno del frammento combinato è presente un frammento che contiene i messaggi selezionati.
È possibile aggiungere più operandi interazione ad alcuni tipi di frammento combinato.
Per aggiungere un nuovo operando interazione a un frammento combinato
Fare clic con il pulsante destro del mouse in uno spazio vuoto all'interno dell'operando interazione (2), all'esterno di qualsiasi frammento contenuto e sotto l'intestazione del frammento combinato.
Scegliere Aggiungi.
Fare clic su Operando interazione prima o Operando interazione dopo.
È possibile aggiungere messaggi nel nuovo operando interazione utilizzando gli strumenti del messaggio o copiando e incollando i messaggi esistenti.
È possibile impostare la proprietà Guard di un operando interazione per descrivere le condizioni in cui vengono eseguiti i messaggi in esso contenuti. Ad esempio, in un frammento combinato Ciclo è possibile utilizzare l'elemento guard per specificare la condizione durante la quale il ciclo continua. In un frammento combinato Alterna è possibile specificare una condizione separata per ogni operando interazione.
Per impostare l'elemento guard di un operando interazione
Fare clic in uno spazio vuoto all'interno dell'operando interazione (2), all'esterno di qualsiasi frammento contenuto.
Verrà visualizzato un bordo di selezione intorno all'operando interazione e intorno alla condizione dell'elemento guard.
L'intestazione nella finestra Proprietà mostra Interaction Operand.
Digitare la condizione dell'elemento guard.
La condizione verrà visualizzata accanto alla parte superiore del frammento (4).
È possibile impostare le proprietà di alcuni tipi di frammenti combinati.
Per impostare o visualizzare le proprietà di un frammento combinato
Fare clic con il pulsante destro del mouse nel titolo del frammento combinato, quindi scegliere Proprietà.
Nota
Tipi di frammento combinato diversi dispongono di proprietà diverse.
Tipi di frammento combinato
Frammenti che descrivono il flusso di controllo
Un diagramma di sequenza semplice mostra una sola sequenza tipica. È possibile utilizzare i seguenti tipi di frammenti combinati per descrivere le variazioni che possono verificarsi in diverse occasioni.
Tipo di frammento |
Descrizione |
---|---|
Opz |
Opzionale. Racchiude una sequenza che potrebbe verificarsi o meno. È possibile specificare nell'elemento guard la condizione in presenza della quale si verifica. |
Alt |
Contiene un elenco di frammenti che include sequenze di messaggi alternative. Solo una sequenza si verifica in tutte le occasioni. È possibile inserire un elemento guard in ogni frammento per indicare la condizione in presenza della quale può essere eseguito. Il valore else per un elemento guard indica un frammento che deve essere eseguito se nessun altro elemento guard è true. Se tutti gli elementi guard sono false e il valore else non è specificato, non verrà eseguito alcun frammento. |
Loop |
Il frammento viene ripetuto un certo numero di volte. È possibile indicare nell'elemento guard la condizione in presenza della quale deve essere ripetuto. I frammenti combinati ciclo contengono le proprietà Min e Max che indicano il numero di volte minimo e massimo in cui il frammento può essere ripetuto. Il valore predefinito non prevede alcuna limitazione. |
Interrompi |
Se viene eseguito questo frammento, il resto della sequenza viene abbandonato. È possibile utilizzare l'elemento guard per indicare la condizione in presenza della quale si verificherà l'interruzione. |
Par |
Parallelo. Gli eventi nei frammenti possono essere interfogliati. |
Livello critico |
Utilizzato all'interno di un frammento Par o Seq. Indica che i messaggi in questo frammento non devono essere interfogliati con altri messaggi. |
Seq |
Sono presenti due o più frammenti dell'operando. I messaggi inclusi nella stessa linea di vita devono verificarsi nell'ordine dei frammenti. Se non sono inclusi nella stessa linea di vita, i messaggi di frammenti diversi vengono interfogliati in parallelo. |
Strict |
Sono presenti due o più frammenti dell'operando. I frammenti devono verificarsi nell'ordine specificato. |
Frammenti su come interpretare la sequenza
Per impostazione predefinita, il diagramma di sequenza indica una serie di messaggi che possono verificarsi. Nel sistema in esecuzione possono verificarsi altri messaggi che si è scelto di non mostrare nel diagramma.
I seguenti tipi di frammento possono essere utilizzati per modificare questa interpretazione.
Tipo di frammento |
Descrizione |
---|---|
Considera |
Specifica un elenco dei messaggi descritti da questo frammento. Possono verificarsi altri messaggi nel sistema in esecuzione, ma non sono significativi per gli scopi di questa descrizione. Specificare l'elenco nella proprietà Messages. |
Ignora |
Un elenco dei messaggi non descritti da questo frammento. Possono verificarsi nel sistema in esecuzione, ma non sono significativi per gli scopi di questa descrizione. Specificare l'elenco nella proprietà Messages. |
Assert |
Il frammento dell'operando specifica le uniche sequenze valide. Utilizzato in genere all'interno di un frammento Considera o Ignora. |
Neg |
La sequenza mostrata in questo frammento non deve verificarsi. Utilizzato in genere all'interno di un frammento Considera o Ignora. |
Vedere anche
Riferimenti
Diagrammi di sequenza UML: riferimenti