I Diagrammi di Flusso OO
|
|
|
- Alberta Di Marco
- 9 anni fa
- Visualizzazioni
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 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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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,
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
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
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
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
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
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
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
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
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
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
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
