Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi di Milano Lezione 1 – Il DFD
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 AB
Ambiguità dei DFD (2) Un altro DFD ambiguo AC B D FINE