Il DFD - Università degli Studi di Milano

Lezione 1 – Il DFD
Ingegneria del software
Modulo 1 - Introduzione al processo software
Unità didattica 3 - Modelli di fase d’analisi
Ernesto Damiani
Università degli Studi di Milano
Un esempio (1)
• Corsi.com è una società di formazione
che organizza corsi interni e presso
aziende
• Le iscrizioni ai corsi avvengono per
telefono e posta ordinaria
• I pagamenti arrivano solo per posta
ordinaria, sotto forma di assegni bancari
o circolari
• È possibile annullare la propria iscrizione
Un esempio (2)
• I nomi dei corsisti e le relative società
sono aggiunti a un database centrale
• Oltre alla registrazione delle iscrizioni, il
database deve poter rispondere a query
come “Quand’è il prossimo corso in
Lombardia sull’analisi strutturata?”
oppure “Chi altri della mia stessa società
ha seguito questo corso?” “Che
valutazione ne ha dato?” “Chi è il
docente del corso a Lodi il mese
prossimo?”
Osservazioni generali
• Il DFD mostra il flusso dei dati e non il
controllo (non ci sono mai cicli)
• Il DFD mostra tutti i percorsi possibili
• L’attivazione dei processi non è l’arrivo dei
dati (ad es., il processo 6 può essere
eseguito mensilmente). Per precisare la
sincronizzazione serve un altro formalismo
(es. Reti di Petri)
• Il DFD mostra il partizionamento del
sistema
Il DFD (Data Flow Diagram)
Dizionario dei dati (estratto)
Dati pagamento
• Nome del cliente
• Indirizzo del cliente
• Numero della fattura
• Importo
Numero fattura
• Codice postale
• Numero del conto del cliente
• ID del rappresentante
• Conto sequenziale della fattura
Un albero decisionale
Albero decisionale del processo 6 (fatturazione)
Limiti dei DFD
• Si possono corredare i nodi di alberi
decisionali che esprimono valutazioni
condizionali sui dati.
– Aumenta il potere espressivo
• Manca la possibilità di specificare controllo e
sincronizzazione.
Ambiguità dei DFD (1)
Un DFD ambiguo
A
B
Ambiguità dei DFD (2)
Un altro DFD ambiguo
B
A
C
D
FINE