I casi d'uso e gli attori interagiscono tra loro mediante l'invio di segnali. Per indicare interazioni di questo tipo
viene utilizzata un'associazione di comunicazione tra il caso d'uso e l'attore. Un caso d'uso ha un massimo di
un'unica associazione di comunicazione per uno specifico attore e un attore ha al massimo un'unica associazione di
comunicazione per uno specifico caso d'uso, indipendentemente da quante trasmissioni di segnali esistano. La completa
rete di tali associazioni rappresenta un'immagine statica della comunicazione tra il sistema e il proprio ambiente.
Le associazioni di comunicazione non sono nomi forniti. Poiché vi può essere una sola associazione di comunicazione tra
un caso d'uso e un attore, è necessario specificare soltanto i punti iniziali e finali per identificare una particolare
associazione di comunicazione.
Una linea o freccia tra un attore e un caso d'uso indica che esiste un'interazione mediante invio di segnali.
Ciascuna estremità di un'associazione di comunicazione è un ruolo che specifica l'aspetto un caso d'uso o attore
gioca nell'associazione. I ruoli sono utilizzati per specificare le molteplicità e direzioni dell'associazione
(vedere di seguito).
Ciascun ruolo di un'associazione di comunicazione indica la molteplicità del suo tipo, cioè, quante istanze di
quell'attore o caso d'uso possono essere associate ad un'istanza dell'altro caso d'uso o attore. La molteplicità viene
indicata mediante un'espressione di testo sul ruolo. L'espressione è un elenco separato da virgole di intervalli di
numeri interi. Un intervallo è indicato da un numero intero (il valore più basso), due punti, e un numero intero (il
valore superiore); un unico numero intero è un intervallo valido e il simbolo '*' indica "molti", cioè, un numero
illimitato di oggetti. Il simbolo '*' da solo è equivalente a '0..*', cioè, un numero comprendente zero; si tratta del
valore predefinito. Un ruolo scalare facoltativo ha la molteplicità 0..1.
La molteplicità può essere aumentata con un vincolo di unità di tempo. Ciò viene effettuato per indicare quante istanze
possono essere associate, possibilmente da diverse istanze, durante l'unità di tempo. Queste informazioni sono utili
poiché indicano se il caso d'uso viene utilizzato spesso e, inoltre, quante volte ciascuna istanza dell'attore utilizza
il caso d'uso.
Esempio:
Il caso d'uso Conduct Transactions viene utilizzato 400.000 volte al giorno dai clienti. Ciascun cliente si serve del
caso d'uso due volte al mese.
Ciascun ruolo di un'associazione di comunicazione ha una proprietà di navigabilità, che indica chi inizia la
comunicazione nell'interazione. La navigabilità viene mostrata con una punta di freccia aperta. Se la punta
della freccia è rivolta verso un caso d'uso, l'attore all'altra estremità dell'associazione inizia l'interazione con il
sistema. Se la punta è rivolta verso un attore, il sistema inizia l'interazione con l'attore. Una
navigabilità a due vie è mostrata da una linea senza punte di frecce (due punte tendono a creare confusione nei
diagrammi).
La freccia di comunicazione definisce l'attore che ha avviato il caso d'uso. Per ciascuna freccia di comunicazione è
previsto un messaggio di ritorno. Una linea senza punte di frecce presuppone una comunicazione a due vie.
Non confondere la navigabilità con il flusso di dati; viene utilizzata solo
per mostrare l'avvio della comunicazione. Ad esempio, una richiesta cliente di dati viene mostrata con una
freccia rivolta verso il caso d'uso che rappresenta il sistema, sebbene la maggior parte dei dati proceda dal sistema
al cliente.
Gli attori comunicano con il sistema mediante l'invio di segnali. Per comprendere pienamente il ruolo dell'attore, è
necessario conoscere quali casi d'uso l'attore impieghi. Ciò viene mostrato dalle associazioni di comunicazione tra
l'attore e i casi d'uso.
La molteplicità dell'associazione mostra quante istanze di un caso d'uso con cui un'istanza di un attore può comunicare
allo stesso tempo.
Esempio:
Nel sistema di una macchina di riciclaggio, ogni volta che un'istanza dell'attore cliente restituisce un articolo di
deposito, viene inviato un segnale all'istanza associata del caso d'uso Ricicla articoli. Quando l'attore ha terminato,
il caso d'uso stampa una ricevuta. Un cliente può comunicare con una sola istanza di Ricicla articoli. Pertanto, la
molteplicità dell'associazione è 1. La ricevuta restituita dal sistema è considerata come una risposta dall'istanza del
caso d'uso; quindi, l'associazione di comunicazione non necessità di navigabilità verso l'altra direzione.
Un cliente che intende restituire degli articoli di deposito in una macchina di riciclaggio comunicherà con il caso
d'uso Ricicla articoli.
Un attore comunica con i casi d'uso per molti motivi, compreso:
-
Il richiamo di un caso d'uso. Un'istanza di attore richiama sempre un'istanza di caso d'uso.
-
La richiesta di determinati dati memorizzati nel sistema, che il caso d'uso quindi recupera e propone all'attore.
-
La modifica dei dati memorizzati nel sistema mediante una finestra di dialogo.
-
La notifica di informazioni importanti riguardanti aspetti esterni al sistema di cui il sistema dovrebbe occuparsi.
Un solo attore avvia un caso d'uso. Tuttavia, una volta avviato, il caso d'uso può comunicare con diversi attori. E'
possibile utilizzare le associazioni di comunicazione tra il caso d'uso e gli attori per mostrare con quali attori il
caso d'uso comunica. La molteplicità dell'associazione mostra quante istanze di un attore con cui un'istanza di un caso
d'uso può comunicare allo stesso tempo.
I casi d'uso comunicano con gli attori per molti motivi, compreso:
-
Se ha luogo un avvenimento importante all'interno del sistema di cui un attore dovrebbe venire a conoscenza.
-
Un caso d'uso potrebbe richiedere all'attore di effettuare una decisione se molteplici opzioni sono disponibili.
E' comune ma non sempre vero che il caso d'uso attende una risposta quando ha inviato un segnale ad un attore. Ciò
dovrebbe essere esplicitamente descritto nel caso d'uso.
Di seguito sono riportate le convenzioni facoltative comuni che rendono chiaro quale attore avvia il caso d'uso.
-
Viene sempre mostrata la punta di freccia da attore a caso d'uso di
avvio, anche se il caso d'uso avvia successivamente la comunicazione con l'attore di avvio. Inoltre, questo è
l'unica punta di freccia da attore a caso d'uso mostrata.
-
Le punte di frecce da caso d'uso ad attori possono essere omesse
oppure incluse per chiarezza.
|