In maniera uguale agli use case diagrams
in cui è possibile mostrare o un'istanza (uno scenario) singola di uno
use case o, più genericamente, un insieme degli scenari di un use case,
così i sequence diagrams possono essere definiti su una singola istanza oppure definire un modello più generico.
I sequence diagrams generici forniscono spesso la possibilità di
rappresentare delle istruzioni condizionali (if) e dei cicli while in
cui ogni condizione descritta da un if (oppure da un while) viene
racchiusa tra parentesi quadrate (nel caso del while la parentesi
quadrata sinistra viene preceduta da un asterisco). Si veda l'esempio
più avanti per maggiore chiarezza.
Esiste la possibilità, in un sequence diagram, di creare un oggetto.
Quando ciò avviene, l'oggetto creato viene rappresentato nel modo visto
finora e cioè con un rettangolo all'interno del quale viene descritto
il nome dell'oggetto.
La differenza, in questo caso, consiste nel fatto che l'oggetto non
viene posizionato alla sommità del sequence diagram come si farebbe con
gli altri oggetti ma, piuttosto, lungo la dimensione verticale che
indica il tempo in cui tale oggetto viene creato.
Può accadere, qualche volta, che un oggetto esegua un'operazione che
invochi lo stesso oggetto che l'ha provocata. In tal caso si parla di ricorsione.
Ad esempio, si supponga che uno degli oggetti del sistema sia un
calcolatore e che una delle sue operazioni sia il calcolo degli
interessi. Al fine di permettere il calcolo per un lasso di tempo che
racchiuda parecchi periodi, l'operazione per calcolare gli interessi
deve invocare se stessa diverse volte. Il sequence diagram nella figura
sottostante, mostra tale caso: