I Diagrammi di Flusso OO

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "I Diagrammi di Flusso OO"

Transcript

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 Evento di segnale - Esempio 9

10 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

11 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

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

13 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

14 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

15 Branch, Fork e Join - Esempio 15

16 Oggetti nei Diagrammi delle attività - Esempio 16

17 Segnali nei Diagrammi delle attività - Esempio 17

Corso di Ingegneria del Software. Activity Diagram

Corso di Ingegneria del Software. Activity Diagram Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.

Dettagli

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

Ingegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di

Dettagli

2. Modellazione dei casi d uso

2. Modellazione dei casi d uso 2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario

Dettagli

Diagrammi di stato e di attività: esercizi

Diagrammi di stato e di attività: esercizi Diagrammi di stato e di attività: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini) A.A. 2012-2013 Laboratorio Ingegneria del Software () Diagrammi di stato e di attività: esercizi A.A. 2012-2013

Dettagli

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

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

Dettagli

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

Ingegneria del Software 8. Diagrammi di attività. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 8. Diagrammi di attività Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

UML I diagrammi implementativi

UML I diagrammi implementativi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di

Dettagli

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

Attività vs. Stato. Elementi di UML (4) Activity diagram. Activity diagram: notazione (1/3) Activity diagram: notazione (2/3) Elementi di UML (4) Attività vs. Stato UML 1! Attività: Un insieme di azioni che deve essere necessariamente ed interamente completato prima di potersi considerare terminato.! Stato: Un punto ben preciso

Dettagli

Macchine sequenziali. Automa a Stati Finiti (ASF)

Macchine sequenziali. Automa a Stati Finiti (ASF) Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso

Dettagli

Modello a scambio di messaggi

Modello a scambio di messaggi Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso

Dettagli

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

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale

Dettagli

Dispensa di Informatica II.1

Dispensa di Informatica II.1 ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia

Dettagli

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

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 3 - ALGORITMI E CODIFICA FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)

Dettagli

Progettazione concettuale di una base di dati

Progettazione concettuale di una base di dati Progettazione concettuale di una base di dati Progettazione concettuale Analisi dei requisiti I requisiti devono innanzitutto essere acquisiti Le fonti possono essere molto diversificate tra loro: utenti,

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM

LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM Laboratorio di Ingegneria del Software

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Automa a Stati Finiti (ASF)

Automa a Stati Finiti (ASF) Automa a Stati Finiti (ASF) E una prima astrazione di macchina dotata di memoria che esegue algoritmi Introduce il concetto fondamentale di STATO che informalmente può essere definito come una particolare

Dettagli

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.)

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.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

1. UML 2 ed il Processo Unificato

1. UML 2 ed il Processo Unificato 1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell'informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L'algebra

Dettagli

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

GRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono

Dettagli

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

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli