Oggetti
Gli oggetti sono disegnati vicino la sommità del diagramma e sono disposti in sequenza da sinistra verso destra. Essi possono essere inseriti in un qualunque ordine che semplifichi la comprensione del diagramma. Da ogni rettangolo si diparte una linea tratteggiata verso il basso, denominata "linea della vita" (lifeline). Lungo la lifeline si trova un piccolo rettangolo chiamato "attivazione" (activation). L'activation rappresenta l'esecuzione di un'operazione di cui l'oggetto si fa carico. La lunghezza del rettangolo, invece, rappresenta la durata dell'activation. Tutto questo è mostrato nella figura seguente:
Messaggi
Un messaggio che viaggia da un oggetto ad un altro, viene disegnato a partire dalla lifeline dell'oggetto da cui parte il messaggio e arriva sulla lifeline dell'oggetto a cui il messaggio è diretto.
Si può anche verificare il caso in cui un oggetto mandi un messaggio a se stesso, cioè un messaggio che parte dalla sua lifeline e arriva alla stessa lifeline. Tale tipo di comportamento viene definito Ricorsione.
Nella tabella seguente vengono identificati tutti i possibili messaggi definiti in UML per i sequence diagrams, ognuno dei quali, come si vede, ha una rappresentazione grafica differente.
simple | Rappresenta il trasferimento del controllo da un oggetto ad un altro. |
|
synchronous | Se un oggetto invia un messaggio sincrono, allora si attende che gli venga restituita una risposta al messaggio stesso prima di poter continuare con altre operazioni. |
|
asynchronous | Diversamente dai messaggi sincroni, se un oggetto invia un messaggio asincrono, non attende che gli venga inviata alcuna risposta prima di continuare con altre operazioni |
Il Tempo
Il sequence diagram rappresenta il trascorrere del tempo se visto in direzione verticale. Il tempo, graficamente, viene fatto partire alla base di ogni oggetto e proseguire fino in basso. Ad esempio, un messaggio che si trovi più vicino all'oggetto rispetto ad un altro (rispetto alla direzione verticale), si verificherà prima nel tempo.
Nei sequence diagram viene utilizzata il simbolo dell'actor per rappresentare l'inizio della sequenza, ma in realtà tale simbolo (come abbiamo visto quando abbiamo parlato degli Use Case diagrams) non appartiene all'insieme dei simboli propri del sequence diagram.