Diagrammi di Attività

23
DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 – 2015 [email protected]

Transcript of Diagrammi di Attività

Page 1: Diagrammi di Attività

DIAGRAMMI DI ATTIVITÀINGEGNERIA DEL SOFTWAREUniversità degli Studi di Padova

Dipartimento di Matematica

Corso di Laurea in Informatica, A.A. 2014 – 2015

[email protected]

Page 2: Diagrammi di Attività

2Ingegneria del software mod. A

SOMMARIO

Introduzione

Concetti base

Riccardo Cardin

Page 3: Diagrammi di Attività

3Ingegneria del software mod. A

SOMMARIO

Introduzione

Concetti base

Riccardo Cardin

Page 4: Diagrammi di Attività

4Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

Riccardo Cardin

Page 5: Diagrammi di Attività

5Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ Analisi dei Requisiti, Specifica Tecnica, Definizione di Prodotto

Riccardo Cardin

Revisione dei Requisiti

R. Progetto Architetturale

Revisione di Qualifica

R. di Accettazione

• Diagrammi Use case• Diagrammi di attività

• 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

Page 6: Diagrammi di Attività

6Ingegneria del software mod. A Riccardo Cardin

Nodo iniziale

Fine dell’attività

Fork

Join

Decisione(branch)

Merge

Guardia

Page 7: Diagrammi di Attività

7Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

Aiutano a descrivere gli aspetti dinamici dei casi d’usoSupportano l’elaborazione parallelaUn’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 booleanaRiccardo Cardin

Descrivono la logica procedurale, i processi di business

[joinSpec= b1 and b2]

Page 8: Diagrammi di Attività

8Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

DefinizioniUn’attività è un insieme di più azioni

Decisione (branch) Si può intraprendere solo uno dei percorsi

Nodo finale

Nodo di fine di flussoToken

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

Riccardo Cardin

Page 9: Diagrammi di Attività

9Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

Esempio principale

Riccardo Cardin

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.

Page 10: Diagrammi di Attività

10Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

Esempio 1

Riccardo Cardin

Page 11: Diagrammi di Attività

11Ingegneria del software mod. A

SOMMARIO

Introduzione

Concetti base

Riccardo Cardin

Page 12: Diagrammi di Attività

12Ingegneria del software mod. A

Nome dell’attività

Notazione UML 2.x

AZIONI

Implementazione di una azioneSotto-attività

Riccardo Cardin

Invia Conto(Ordine::InviaConto)

Operazione di una classe

Activity frame

Page 13: Diagrammi di Attività

13Ingegneria del software mod. A

AZIONI

Merge

Riccardo Cardin

In UML 2.0 visto come un punto di join

Page 14: Diagrammi di Attività

14Ingegneria del software mod. A

AZIONI

Pin e trasformazioniPassaggio di parametri tra azioni I Pin corrispondono ai box dei parametri

Nel business risorse prodotte e consumate

Riccardo Cardin

Cancella appuntament

o

Notifica paziente

Appuntamento

Messaggio Paziente

«transformation»appuntamento.paziente

«transformation»appuntamento.notifica

Pin parametroEspressione di

trasformazione

Page 15: Diagrammi di Attività

15Ingegneria del software mod. A

PARTIZIONI

Forniscono una responsabilità all’esecuzione delle azioniSwimlanes

Riccardo Cardin

Responsabilità

Swimlanes

Page 16: Diagrammi di Attività

16Ingegneria del software mod. A

SEGNALI

Evento proveniente da un processo esterno

Riccardo Cardin

Attende il verificarsi di un

segnale

Verificato da passaggio del

tempoGenerazione

segnali

Page 17: Diagrammi di Attività

17Ingegneria del software mod. A

SEGNALI

Eventi temporaliUn evento con un arco entrante è un timeout

Un evento senza archi entranti è un evento ripetuto

Riccardo Cardin

Page 18: Diagrammi di Attività

18Ingegneria del software mod. A

DIAGRAMMI DI ATTIVITÀ

Esempio 2

Riccardo Cardin

Aspetta 15 min.

Page 19: Diagrammi di Attività

19Ingegneria del software mod. A

FLUSSI E ARCHI

Connessione fra due azioniQuando la relazione semplice non basta...

Riccardo Cardin

Facilita la lettura di diagrammi complessi

Oggetto messaggi

o

Page 20: Diagrammi di Attività

20Ingegneria del software mod. A

REGIONI DI ESPANSIONE

Ripetizione delle attività su una collezioneOgni elemento della lista è un tokenUn solo token in uscita dalla regione

Riccardo Cardin

Scegli argomenti

Scrivi articolo

Pubblica Newsletter

Rivedi articolo

Regione di espansione

Un token quando tutti gli input sono arrivati

Lista argomenti

Page 21: Diagrammi di Attività

21Ingegneria del software mod. A

NODI DI TERMINAZIONE

Terminazione di un flussoNon termina l’intera l’attività, consuma un token

Riccardo Cardin

In una regione di

espansione

All’interno di una fork

Page 22: Diagrammi di Attività

22Ingegneria del software mod. A

MA NON È TUTTO QUI …

Uno dei diagrammi più ricchiSoprattutto da UML 2.x

Da utilizzare quando:Espressione di flussi paralleliPer descrivere casi d’uso o requisiti

Direttamente dal capitolato tecnico

Semplici da comprendereMa ancora poco utilizzati

Riccardo Cardin

Page 23: Diagrammi di Attività

23Ingegneria del software mod. A

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

Riccardo Cardin