Cerchiamo ora di capire le varie componenti in dettaglio: le modalità in cui vengono rappresentate le decisioni, i path concorrenti, i segnali e le swimlanes.
Decisioni
Un punto di decisione può essere rappresentato in due modi. La scelta
sulla modalità da utilizzare è affidata interamente all'analista.
Il primo modo consiste nel mostrare i possibili cammini che derivano
direttamente da un'attività. L'altro modo, invece, consiste nel
rappresentare la transizione di un'attività con un piccolo rombo e far
seguire dal rombo stesso tutti i possibili cammini di flusso. Un altro
modo ancora stabilisce di indicare la condizione con un'istruzione
racchiusa tra parentesi graffe vicino il path appropriato.
Si immagini di dover recarsi al lavoro. Le fasi che descrivono tale
processo saranno: aprire la macchina, inserire le chiavi nel cruscotto
e quindi scegliere tra le seguenti due situazioni:
La macchina si avvia regolarmente
La macchina non si avvia
Questi due possibili casi produrranno due altre attività:
Guidare la macchina
Recarsi alla fermata del autobus (oppure prendere un taxi, la bicicletta o andare a piedi)
.
Tale tipo di scenario viene rappresentato nel seguente grafico (si presti attenzione ai due modi di mostrare una decisione):
Path Concorrenti
Quando si esegue il modellamento di attività, molto frequentemente si
verificherà la necessità di dover separare le transizioni in due
cammini separati che vengano eseguiti allo stesso tempo
(concorrentemente).
Una tale suddivisione viene rappresentata da una linea continua in
grassetto, perpendicolare alla transizione e che mostri i cammini che
avvengono al di fuori dalla linea stessa. Per rappresentare un "merge"
successivo delle due attività, si fanno convergere i cammini verso
un'altra linea in grassetto.
Segnali Durante una sequenza di
attività, è possible inviare un segnale. Quando viene ricevuto, il
segnale causa la creazione di un'attività.
Il simbolo per inviare un segnale è un pentagono convesso, mentre il
simbolo per rappresentare il segnale ricevuto è un poligono concavo.
Swimlanes
L'activity diagram definisce anche la possibilità visualizzare i ruoli.
Per far ciò, si separa il diagramma in segmenti paralleli, chiamati
swimlanes (corsie di nuoto). Ogni swimlane mostra il nome di un
determinato ruolo in cima e mostra le attività di quel ruolo. Le
transizioni possono anche coinvolgere due swimlane.
È possibile combinare l'activity diagram con i simboli di altri diagrammi e così produrre un diagramma ibrido.