Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it
Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
La notazione Notazione Dal caso d uso al diagramma di attività
La notazione Notazione Dal caso d uso al diagramma di attività
La notazione Notazione Dal caso d uso al diagramma di attività
La notazione Notazione Dal caso d uso al diagramma di attività
La notazione Notazione Dal caso d uso al diagramma di attività
La notazione Notazione Diagramma di attività: il concetto I diagrammi di attività descrivono il comportamento dinamico del sistema Sono flowchart che mostrano il flusso di controllo tra le attività
La notazione Notazione Diagramma di attività: il concetto I diagrammi di attività descrivono il comportamento dinamico del sistema Sono flowchart che mostrano il flusso di controllo tra le attività
La notazione Notazione Diagramma di attività: il concetto
La notazione Notazione Diagramma di attività: il concetto
La notazione Notazione Diagramma di attività: il concetto
La notazione Notazione Diagramma di attività: il concetto
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione I simboli Attività e azioni Stati Transizioni Punti di diramazione Corsie di marcia (swimlane) Fork e join Icone di controllo
La notazione Notazione Attività Una attività è una unità di lavoro che deve essere portata a termine Esempio
La notazione Notazione Attività : Azioni Una activity è composta da action, elaborazioni atomiche comportanti un cambiamento di stato del sistema o il ritorno di un valore Quattro tipi di azioni: entry azioni attivate quando inizia l attività do azioni eseguite durante l attività exit azioni che terminano l attività evento azioni sono eseguite in risposta all evento
La notazione Notazione Stati Uno stato denota uno o più eventi che si devono verificare perchè l attività possa continuare.
La notazione Notazione Stati Uno stato denota un evento che si deve verificare perchè l attività possa continuare.
La notazione Notazione Stati speciali : start e end Lo stato start inizia un flusso. C è solo uno stato start in un workflow. Lo stato end Ci possono essere più stati end in un workflow.
La notazione Notazione Transizioni Transizione: flusso di controllo tra due attività successive Una transizione indica il passaggio attività attività stato attività attività stato
La notazione Notazione Transizioni Transizione: flusso di controllo tra due attività successive Una transizione indica il passaggio attività attività stato attività attività stato
La notazione Notazione Transizioni
La notazione Notazione Transizioni
La notazione Notazione Transizioni : attività stato Tansizione non attivata (triggerless): attività termina la transizione parte quando la
La notazione Notazione Transizioni : stato attività Tansizione attivata: la transizione inizia quando si verifica un evento (trigger).
La notazione Notazione Transizioni : attività attività Transizioni multiple: ogni transizione è attivata da un evento. Gli eventi sono detti guard e sono racchiusi in parentesi quadre.
La notazione Notazione Transizioni : attività attività Transizioni con associata un unica azione.
La notazione Notazione Punti di diramazione (branch e merge) Branch: specifica percorsi alternativi in base a espressioni booleane; un branch ha una unica transition in ingresso e due o più transition in uscita
La notazione Notazione Esempio di branch e merge
La notazione Notazione Punti di diramazione (branch) Si usa quando la transizione di dirama, a seconda di precise condizioni.
La notazione Notazione Synchronization bar :fork e join Synchronization bar: usata per sincronizzare flussi concorrenti fork: per dividere un flusso su più transizioni verso action state concorrenti join: per unificare più transizioni da più action state concorrenti in una sola Il numero di fork e di join dovrebbero essere bilanciati
La notazione Notazione Fork e join
La notazione Notazione Fork : diagrammi equivalenti
La notazione Notazione Fork : diagrammi equivalenti
La notazione Notazione Partizioni o Corsie di marcia (Swimlane) Le partizioni o corsie di marcia indicano dove una attività ha effettivamente luogo. Sono rappresentate da colonne all interno di un activity diagram.
La notazione Notazione Corsie di marcia (Swimlane) Le corsie di marcia consentono di rappresentare le attività in modo bidimensionale evidenziare le aree tecnologiche all interno delle quali vengono realizzate le attività distinguere le aree di atività
La notazione Notazione Corsie di marcia (Esempio: Ordine senza swimlane)
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Corsie di marcia (Esempio: Ordine con swimlane
La notazione Notazione Icone di controllo : Send Signal Accept Signal Le transizioni possono generare eventi. Nei diagrammi di attività questi eventi sono gestiti mediante le icone di controllo.
La notazione Notazione Send Signal Accept Signal Send Signal è una azione che 1. crea una una istanza di un segnale 2. trasmette l istanza creata all oggetto target
La notazione Notazione Send Signal Accept Signal Accept Event è una azione che aspetta il verificarsi di un evento
Uso dei diagrammi di attività Diagrammi di attività Sommario 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi 5. Bibliografia Sistema ORDINI Sistema AUTENTICAZIONE Sistema BIBLIOTECA
Uso dei diagrammi di attività Uso dei diagramm di attività Consentono di descrivere le attività (ed il flusso loro relativo) caratteristiche dell applicazione che si sta sviluppando Forniscono la sequenza di operazioni che definiscono un attività più complessa Permettono di rappresentare processi paralleli e la loro sincronizzazione
Uso dei diagrammi di attività Uso dei diagramm di attività Possono essere usati in tutte le fasi del progetto. Un può essere associato ad uno Use Case ad una classe all implementazione di un operazione
Uso dei diagrammi di attività Uso dei diagramm di attività Diagrammi di attività e casi d uso Gli è possono essre applicati agli Use Case per evidenziare le azioni che devono essere intraprese nell ambito di un singolo Use Case le azioni che devono essere intraprese tra differenti Use Case.
Uso dei diagrammi di attività Uso dei diagramm di attività Generazione dei diagrammi di attività determinare gli attori e i casi d uso indicare le relazioni tra le attività e le aree (business o tecnologiche) usando le swimlane
TOOL di supporto Diagrammi di attività Sommario 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi 5. Bibliografia Sistema ORDINI Sistema AUTENTICAZIONE Sistema BIBLIOTECA
TOOL di supporto StarUML TOOL di supporto StarUML http://staruml.sourceforge.net/en ArgoUML http://argouml.tigris.org/ Microsoft Visio
TOOL di supporto StarUML StarUML The Open Source UML/MDA Platform http://staruml.sourceforge.net/en
TOOL di supporto StarUML Seleziona Default Approach
TOOL di supporto StarUML 1. Seleziona Default Approach
TOOL di supporto StarUML 2. Model Add Design Model
TOOL di supporto StarUML 3. Model Add Diagram
Esempi Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
Esempi Sistema ORDINI Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
Esempi Sistema ORDINI Sistema ORDINI Requisiti sistema ORDINI I clienti effettuano gli ordini. Quando un fornitore consegna un quantitativo di merce è necessario verificare gli ordini bloccati e decidere quali di questi possono essere sbloccati dal nuovo quantitativo di merce. Si effettuano quindi le assegnazioni della nuova merce agli ordini bloccati e la merce rimanente viene sistemata in magazzino.
Esempi Sistema ORDINI Diagrammi di attività Requisiti sistema ORDINI I clienti effettuano gli ordini. Quando un fornitore consegna un quantitativo di merce è necessario verificare gli ordini bloccati e decidere quali di questi possono essere sbloccati dal nuovo quantitativo di merce. Si effettuano quindi le assegnazioni della nuova merce agli ordini bloccati e la merce rimanente viene sistemata in magazzino.
Esempi Sistema ORDINI Sistema ORDINI Use case diagram
Esempi Sistema ORDINI Sistema ORDINI Activity diagram
Esempi Sistema ORDINI Sistema ORDINI Activity diagram
Esempi Sistema ORDINI Sistema ORDINI Activity diagram
Esempi Sistema ORDINI Sistema ORDINI Activity diagram
Esempi Sistema ORDINI Sistema ORDINI ESERCIZIO CONSIGLIATO Descrivere il sistema ORDINI mediante un diagramma di attività con partizioni.
Esempi Sistema ORDINI Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema ORDINI Sistema AUTENTICAZIONE
Esempi Sistema BIBLIOTECA Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti In una biblioteca il bibliotecario ha i seguenti compiti: prestito dei libri Solo il bibliotecario può prestare i libri. restituzione dei libri gestione i libri (riporre i libri sugli scaffali, segnalare i libri danneggiati, ordinare nuovi libri).
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Casi d uso
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti Sia l utente che il bibliotecario si connettono al sistema biblioteca per effettuare ricerche (per autore, titolo, anno o una loro combinazione). Il sistema biblioteca deve garantire che solo gli utenti registrati possano accedere al sistema L utente può listare i libri che ha preso in prestito. Il bibliotecario può listare dei libri che un dato utente ha preso in prestito.
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Casi d uso
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti Gli utenti della biblioteca (non il bibliotecario) possono anche sfogliare (browse) il catalogo dei libri senza specificare alcuna condizione.
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Casi d uso
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti Sia l utente che il bibliotecario possono conoscere lo stato (disponibili/in prestito) dei libri in catalogo. Lo stato può essere verificato solo durante una operazione di ricerca o browse.
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Casi d uso
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti È possibile selezionare il libro desiderato dalla lista dei risultati del browse o della ricerca.
Esempi Sistema BIBLIOTECA Sistema biblioteca Casi d uso
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Requisiti Sia la ricerca che il browsing possono essere ripetute sui risultati dell ultima ricerca o browse.
Esempi Sistema BIBLIOTECA Sistema BIBLIOTECA Casi d uso
Esempi Classi Sistema BIBLIOTECA Classi
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagrammi di attività diagramma di coordinamento ricerca libro/browsing caalogo diagramma ricerca libro diagramma browsing catalogo diagramma registrazione utente diagramma prestito/restituzione
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma di coordinamento per la ricerca e il browsing
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma ricerca libro
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma ricerca libro
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma ricerca libro
Esempi Diagrammi di attività Sistema BIBLIOTECA Diagramma ricerca libro
Esempi Diagrammi di attività Sistema ORDINI ESERCIZI CONSIGLIATI Completare il sistema BIBLIOTECA con i seguenti diagrammi: diagramma per il browsing del catalogo diagramma per la registrazione di un utente diagramma per il prestito/restituzione
Bibliografia Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4. Esempi Sommario 4.1 Sistema ORDINI 4.2 Sistema AUTENTICAZIONE 4.3 Sistema BIBLIOTECA 5. Bibliografia
Bibliografia Bibliografia Riferimenti bibliografici 1. R. Pressman Ingegneria del software Mc Graw Hill Italia, 5a edizione, 2007, par. 7.5 e 10.5. 2. S. Bennett, J. Skelton, K. Lunn, Introduzione a UML, McGraw Hill, 2002. 3. M. Fowler, UML Distilled Guida rapida al linguaggio di modellazione standard, Addison Wesley, 2004.