Un diagramma di comunicazione[1] o Communication Diagram[1] (o diagramma di collaborazione[1] o Collaboration Diagram[1] come era chiamato nelle specifiche dell'Unified Modeling Language 1.x) è un diagramma previsto da Unified Modeling Language (UML) 2 in poi per descrivere l'interazione fra più partecipanti (associati a delle lifeline, che li rappresentano nel diagramma) alla realizzazione di una certa funzionalità di un software. Insieme al diagramma di sequenza fa parte dei cosiddetti diagrammi di interazione (Interaction diagrams), che sono spesso utilizzati per specificare come collaborano i vari componenti del software ed esplorare il funzionamento dinamico di un'applicazione software.[1]
Il diagramma di comunicazione differisce dal diagramma di sequenza in quanto si sofferma sulla struttura dei messaggi che vengono scambiati tra gli oggetti nell'interazione, piuttosto che sull'ordine temporale in cui vengono scambiati.[1]
Componenti
[modifica | modifica wikitesto]I componenti più importanti del diagramma sono i Partecipanti (o Oggetti come era consuetudine chiamarli nelle versioni del linguaggio precedenti alla 2) e i Messaggi. I messaggi sono scambi di informazione fra due partecipanti e possono essere sincroni o asincroni a seconda se il chiamante resti bloccato in attesa della risposta al messaggio oppure prosegua la sua elaborazione in parallelo al partecipante che ha ricevuto il messaggio.[2]
I messaggi sono numerati, al fine di comprendere la loro sequenza temporale. Peraltro, l'aspetto temporale dell'interazione è più facilmente rappresentata facendo ricorso ad un Sequence Diagram. La numerazione può essere semplice (1, 2, 3 ...) oppure decimale nidificata (1, 1.1, 1.1.1, ... 2 ...). La numerazione decimale nidificata è quella più aderente allo standard ed ha il pregio che consente di risolvere un'ambiguità nella sequenza temporale nel caso di deleghe interne, ossia di messaggi che un oggetto invia a se stesso.[3] Tuttavia, in caso di nidificazione profonda, questo tipo di numerazione perde in leggibilità, e per questo motivo nella pratica si utilizza spesso la numerazione semplice.
Diagramma
[modifica | modifica wikitesto]Ecco un esempio con numerazione semplice.
Lo stesso esempio con numerazione decimale nidificata.
Note
[modifica | modifica wikitesto]- ^ a b c d e f Diagrammi di comunicazione, su www.ibm.com. URL consultato il 15 luglio 2024.
- ^ Messaggi nei diagrammi UML, su www.ibm.com. URL consultato il 15 luglio 2024.
- ^ Diagrammi di comunicazione (PDF), su lpg.unibs.it, p. 3.
Altri progetti
[modifica | modifica wikitesto]Wikimedia Commons contiene immagini o altri file su Communication Diagram