2012-06-15 19 views
6

Qualcuno sa come rappresentare un'istruzione if su un diagramma di sequenza in DIA?Come rappresentare un'istruzione if su un diagramma di sequenza in DIA?

+0

Dai un'occhiata a [questa domanda] (http://stackoverflow.com/questions/2946650/describing-an-if-else-structure-in-a-uml-system-sequence-diagram) ... –

+1

non penso sia appropriato per un diagramma di sequenza. il diagramma di sequenza dovrebbe descrivere una sequenza (come suggerisce il nome). secondo me dovrebbe essere una sequenza da un caso d'uso. se il caso d'uso ha estensioni (rappresentano il flusso di controllo), quindi creare un diagramma di sequenza per ogni estensione. lascia che il programmatore combini questo con diagrammi di stato e poi decidi se un'istruzione if è il modo corretto per controllare il flusso. forse un modello di stato o simile è più adatto. questa decisione non dovrebbe essere presa in un diagramma di sequenza :) – davogotland

+1

Dai anche un'occhiata a http://stackoverflow.com/questions/6000268/uml-sequence-diagram-how-to-show-alternate-course. – sfinnie

risposta

15

Sulla base del dialogo "alt" raffigurata in the IBM link given by @luistm, sono stato in grado di replicare qualcosa di simile in Dia:

UML Sequence Diagram with "alternative combination fragment"

La casella "alt" è stato disegnato con l'oggetto di grandi dimensioni pacchetto UML. (Il pacchetto piccolo non consente di ridimensionarlo.)

Le etichette delle condizioni sono solo oggetti di testo (che si trovano nel riquadro [statico] superiore nella barra degli strumenti a sinistra, contrassegnate con T).

La linea tratteggiata è solo un oggetto Linea (dallo stesso riquadro della barra degli strumenti statici), con la punta della freccia impostata su una linea semplice e con il corpo impostato su puntato (fatto nella parte inferiore del riquadro strumenti sinistro, con quelli 3 segmenti di freccia).

Ho dovuto giocare con le voci del menu Oggetti Porta in secondo piano, Porta in primo piano, Invia indietro e Porta avanti, per far sì che tutto funzioni a destra senza che le cose si ostacolino a vicenda. Inoltre ho dovuto usare frequentemente il comando Aggiorna del menu Visualizza per verificare me stesso; spesso il disegno avrebbe rovinato l'ordine di sovrapposizione e si sovrapponeva, ma il Refresh avrebbe rimesso le cose a posto.

Non sembra esattamente come i diagrammi del collegamento IBM (etichetta fuori dalla scatola principale anziché all'interno, bordo della scatola ostruito dalla linea di vita, ecc.), Ma penso che questo sia il meglio che possiamo fare con UML di Dia oggetti.

+0

Questa è stata la mia soluzione. Grazie per aver risposto. – luistm

+0

C'è qualche trucco speciale per ridimensionare la casella di attivazione? Trascinando i piccoli quadrati arancioni (che sembra la cosa intuitiva da fare) non funziona per me. – teo

+1

@teo: Sì, il ridimensionamento della casella di attivazione è un po 'contro-intuitivo. Quello che devi fare è cliccare con il tasto destro sulla casella di attivazione e selezionare "Aggiungi punti di connessione" o "Aumenta distanza punti di connessione". – feuGene

Problemi correlati