Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI...

24
Sistemi inform ativi per la m ultimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DIAGRAMMI DI FLUSSO DEI DATI DEI DATI Introduzione ed esempio

Transcript of Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI...

Page 1: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

Sistemi informativi per la multimedialità

Diagrammi di flusso dei dati

DIAGRAMMI DI FLUSSO DIAGRAMMI DI FLUSSO DEI DATIDEI DATI

Introduzione ed esempio

Page 2: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

2Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

DIAGRAMMI DI FLUSSO DI DATI

L'attenzione è rivolta soprattutto alla componente funzionale, mentre i dati giocano un ruolo subordinato.

Caratteristiche:• definizione delle interazioni tra il sistema (il dominio applicativo

di interesse) e il mondo esterno• scomposizione gerarchica del sistema in processi (funzioni,

attività nel dominio applicativo) collegati tramite flussi di dati • descrizione con l’uso del diagramma di flusso di dati - "Data

Flow Diagram"

Page 3: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

3Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Elementi di base dei DFD

clienteacquisisci

ordinefornitoreordine del

clienteordine acquisito

esempio:

Si basano su una notazione grafica che mostra il flusso dei dati e le trasformazioni applicate ad essi dall’ingresso all’uscita del sistema;

ciascun elemento è identificato da un nome (etichetta)

processo

(process)

agente esterno

(external agent)flusso di dati

)

deposito

(data store)(data flow)

Page 4: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

4Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Processo (Funzioni / Trasformazioni)

E' un'attività di trasformazione, che acquisisce dati in input e li trasforma in dati di output.

Ogni processo:• deve essere collegato ad almeno un flusso di dati in input e ad almeno uno

in output• i flussi in output devono essere diversi rispetto ai flussi di input (in quanto

oggetto di una trasformazione)

processo

input 1

output 1

input 2

Page 5: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

5Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Flusso di dati

Indica un flusso di materiale (dati) omogeneo:

• ha una direzione

• connette due elementi del sistema

• uno dei due elementi è necessariamente un processo o un agente esterno che produce il flusso o lo acquisisce

emetti fattura

clientefatture

Page 6: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

6Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Deposito (data store)

è un archivio, di dati permanenti, a cui i processi del sistema possono accedere, in lettura e/o in aggiornamento

• è, per definizione, statico: mentre il flusso trasporta i dati, che sono quindi "in movimento", nel deposito i dati sono messi "a riposo", disponibili per essere trattati dai processi

ordiniordiniricevuti

acquisizione ordini

Page 7: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

7Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Agente esterno

è un elemento/sistema esterno, con il quale il sistema da analizzare scambia informazioni in input e/o in output (sorgente o pozzo di flussi)

• può essere una persona, un'organizzazione, un sistema hardware / software, un oggetto qualsiasi

• come ogni sistema, potrebbe essere analizzato, ma:– l'agente esterno è da considerarsi come una "scatola nera", della quale non

ci interessano le caratteristiche interne

– ci interessano solo gli scambi di dati (flussi) tra l'agente esterno ed il sistema da analizzare

cliente bancasensoresistema

contabilità generale

Page 8: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

8Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Processo: tipologie di trasformazione

emetti ricevuta

listino prezzi

ricevutafiscale

ordini

1) produzione in output di dati diversi rispetto a quelli di input

aggiorna listino

listino prezzi

listino prezziaggiornato

sconto o maggiorazione

2) produzione in output di dati della medesima tipologia di quelli di input, ma con valori diversi

Page 9: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

9Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Processo: tipologie di trasformazione

controllo ortografia

parole dacontrollare

parole corrette

dizionario

3) partizionamento di un flusso in input

parole errate

accettazione ordini

ordini viatelefono

ordini viaposta

4) unione di più flussi in input

ordini ricevuti

Page 10: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

10Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Composizione del flusso di dati

il flusso può riferirsi a:

• dati organizzati in strutture (es. ordini memorizzati in un archivio) o non strutturati (es. reclami, risposte)

• zero, una o più occorrenze (es. dal deposito ordini possono essere letti da zero a molti ordini) di un dato

ordini tratta reclamiordini

ricevuti

reclami

risposte

Page 11: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

11Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Ruolo del deposito

Consente la connessione “asincrona” tra due processi

