SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 SOMMARIO Introduzione Concetti base 3 4
Analisi dei Requisiti, Specifica Tecnica, Definizione di Prodotto Nodo iniziale Fork Diagrammi Use case Diagrammi di attività Diagrammi dei package Diagrammi delle classi Diagrammi degli oggetti Diagrammi di attività Diagrammi di sequenza Guardia Decisione (branch) Revisione dei Requisiti R. Progetto Architetturale R. di Accettazione Revisione di Qualifica Merge Join Diagrammi delle classi Diagrammi di attività Diagrammi di sequenza Diagrammi di flusso Fine dell attività 5 6 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 [joinspec= b1 and b2] 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 7 8
Esempio principale Esempio 1 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. 9 10 SOMMARIO AZIONI Introduzione Implementazione di una azione Concetti base Sotto attività Nome dell attività Operazione di una classe Invia Conto (Ordine::InviaConto) Activity frame Notazione UML 2.x 11 12
AZIONI AZIONI Merge In UML 2.0 visto come un punto di join Pin e trasformazioni Passaggio di parametri tra azioni I Pin corrispondono ai box dei parametri Nel business risorse prodotte e consumate Espressione di trasformazione «transformation» appuntamento.notifica Cancella appuntamento Appuntamento Pin parametro «transformation» appuntamento.paziente Messaggio Paziente Notifica paziente 13 14 PARTIZIONI SEGNALI Forniscono una responsabilità all esecuzione delle azioni Swimlanes Responsabilità Evento proveniente da un processo esterno Verificato da passaggio del tempo Generazione segnali Swimlanes Attende il verificarsi di un segnale 15 16
SEGNALI Eventi temporali Un evento con un arco entrante è un timeout Esempio 2 Un evento senza archi entranti è un evento ripetuto Aspetta 15 min. 17 18 FLUSSI E ARCHI REGIONI DI ESPANSIONE Connessione fra due azioni Quando la relazione semplice non basta... Facilita la lettura di diagrammi complessi Ripetizione delle attività su una collezione Ogni elemento della lista è un token Un solo token in uscita dalla regione Regione di espansione Scrivi articolo Oggetto messaggio Scegli argomenti Pubblica Newsletter Lista argomenti Rivedi articolo Un token quando tutti gli input sono arrivati 19 20
NODI DI TERMINAZIONE MA NON È TUTTO QUI Terminazione di un flusso Non termina l intera l attività, consuma un token Uno dei diagrammi più ricchi Soprattutto da UML 2.x In una regione di espansione All interno di una fork 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 21 22 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 23