Interaction diagram
Gli interaction diagram sono diagrammi dinamici: descrivono il comportamento dinamico di un gruppo di oggetti, che interagiscono per risolvere un problema.
Tipicamente, questi diagrammi rappresentano il comportamento di uno specifico use case o scenario, in termini di:
- specifiche entità (oggetti)
- messaggi scambiati (metodi)
UML propone due tipi di interaction diagram,
- sequence diagram
- communication diagram
che però sono praticamente equivalenti
Sequence diagram
I sequence diagram evidenziano la sequenza temporale delle azioni (cioè dei messaggi scambiati tra gli oggetti partecipanti). Non vengono invece mostrati i link tra oggetti.
Essi si possono usare in due forme diverse:
- la forma d'istanza descrive una singola esecuzione
- la forma generica definisce una famiglia di esecuzioni, specificate tramite una sorta di linguaggio di programmazione visuale.
E' necessario un bilanciamento tra l'immediatezza espressiva e la completezza, quindi conviene evitare l'uso di diagrammi (soprattutto in forma generica) eccessivamente complessi.
Notazione
- In ascissa sono disposti i vari oggetti (indicati con la stessa notazione usata negli object diagram), e ciascuno è dotato di una propria lifeline, una linea tratteggiata che rappresenta la "vita" dell'oggetto.
- Il passare del tempo si rappresenta sull'ordinata, andando verso il basso. In genere, non importa la scala, ma solo l'ordinamento degli eventi. Di conseguenza, se si vogliono specificare dei tempi precisi, è meglio scriverli esplicitamente.
- Se necessario, gli assi orizzontale e verticale possono essere scambiati.