Data Flow Diagram (DFD): rappresentazione dei processi

Data Flow Diagram (DFD): rappresentazione dei processi

I data flow diagram sono un insieme di notazioni per la descrizione dei  processi utilizzate soprattutto nell’ambito della progettazione di sistemi informativi, e in particolare nella progettazione congiunta di dati e funzioni, e nella progettazione del software, per descrivere le funzionalità del sistema.

Il concetto su cui si basano i data flow diagram (DFD o diagrammi di flussi di dati) è quello di processo che elabora dati in ingresso e produce dati in uscita. Il sistema viene visto come un insieme di processi collegati tra loro da flussi di dati, che indicano come i dati prodotti da un processo vengono utilizzati da altri processi. La tecnica dei DFD è di larga diffusione soprattutto grazie alla sua notazione grafica, che rende agevole la lettura delle specifiche del sistema anche agli utenti e ai fornitori dei requisiti per il sistema stesso. La notazione grafica utilizzata per i DFD viene inoltre complementata da informazioni contenute in un dizionario dei dati, in cui i dati e i processi illustrati nei diagrammi possono essere descritti in maggior dettaglio.

Gli elementi che caratterizzano un diagramma DFD sono i seguenti:

  • processi, che rappresentano le unità di elaborazione dei dati;
  • flussi di dati, che indicano scambi di dati tra i processi;
  • archivi (o file), che rappresentano informazioni memorizzate in modo permanente nel sistema;
  • sorgenti e pozzi (o destinazioni) di dati, che rappresentano i fornitori dei dati e i destinatari dei dati esterni al sistema.

Una notazione grafica adottata nei diagrammi DFD per rappresentare questi elementi è illustrata nella figura seguente.

Notazione grafica per diagrammi di flussi di dati
Notazione grafica per diagrammi di flussi di dati

A ciascun elemento grafico è associato un nome, che deve essere univoco e che deve rappresentare in modo chiaro per il lettore del diagramma l’uso dell’elemento nel  sistema.

Per i processi, il nome deve essere un verbo, o un verbo con oggetto, per indicare il tipo di trasformazione di dati svolta dal processo. Per i flussi di dati, vengono utilizzati sostantivi, sostantivi composti, oppure con attributi. Anche in questo caso il nome del flusso è determinante per la comprensione del diagramma, e deve essere univoco. È necessario inoltre evitare l’uso di nomi di tipo generico, quali “elabora” per i processi o “dato” per i flussi di dati, in quanto il loro uso non renderebbe più chiara la lettura dei diagrammi.

Ai processi inoltre è associato un numero identificativo univoco, che ha significato  anche nell’ambito della scomposizione gerarchica dei processi che verrà illustrata nel seguito.

Come esempio di DFD, illustriamo la rappresentazione del sistema informativo per il caso di una società di organizzazione di corsi. Una sintetica descrizione informale del processo è è descritta qui di seguito.

  1. La società è una ditta di consulenza e formazione di medie dimensioni che tiene corsi pubblici e presso clienti nelle maggiori città europee e a volte
  2. I partecipanti si iscrivono ai corsi per posta e per telefono. Ogni iscrizione è seguita da una lettera di conferma e da una fattura inviata al
  3. I pagamenti arrivano per posta. Ogni pagamento deve essere associato a una delle fatture relative ai pagamenti
  4. Vi è un meccanismo che consente di cancellare l’iscrizione di un partecipante a un corso.
  1. Una volta che un partecipante ha seguito uno dei corsi della ditta, o espresso interesse in uno di essi, il suo nome è inserito in una lista di persone utilizzata in seguito per pubblicizzare i corsi. Questa base di dati contiene informazioni su circa 10000 persone in numerose organizzazioni
  2. Oltre ai normali rapporti sulle vendite, si deve poter rispondere a domande quali:
    Quali persone di una certa organizzazione hanno frequentato il seminario sui DFD? Come lo hanno valutato?
    Che istruttore insegnerà il corso di Analisi e Progettazione a Londra il prossimo mese?

Nella figura seguente si presenta una possibile rappresentazione tramite DFD del processo di gestione corsi sopra descritto. Come si avrà occasione di notare, non tutti gli elementi della descrizione testuale compariranno nella rappresentazione del processo. Alcuni saranno omessi, altri saranno descritti in modo più dettagliato all’interno di un dizionario dei dati.

DFD per esempio organizzazione corsi
DFD per esempio organizzazione corsi

Nella figura si vede come gli elementi della notazione grafica vengono utilizzati per rappresentare il processo. Sorgente e destinazione dei dati è in questo caso il cliente, che viene graficamente rappresentato due volte, per una migliore chiarezza di lettura del diagramma, separando i dati in ingresso da quelli in uscita. Da notare che si tratta di un unico elemento, rappresentato in questo modo solo per comodità notazionale, e pertanto identificato univocamente tramite il nome. Analoghe considerazioni possono essere fatte per gli archivi persone e seminari. In generale, sarà opportuno evitare di avere diagrammi con linee che si incrociano (anzi, queste sono da alcuni autori esplicitamente vietate), e ricorrere a eventuali duplicazioni di elementi. Questo però è possibile solo per i dati (archivi, sorgenti o destinazioni). Si noterà nel diagramma come si è intenzionalmente evitato di avere flussi di dati tra processi con lo stesso nome: infatti utilizzare lo stesso nome verrebbe dire indicare lo stesso flusso. Invece flussi quali iscrizione e dati-i, pur contenendo entrambi dati relativi a iscrizioni, sono semanticamente diversi, perché in un caso si tratta di richiesta di iscrizione, nel secondo caso di iscrizione già valutata e quindi inserita nell’archivio seminari come nuova iscrizione. Verranno anche effettuati controlli sulla validità della richiesta, quali la verifica che nella data richiesta venga effettivamente erogato il seminario, e il controllo che il seminario non sia ancora completo. Detto ciò, bisogna notare che tutti i flussi di dati hanno un nome, eccetto quelli diretti o provenienti da archivi, per i quali si intende un accesso ai dati dell’archivio. Le frecce in ingresso negli archivi indicano inserimento o aggiornamento, quelle in uscita indicano lettura e quelle bidirezionali operazioni di lettura e scrittura.

 

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *