Come includere le condizioni nei diagrammi di sequenza UML?

11

Mi piace disegnare un diagramma di sequenza UML per visualizzare la sequenza di azioni e interazioni di diverse parti del mio sistema (penso che chiamassero attori).

Tuttavia, ho bisogno di includere le dichiarazioni if then else qui. Faccio qualcosa di sbagliato? Posso usare le istruzioni condizionali if nel mio diagramma di sequenza UML? Come?

    
posta Saeed Neamati 27.09.2011 - 09:30
fonte

3 risposte

16

Come in molti tipi di diagrammi UML, puoi usare le guardie per denotare una condizione. Una guardia è un'espressione booleana che puoi scrivere su una transizione.

Ecco un'immagine con un esempio:

Notarelacondizione"[pastDueBalance = 0]".

Puoi anche usare i frammenti combinati per una logica condizionale più complicata. Consulta questo articolo di msdn carino per ulteriori informazioni.

    
risposta data 27.09.2011 - 09:58
fonte
4

Ci sono quattro possibilità che conosco (con potenza crescente):

  1. Il modo più semplice è usare semplicemente guards , che sono semplici , espressioni booleane gratuite con effetti collaterali.
  2. Con frammenti combinati (vedere ad esempio pagina 54), è possibile raggruppare gruppi di messaggi per mostrare il flusso condizionale in un diagramma di sequenza (alternative, opzioni, cicli)
  3. Molto più potente è il Object Constraint Language (OCL) , che può inoltre quantificare (per tutti, esiste) e offre un'intera (DesignBy-) lingua del contratto (che è quasi espressiva come piena logica del primo ordine).
  4. Il modo più efficace è esprimere il tuo vincolo utilizzando una lingua di azione UML da UML eseguibile (xUML) conforme alla semantica di azione UML.

La mia scelta sarebbe la meno potente che sia ancora sufficientemente espressiva per quello che vuoi fare. Ad esempio, le azioni in 4. possono avere effetti collaterali, il che le rende molto più fragili di OCL.

    
risposta data 27.09.2011 - 10:16
fonte
2

Sebbene i diagrammi di sequenza siano perfetti per la tua descrizione, assicurati di controllare i diagrammi di attività.

Quando vuoi mostrare i dettagli interni (incluse le regole dettagliate), i diagrammi di attività sono quelli che vuoi usare. I diagrammi di attività normale si concentrano sulla sequenza di attività e regole e sono scarsi nel mostrare responsabilità degli attori, tuttavia, è possibile utilizzare le corsie di nuoto per mettere in luce le responsabilità degli attori individuali. Ogni corsia include le attività di cui è responsabile un attore.

Questi link trattano i diagrammi delle attività con le corsie di nuoto:

risposta data 27.09.2011 - 11:33
fonte

Leggi altre domande sui tag