il processo che accede ai dati contenuti nel deposito (es. evasione ordini) può iniziare la propria attività in un momento successivo al termine dell'attività del processo che li memorizza (es. acquisizione ordini)

evasione ordini

ordiniricevuti

acquisizione ordini

ordiniricevuti

ordini

Quando la connessione tra processi avviene senza il tramite di un deposito, i processi sono "sincroni":

evasione ordini

acquisizione ordini

ordiniricevuti

il secondo processo inizia la propria attività immediatamente al termine dell'attività del primo

Page 12: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

12Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Deposito e flussi di dati

– flussi diversi possono aggiornare e/o leggere il medesimo deposito: ciascuno di essi corrisponde ad un determinato sottoinsieme del deposito

– è anche lecito che il medesimo flusso aggiorni e legga il deposito

• i flussi di dati che entrano in un deposito lo aggiornano, mentre quelli che ne escono lo leggono

ordini via postaordini da evadere

contratti

contratti

stipulati

ordini via telefonoordini già evasi

contratti

stipulati

ordini

i flussi in input al deposito, e in output dal deposito, aggiornano o leggono un sottoinsieme dei dati contenuti nel deposito, non necessariamente l'intero deposito:

Page 13: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

13Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Ruolo degli agenti esterni

• l'individuazione degli agenti esterni è la base per la definizione del contesto del sistema

• gli agenti esterni corrispondono alle particolari entità del "mondo esterno" con cui il sistema è in relazione

• definire gli agenti esterni, e i flussi di dati che essi scambiano con il nostro sistema, permette di precisare i "confini" del sistema che stiamo analizzando:

– le attività che producono i flussi indirizzati verso gli agenti esterni sono interne al sistema

– le attività che producono i flussi che arrivano dagli agenti esterni sono al di fuori del sistema

Page 14: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

14Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Diagramma di contesto

• ogni sistema è in relazione con il "mondo esterno", dal quale riceve input e verso il quale produce output

• un solo processo, che rappresenta il sistema nella sua globalità

• tutti gli agenti esterni

• i flussi che agenti esterni e sistema si scambiano

• eventuali depositi

il diagramma di contesto rappresenta le interazioni tra il sistema e il "mondo esterno"

X"il

sistema"

Y

Deposito W

Z

Page 15: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

15Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Scomposizione dei processi

ogni processo può essere scomposto in sottoprocessi (‘eplosione’ di un processo):

• la scomposizione origina un nuovo diagramma

