I Diagrammi di Flusso OO

Documenti analoghi
Corso di Ingegneria del Software. Activity Diagram

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15

2. Modellazione dei casi d uso

Diagrammi di stato e di attività: esercizi

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

Ingegneria del Software 8. Diagrammi di attività. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Diagrammi a blocchi 1

UML I diagrammi implementativi

Attività vs. Stato. Elementi di UML (4) Activity diagram. Activity diagram: notazione (1/3) Activity diagram: notazione (2/3)

Macchine sequenziali. Automa a Stati Finiti (ASF)

Modello a scambio di messaggi

Diagrammi a blocchi 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Dispensa di Informatica II.1

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Problemi, algoritmi, calcolatore

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Introduzione alla programmazione

CAPITOLO 3 - ALGORITMI E CODIFICA

Progettazione concettuale di una base di dati

Sistemi Web per il turismo - lezione 3 -

LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM

Il concetto di calcolatore e di algoritmo

Istruzioni Condizionali

Automa a Stati Finiti (ASF)

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

1. UML 2 ed il Processo Unificato

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Teoria dell Informazione

Transcript:

Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO

Generalità I diagrammi di attività vengono usati per modellare processi a cui partecipano diversi oggetti I diagrammi di stato vengono usati per modellare il ciclo di vita di una entità reattiva Descrive la macchina a stati di una singola entità Modella il comportamento dinamico di: Classi Casi d'uso Sottosistemi Sistemi interi Una entità reattiva è un oggetto (in senso lato) che fornisce il contesto ad un diagramma di stato Risponde a eventi esterni Ha un ciclo di vita definito, che può essere modellato come successioni di stati e transizioni Ha un comportamento corrente che dipende dai comportamenti precedenti 2

Diagramma di macchina a stati è un grafico con nodi ed archi in cui i nodi rappresentano gli stati di una classe e gli archi, direzionali, rappresentano le transizioni di stato mostra il comportamento di una classe mediante gli stati che può assumere e le sue reazioni (cambiamenti di stato) al verificarsi di cause esterne (eventi) le transizioni si verificano in corrispondenza ad eventi che sono solitamente legati allo svolgimento di attività gli stati indicano degli stati (intermedi) in cui può trovarsi una risorsa tra lo svolgimento di due attività atomiche consecutive l identificazione di stati, eventi e transizioni è complementare all identificazione delle attività e del modo in cui sono correlate una transizione può essere controllata attraverso una condizione in tal caso una condizione si può verificare se accade l evento e se è vera la condizione che la controlla La macchina a stati di una classe modella il comportamento degli oggetti della classe in modo trasversale per tutti i casi d'uso interessati 3

Eventi, Stati e Transizioni Un evento è un avvenimento significativo o degno di nota che accade in un istante Stato - una condizione o una situazione della vita di un oggetto durante la quale tale oggetto soddisfa una condizione, esegue un attività o aspetta un qualche evento [The UML Reference Manual]. Affinché sia rilevante modellare degli stati di una entità deve esistere tra tali stati una differenza semantica lo stato influenza il comportamento: l oggetto può reagire diversamente ad uno stesso evento esterno in base al proprio stato ( es. l iscrizione di uno studente ad un corso di laurea a numero di chiuso dipende dallo stato delle iscrizioni (periodo, disponibilità di posti, numero di iscritti, etc..) Una transizione è una relazione tra due stati ed indica che quando si verifica un evento, l oggetto passa da uno stato precedente ad uno stato successivo (es. un prestito di un libro muta lo stato di libro da presente in in prestito ) 4

Sintassi Base Gli stati sono rappresentati con rettangoli arrotondati Le transizioni indicano un possibile percorso tra due stati e sono modellate con frecce Gli eventi sono istantanei sono scritti sopra la transizione che attivano 5

Nome Elementi descrittivi di uno Stato identificatore dello stato [obbligatorio] Variabili di Stato attributi che descrivono lo stato[opzionale] Sequenza di eventi che determina lo stato Condizioni che caratterizzano lo stato 6

Evento Un evento è la specifica di un'occorrenza di interesse che ha una collocazione nel tempo e nello spazio Quattro tipi: Evento di chiamata: equivale a una richiesta di esecuzione di un insieme di azioni Evento di segnale: ricezione di un segnale Evento di variazione: l'azione associata viene eseguita quando l'espressione Booleana seguente alla parola chiave risulta vera Evento del tempo: evento che viene attivato in determinati momenti del tempo, indicati con le parole chiave quando e dopo. 7

Evento di segnale Un segnale è un pacchetto di informazioni inviato in modo asincrono da un oggetto a un altro Il segnale viene modellato come una classe con stereotipo, la quale ha attributi corrispondenti a tutte le informazioni comunicate. Poiché un segnale permette solo il passaggio di informazioni tra oggetti diversi, non può avere alcuna operazione Unica eccezione è fatta per l'operazione implicita Invia (elencodestinatari) che consente l'invio del segnale ad uno o più oggetti destinatari La ricezione di un segnale da parte di un'entità reattiva può essere modellata come un evento di segnale L'attivazione di un evento di segnale è un metodo che prende come parametro quel tipo di segnale 8

Evento di segnale - Esempio 9

Esempio: Stati di un Libro Stato Iniziale "prestito" è l'evento "data" è l'argomento acquisizionelibro( ISBN,autori,editori ) Stato Acquisto prestito( data ) Prestito Transizione restituzione( data ) cancellazione( ISBN ) restituzione( data ) scadenzatermini Stato Finale cancellazione( ISBN ) Mancata Riconsegna 10

Stati composti Uno stato composto è uno stato che può essere ulteriormente spezzato in sottostati questi possono essere rappresentati all'interno del medesimo diagramma o in uno a parte 11

Stati concorrenti È possibile che uno stato composto possieda più stati concorrenti 12

I diagrammi di attività sono un tipo speciale di diagramma di stato in cui ogni stato ha un'azione di ingresso che specifica una procedura o funzione da eseguire quando si entra nello stato contengono stati di azione e stati di sottoattività: gli stati di azione rappresentano attività che non possono essere scomposte in sottoattività È possibile associare un diagramma di attività a qualunque elemento di modellazione, al solo fine di modellarne il comportamento Un diagramma di attività mostra un insieme di azioni alcune delle quali vanno svolte in sequenza altre possono essere svolte in parallelo (es. processi di business, flussi di lavoro, flussi di dati e algoritmi complessi) 13

Diagramma di attività Elementi azione (attività) unità di lavoro che deve essere portata a termine arco rappresenta un flusso di dati o di controllo punto di decisione (o di branch) si presenta quando la transizione in uscita da un'attività porta in direzioni diverse a seconda di una condizione attività in parallelo - un flusso può essere spezzato in più cammini per poi essere raggruppati utilizzando una linea di sincronizzazione La separazione dei cammini prende il nome di fork L'unione di più cammini prende il nome di join corsie di marcia o swimlane rappresentano un attore responsabile dello svolgimento di alcune azioni costituiscono una notazione atta ad indicare le aree nelle quali vengono svolte le varie attività Segnale temporale - evento proveniente da un processo esterno che si verifica per il trascorrere del tempo. Segnale inviato evento generato dal processo corrente è utile quando si deve inviare un segnale e attendere prima di poter continuare. Segnale di ricezione - evento proveniente da un processo esterno che si verifica quando una certa condizione diventa vera. 14

Branch, Fork e Join - Esempio 15

Oggetti nei Diagrammi delle attività - Esempio 16

Segnali nei Diagrammi delle attività - Esempio 17