Data Flow Diagram
Definizione
Il Data Flow Diagram è un tipo di diagramma definito nel 1978 da Tom Demarco nel testo Structured Analysis and Systems Specification, .
É una notazione grafica molto usata per i sistemi informativi e per la descrizione del flusso di dati in quanto permette di descrivere un sistema per livelli di astrazione decrescenti con una notazione di specifica molto "intuitiva".
Attraverso i Data Flow Diagram si definiscono soprattutto come fluiscono (e vengono elaborate) le informazioni all’interno del sistema, quindi l'oggetto principale è il flusso delle informazioni o, per meglio dire, dei dati. Motivo per il quale diventa fondamentale capire dove sono immagazzinati i dati, da che fonte provengono, su quale fonte arrivano, quali componenti del sistema li elaborano.
Componenti
Le componenti di questo tipo di diagramma sono:
- Funzioni, rappresentate da bolle;
- Flussi di dati, rappresentati da frecce;
- Archivi di dati, rappresentati da scatole aperte;
- Agenti esterni o Input/Output di dati, rappresentati da scatole chiuse.
Funzioni
Le funzioni rappresentano unità di elaborazione dei dati:
- Trasformano i dati in ingresso in quelli in uscita
Flusso di dati
Le frecce collegano i diversi componenti di un diagramma tra loro:
- Rappresentano i dati gestiti dal sistema
- Gli archivi e gli agenti esterni NON possono essere collegati tra loro
Agente esterno
Gli Agenti Esterni rappresentano delle entità esterne al sistema:
- Non sono soggette ad ulteriore modellazione
- Sono le sorgenti e le destinazioni dei dati del sistema
Archivi
Gli archivi sono dei depositi permanenti di informazione:
- Possono essere basati su qualunque tecnologia
- I dati che entrano in un archivio vengono scritti
- I dati che escono dall’archivio sono letti (ma non cancellati)
Modellazione
Un generico sistema è sempre rappresentabile nel seguente modo:
Se gli ingressi e/o le uscite sono molteplici si introducono nuovi flussi.
Questo tipo di rappresentazione ha un livello di astrazione molto alto e individua solo l’interfaccia tra il sistema e il mondo esterno per cui vanno inseriti altri dettagli raffinando le funzioni. Ogni funzione, infatti, è a sua volta specificabile mediante un Data Flow Diagram per cui è possibile ottenere diversi livelli con sempre maggiore definizione.
Bibliografia
- T. Demarco, Structured Analysis and Systems Specification, Yourdon Press, NY, 1978
- E. Yourdon and L. Constantine, Structural Design. Prentice-Hall, Englewood Cliffs, NJ, 1979
- C. Gane and T. Sarson, Structured Systems Analysis, Prentice-Hall, Sydney, 1979