UML - Diagrammi di interazione

Dal termine Interazione è chiaro che il diagramma è utilizzato per descrivere alcuni tipi di interazioni tra i diversi elementi del modello. Questa interazione fa parte del comportamento dinamico del sistema.

Questo comportamento interattivo è rappresentato in UML da due diagrammi noti come Sequence diagram e Collaboration diagram. Lo scopo fondamentale di entrambi i diagrammi è simile.

Il diagramma di sequenza enfatizza la sequenza temporale dei messaggi e il diagramma di collaborazione sottolinea l'organizzazione strutturale degli oggetti che inviano e ricevono messaggi.

Scopo dei diagrammi di interazione

Lo scopo dei diagrammi di interazione è visualizzare il comportamento interattivo del sistema. Visualizzare l'interazione è un compito difficile. Quindi, la soluzione è utilizzare diversi tipi di modelli per catturare i diversi aspetti dell'interazione.

I diagrammi di sequenza e collaborazione vengono utilizzati per catturare la natura dinamica ma da un'angolazione diversa.

Lo scopo del diagramma di interazione è:

  • Per catturare il comportamento dinamico di un sistema.

  • Per descrivere il flusso di messaggi nel sistema.

  • Descrivere l'organizzazione strutturale degli oggetti.

  • Descrivere l'interazione tra gli oggetti.

Come disegnare un diagramma di interazione?

Come abbiamo già discusso, lo scopo dei diagrammi di interazione è catturare l'aspetto dinamico di un sistema. Quindi, per catturare l'aspetto dinamico, dobbiamo capire cos'è un aspetto dinamico e come viene visualizzato. L'aspetto dinamico può essere definito come l'istantanea del sistema in esecuzione in un determinato momento

Abbiamo due tipi di diagrammi di interazione in UML. Uno è il diagramma di sequenza e l'altro è il diagramma di collaborazione. Il diagramma di sequenza cattura la sequenza temporale del flusso di messaggi da un oggetto a un altro e il diagramma di collaborazione descrive l'organizzazione degli oggetti in un sistema che prende parte al flusso di messaggi.

Le seguenti cose devono essere identificate chiaramente prima di disegnare il diagramma di interazione

  • Oggetti che prendono parte all'interazione.

  • Il messaggio scorre tra gli oggetti.

  • La sequenza in cui fluiscono i messaggi.

  • Organizzazione degli oggetti.

Di seguito sono riportati due diagrammi di interazione che modellano il sistema di gestione degli ordini. Il primo diagramma è un diagramma di sequenza e il secondo è un diagramma di collaborazione

Il diagramma di sequenza

Il diagramma di sequenza ha quattro oggetti (Customer, Order, SpecialOrder e NormalOrder).

Il diagramma seguente mostra la sequenza dei messaggi per l' oggetto SpecialOrder e la stessa può essere utilizzata in caso di oggetto NormalOrder . È importante comprendere la sequenza temporale dei flussi di messaggi. Il flusso di messaggi non è altro che una chiamata al metodo di un oggetto.

La prima chiamata è sendOrder () che è un metodo dell'oggetto Order . La chiamata successiva è confirm () che è un metodo dell'oggetto SpecialOrder e l'ultima chiamata è Dispatch () che è un metodo dell'oggetto SpecialOrder . Il diagramma seguente descrive principalmente le chiamate di metodo da un oggetto a un altro e questo è anche lo scenario effettivo quando il sistema è in esecuzione.

Il diagramma di collaborazione

Il secondo diagramma di interazione è il diagramma di collaborazione. Mostra l'organizzazione dell'oggetto come mostrato nel diagramma seguente. Nel diagramma di collaborazione, la sequenza di chiamata del metodo è indicata da una tecnica di numerazione. Il numero indica come i metodi vengono chiamati uno dopo l'altro. Abbiamo utilizzato lo stesso sistema di gestione degli ordini per descrivere il diagramma di collaborazione.

Le chiamate ai metodi sono simili a quelle di un diagramma di sequenza. Tuttavia, la differenza essendo il diagramma di sequenza non descrive l'organizzazione dell'oggetto, mentre il diagramma di collaborazione mostra l'organizzazione dell'oggetto.

Per scegliere tra questi due diagrammi, si pone l'accento sul tipo di requisito. Se la sequenza temporale è importante, viene utilizzato il diagramma di sequenza. Se è necessaria l'organizzazione, viene utilizzato il diagramma di collaborazione.

Dove utilizzare i diagrammi di interazione?

Abbiamo già discusso che i diagrammi di interazione vengono utilizzati per descrivere la natura dinamica di un sistema. Ora esamineremo gli scenari pratici in cui vengono utilizzati questi diagrammi. Per comprendere l'applicazione pratica, dobbiamo comprendere la natura di base della sequenza e del diagramma di collaborazione.

Lo scopo principale di entrambi i diagrammi è simile in quanto vengono utilizzati per catturare il comportamento dinamico di un sistema. Tuttavia, lo scopo specifico è più importante per chiarire e capire.

I diagrammi di sequenza vengono utilizzati per acquisire l'ordine dei messaggi che fluiscono da un oggetto a un altro. I diagrammi di collaborazione vengono utilizzati per descrivere l'organizzazione strutturale degli oggetti che prendono parte all'interazione. Un singolo diagramma non è sufficiente per descrivere l'aspetto dinamico di un intero sistema, quindi viene utilizzato un insieme di diagrammi per catturarlo nel suo insieme.

I diagrammi di interazione vengono utilizzati quando vogliamo comprendere il flusso di messaggi e l'organizzazione strutturale. Flusso di messaggi indica la sequenza del flusso di controllo da un oggetto a un altro. Per organizzazione strutturale si intende l'organizzazione visiva degli elementi in un sistema.

È possibile utilizzare diagrammi di interazione:

  • Per modellare il flusso di controllo in base alla sequenza temporale.

  • Per modellare il flusso di controllo da parte delle organizzazioni strutturali.

  • Per ingegneria avanzata.

  • Per il reverse engineering.