• regola di scomposizione: i flussi di input e di output collegati al processo "padre" devono essere collegati anche ai processi "figli" (padri e figli devono avere i medesimi input ed output "netti” - regola di continuità dei flussi)

• la scomposizione è reversibile: è cioè possibile aggregare più processi in un macro-processo

DFD articolati su più livelli

• dal diagramma più sintetico, con un unico processo (contesto)

• attraverso una serie di diagrammi intermedi

• fino ai diagrammi di dettaglio, che evidenziano i processi elementari (non ulteriormente scomposti)

il meccanismo di scomposizione dei processi permette di rappresentare le funzionalità di un sistema a diversi livelli di dettaglio:

Page 16: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

16Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Scomposizione dei processi

processo 2

x

y

z

2.1

2.2 2.3y

x

z

deposito "X"

Diagramma di scomposizione del processo 2

Ciascuna processo è identificato oltre che dal nome da un numero; i processi figli sono identificati con lo stesso numero del padre seguito da un altro numero progressivo, con una notazione ‘punto’Es. n.ro padre 2 n.ri figli 2.1, 2.2, 2.3 n.ro padre 2.2 n.ri figli 2.2.1, 2.2.2, 2.2.3

Page 17: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

17Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

DFD articolati su più livelli

0

x

z

1

2 3y

x

z

diagramma di scomposizione di primo livello

diagramma di contesto

x

y z

z

x

1.1

1.2 1.3

scomposizione processo 1

1.4

2.1 2.2

scomposizione processo 2

3.13.23.3

scomposizione processo 3

Page 18: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

18Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Altri simboli utilizzati* connessione logica ‘AND’ tra flussi OR esclusivo tra flussi OR tra flussi

* P

A

B

C

D

P

A

B

C

DE

F

P

A

B

C

D*

E

Page 19: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

19Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Problemi della scomposizione

• sono state proposte diverse tecniche per aiutare l'analista nella scomposizione.

• "eventi" a cui il processo deve rispondere, e definizione di un sottoprocesso per ciascun evento, che tratti l'evento in modo completo producendo tutte le "risposte" necessarie per soddisfarlo

• scomposizione in base a ‘partizionamenti’ nel dominio applicativo

1. In che modo (secondo quali criteri) è opportuno partizionare un processo?

2. In quanti sottoprocessi bisogna partizionare ciascun processo?

• non esiste una regola vera e propria. Il numero dei sottoprocessi dipende dal tipo di processo e dai criteri (dalla tecnica) utilizzata per il partizionamento

• poiché ogni scomposizione genera un nuovo diagramma, è importante che il diagramma risultante risulti comprensibile, e che pertanto il numero di (sotto) processi contenuti non sia troppo elevato

• l'applicazione ai DFD di studi di psicologia sperimentale hanno portato a proporre un numero indicativo di 7 (+ o - 2) sottoprocessi per ogni processo (sono numeri da prendere con buon senso, non da applicare in modo meccanico)

Page 20: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

20Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

• Ogni processo può essere più o meno complesso, e generare quindi un numero di sottoprocessi elementari molto diverso da quelli originati da un altro processo

• Le tecniche utilizzate per il partizionamento influenzano anche il numero di diagrammi prodotti nella scomposizione, ed il livello di dettaglio necessario.

• Il livello analitico da raggiungere è comunque fortemente condizionato dal processo di sviluppo utilizzato, e dalle modalità di passaggio previste tra l'analisi e il disegno.

3. Fino a che livello di dettaglio spingersi nella scomposizione?

Page 21: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

21Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Qualche regola

• Non considerare operazioni di inizializzazione, terminazione del sistema, di gestione di errori o eccezioni

il sistema va immaginato in uno stato stabile ed invariante in cui idati di uscita sono prodotti da quelli di ingresso

• individuare entrate ed uscite nette dal sistema o sua parte• evidenziarle, ad esempio, disegnandole più estrne• assegnare ai flussi nomi significativi, • assegnare ai processi nomi significativi, che esprimano le trasformazioni sui dati

evitare nomi generici ed ambigui, usare la terminologia del dominio applicativo

• verificare la correttezza e la consistenza del DFD, percorrendo i flussi sia dagli ingressi alle uscite, sia risalendo dalle uscite fino agli ingressi dai quali essi dipendono

Page 22: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

22Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Punti di forza e criticità dei DFD

Punti di forza

• attenzione posta sull'interazione tra il sistema e il mondo esterno (approccio "sistemico", e definizione chiara del contesto

• capacità di rappresentare qualunque tipo di sistema, a diversi livelli di astrazione

• intuitività, immediatezza come strumento di comunicazione

• costituiscono una linea guida per gli analisti, in quanto costringono a porsi le domande a cui l'analisi deve dare risposta

Criticità

• l'approccio top-down può risultare inadeguato per sistemi dai requisiti instabili

• rischi di orientamento alle soluzioni tecniche ( "come bisogna implementare" anziché al "cosa deve fare il sistema"), particolarmente nei livelli più dettagliati

• le "regole sintattiche" sono limitate: la qualità dei modelli prodotti dipende fortemente dall'esperienza di chi li utilizza

Page 23: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

23Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

DFD - Esempio gestione ristorante

Fornitore

Cliente

Ristorantefornitura

ordinazione

pastoconto

ricevuta

ordine

pagamento

Diagramma di contesto

Page 24: Sistemi informativi per la multimedialità Diagrammi di flusso dei dati DIAGRAMMI DI FLUSSO DEI DATI Introduzione ed esempio.

24Diagrammi di flusso dei dati Sistemi informativi per la multimedialità

Fornitore

Fornitore

Cliente

riceve

fornitura

effettuapaga-mento archivio giacenze

emetteordine

registraconsumo

prendi ordine

processaordine

produciconto

effettuapagamentoconsumo

ordinepasto

ordineconto

ricevutapagamento

fattura

archivio pagam.

ordini menù

DFD - Esempio gestione ristorante