Linguaggio UML e diagramma di interazione
Il diagramma UML che ci permette di rappresentare le interazioni è il diagramma di interazione o più spesso chiamato anche diagramma di sequenza. Esso è la notazione più leggibile delle interazioni tra più oggetti, e rappresenta la sequenza temporale delle azioni da eseguire. I diagrammi di sequenza derivano dai casi d’uso, per cui per ogni caso d’uso abbiamo un diagramma di sequenza. E’ caratterizzato da vari oggetti, i quali sono:
- Tempo
- Oggetti
- La linea della vita (LIFELINE)
- I messaggi
- Eventuali valori di ritorno dei messaggi
- Iterazioni
Il tempo riferito all’interazione tra i diversi oggetti è rappresentato orizzontalmente. L’oggetto è in alto al diagramma rappresentato con un rettangolo contenente il nome. In verticale abbiamo un rettangolo che rappresenta la LIFELINE dell’oggetto, e si estende dal punto in cui l’oggetto viene istanziato fino a quando viene distrutto. La linea tratteggiata verticalmente rappresenta il tempo riferito al singolo oggetto.
Ecco un semplice esempio grafico ma molto funzionale:
Un esempio grafico dei messaggi scambiati tra i vari oggetti è il seguente:
C’è inoltre la possibilità di descrivere il valore di ritorno di un messaggio. Se ad esempio un cliente invia la richiesta di disponibilità di un prodotto, ci si aspetta un valore di ritorno che quantifica i prodotti disponibili e viene rappresentato nella maniera seguente:
Si possono rappresentare messaggi di auto delega e di iterazione.
Esempi:
Ritorniamo ora all’esempio del libro di cui si è parlato nei diagrammi di stato.
Nell’esempio le classi sono stereotipate, ossia non viene usato il rettangolo con il nome come rappresentazione, ma un simbolo diverso per dare un significato a ciascuna classe relativamente al livello a cui si trova nell’architettura.
Abbiamo un esempio di uno scenario in cui avviene la richiesta di prestito di un libro.