This presentation talks about the main features of UML activity diagrams. The slides contain information about which are the main components of activity diagrams, how to use them to represent business processes and software algorithms.
The presentation is took from the Software Engineering course I run in the bachelor-level informatics curriculum at the University of Padova.
1. DIAGRAMMI DI ATTIVITÀ
INGEGNERIA DEL SOFTWARE
Università degli Studi di Padova
Dipartimento di Matematica
Corso di Laurea in Informatica, A.A. 2014 – 2015
rcardin@math.unipd.it
5. DIAGRAMMI DI ATTIVITÀ
Analisi dei Requisiti, Specifica Tecnica, Definizione di Prodotto
Ingegneria del software mod. A
Riccardo Cardin 5
• Diagrammi Use case
• Diagrammi di attività
Revisione
dei Requisiti
R. Progetto
Architetturale
Revisione di
Qualifica
R. di
Accettazione
• Diagrammi dei package
• Diagrammi delle classi
• Diagrammi degli oggetti
• Diagrammi di attività
• Diagrammi di sequenza
• Diagrammi delle classi
• Diagrammi di attività
• Diagrammi di sequenza
• Diagrammi di flusso
6. Nodo
iniziale
Fork
Fine
dell’attività
Join
Decisione
(branch)
Guardia
Merge
Ingegneria del software mod. A Riccardo Cardin 6
7. DIAGRAMMI DI ATTIVITÀ
Descrivono la logica procedurale, i processi di business
Aiutano a descrivere gli aspetti dinamici dei casi d’uso
Supportano l’elaborazione parallela
Un’attività è un insieme di più azioni
Nodo iniziale
Da dove inizia l’esecuzione del processo
Fork
Elaborazione parallela
Nessun ordine fra le attività di processi differenti
Join
Sincronizzazione fra i processi paralleli
Specifiche di Join
Espressione booleana
Ingegneria del software mod. A
Riccardo Cardin 7
[joinSpec= b1 and b2]
8. DIAGRAMMI DI ATTIVITÀ
Definizioni
Un’attività è un insieme di più azioni
Decisione (branch)
Si può intraprendere solo uno dei percorsi
Nodo finale
Nodo di fine di flusso
Token
Vengono prodotti e consumati
Il nodo iniziale genera token
Il nodo finale consuma token
Fork produce un token per ogni processo
Join consuma i token in ingresso e ne genera solo uno
Ingegneria del software mod. A
Riccardo Cardin 8
9. DIAGRAMMI DI ATTIVITÀ
Esempio principale
Ingegneria del software mod. A
Riccardo Cardin 9
Esempio
È richiesto lo sviluppo di un’applicazione che permetta la gestione di un semplice blog.
In particolare devono essere disponibili almeno tutte le funzionalità base di un blog:
deve essere possibile per un utente inserire un nuovo post e successivamente per gli
altri utenti deve essere possibile commentarlo. Queste due operazioni devono essere
disponibili unicamente agli utenti registrati all’interno del sistema. La registrazione
avviene scegliendo una username e una password. La username deve essere univoca
all’interno del sistema.
12. Nome
dell’attività
Ingegneria del software mod. A
Operazione di una classe
Notazione UML 2.x
AZIONI
Implementazione di una azione
Sotto-attività
Invia Conto
(Ordine::InviaConto)
Riccardo Cardin 12
Activity
frame
13. AZIONI
Merge
Ingegneria del software mod. A
In UML 2.0 visto
come un punto
di join
Riccardo Cardin 13
14. AZIONI
Pin e trasformazioni
Passaggio di parametri tra azioni
I Pin corrispondono ai box dei parametri
Nel business risorse prodotte e consumate
Espressione di
trasformazione
Ingegneria del software mod. A
Riccardo Cardin 14
Cancella
appuntamento
Appuntamento
Pin parametro
Messaggio Paziente
Notifica
paziente
«transformation»
«transformation» appuntamento.paziente
appuntamento.notifica
15. PARTIZIONI
Forniscono una responsabilità all’esecuzione
delle azioni
Swimlanes
Ingegneria del software mod. A
Responsabilità
Riccardo Cardin 15
Swimlanes
16. SEGNALI
Evento proveniente da un processo esterno
Verificato da
passaggio del
tempo
Ingegneria del software mod. A
Riccardo Cardin 16
Attende il
verificarsi di un
segnale
Generazione
segnali
17. SEGNALI
Eventi temporali
Un evento con un arco entrante è un timeout
Un evento senza archi entranti è un evento ripetuto
Ingegneria del software mod. A
Riccardo Cardin 17
18. DIAGRAMMI DI ATTIVITÀ
Esempio 2
Ingegneria del software mod. A
Riccardo Cardin 18
Aspetta 15 min.
19. FLUSSI E ARCHI
Connessione fra due azioni
Quando la relazione semplice non basta...
Ingegneria del software mod. A
Riccardo Cardin 19
Facilita la lettura di
diagrammi complessi
Oggetto
messaggio
20. REGIONI DI ESPANSIONE
Ripetizione delle attività su una collezione
Ogni elemento della lista è un token
Un solo token in uscita dalla regione
Ingegneria del software mod. A
Riccardo Cardin 20
Scegli
argomenti
Scrivi articolo
Pubblica
Newsletter
Rivedi articolo
Regione di
espansione
Un token quando
tutti gli input sono
arrivati
Lista
argomenti
21. NODI DI TERMINAZIONE
Terminazione di un flusso
Non termina l’intera l’attività, consuma un token
Ingegneria del software mod. A
Riccardo Cardin 21
In una regione
di espansione
All’interno di
una fork
22. MA NON È TUTTO QUI …
Uno dei diagrammi più ricchi
Soprattutto da UML 2.x
Da utilizzare quando:
Espressione di flussi paralleli
Per descrivere casi d’uso o requisiti
Direttamente dal capitolato tecnico
Semplici da comprendere
Ma ancora poco utilizzati
Ingegneria del software mod. A
Riccardo Cardin 22
23. RIFERIMENTI
OMG Homepage – www.omg.org
UML Homepage – www.uml.org
UML Distilled, Martin Fowler, 2004, Pearson
(Addison Wesley)
Learning UML 2.0, Kim Hamilton, Russell Miles,
O’Reilly, 2006
Ingegneria del software mod. A
Riccardo Cardin 23