È facile comprendere il flusso di dati attraverso i sistemi con il giusto software per diagrammi di flusso dei dati. Questa guida ti fornisce tutto ciò che devi sapere sui diagrammi di flusso dei dati, tra cui definizioni, storia, simboli e notazioni. Imparerai i diversi livelli di un DFD, la differenza tra un DFD logico e uno fisico e riceverai suggerimenti per creare un DFD.
10 minuti di lettura
Vuoi fare un diagramma tutto tuo? Prova Lucidchart. È veloce, facile e completamente gratuito.
Che cos'è un diagramma di flusso dei dati (DFD)?
Un diagramma di flusso dei dati (DFD) traccia il flusso di informazioni per qualsiasi processo o sistema. Utilizza simboli definiti come rettangoli, cerchi e frecce, oltre a brevi etichette di testo, per mostrare input e output di dati, punti di memorizzazione e percorsi tra ciascuna destinazione. I diagrammi di flusso dei dati possono variare da semplici panoramiche dei processi, perfino disegnate a mano, a DFD complessi e composti da più livelli, che analizzano sempre più in profondità il modo in cui vengono gestiti i dati. Possono essere utilizzati per esaminare un sistema esistente o modellarne uno nuovo. Come tutti i migliori diagrammi e grafici, un DFD può spesso comunicare visivamente concetti che sarebbero difficili da spiegare a parole, e sono efficaci sia per il pubblico tecnico che per quello non tecnico, dallo sviluppatore all'amministratore delegato. Ecco perché i DFD sono ancora così popolari dopo tutti questi anni. Sebbene funzionino bene per i software e i sistemi di flusso dei dati, oggi sono meno indicati per la visualizzazione di software o sistemi interattivi, in tempo reale o orientati ai database.
Simboli e notazioni utilizzati nei DFD
I sistemi di simboli più comuni prendono il nome dai loro creatori:
- Yourdon e Coad
- Yourdon e DeMarco
- Gane e Sarson
Una differenza principale nei loro simboli è che Yourdon-Coad e Yourdon-DeMarco usano i cerchi per i processi, mentre Gane e Sarson usano rettangoli con angoli arrotondati, chiamati a volte losanghe. Esistono anche altre varianti di simboli in uso, quindi è importante essere chiari e coerenti nell'utilizzo di forme e notazioni per comunicare e collaborare con gli altri.
Utilizzando le regole o le linee guida DFD di qualsiasi convenzione, i simboli rappresentano i quattro componenti dei diagrammi di flusso dei dati.
Entità esterna:
un sistema esterno che invia o riceve dati, comunicando con il sistema che viene illustrato con il diagramma. Le entità esterne rappresentano le fonti e le destinazioni delle informazioni che entrano o escono dal sistema. Possono essere un'organizzazione o una persona esterna, un sistema informatico o un sistema aziendale. Sono conosciute anche con i nomi di terminatori, sorgenti e pozzi o attori. Sono in genere disegnate ai bordi del diagramma.Processo:
qualsiasi processo che modifica i dati, producendo un output. Può eseguire calcoli o ordinare i dati in base alla logica o indirizzare il flusso di dati in base alle regole aziendali. Per descrivere il processo, viene utilizzata una breve etichetta, come ad esempio "Invia pagamento".Archivio dati:
file o repository che contengono informazioni per un uso successivo, come una tabella di database o un modulo di iscrizione. Ad ogni archivio dati viene assegnata un'etichetta semplice, ad esempio "Ordini".Flusso di dati:
il percorso che i dati prendono tra entità, processi e archivi di dati esterni. Descrive l'interazione tra gli altri componenti e viene mostrato con frecce, in genere etichettate con un breve nome, come "Dettagli di fatturazione".
Regole e suggerimenti per i DFD
- Ogni processo dovrebbe avere almeno un input e un output.
- Ogni archivio di dati dovrebbe avere almeno un flusso di dati in entrata e un flusso di dati in uscita.
- I dati memorizzati in un sistema devono passare attraverso un processo.
- Tutti i processi in un DFD vanno verso un altro processo o un archivio dati.
Livelli e strati di DFD: dai diagrammi di contesto allo pseudocodice
Un diagramma di flusso di dati può approfondire progressivamente ulteriori dettagli utilizzando livelli e strati, focalizzandosi su un elemento specifico. I livelli di un DFD sono numerati 0, 1 o 2, e occasionalmente arrivano anche al livello 3 o superiore. Il livello di dettaglio necessario dipende dall'ambito di ciò che si sta cercando di realizzare.
- Il livello 0 del DFD è anche chiamato diagramma di contesto. È una panoramica di base dell'intero sistema o processo che viene analizzato o modellato. È progettato per offrire una visione d'insieme, mostrando il sistema come un singolo processo di alto livello, con la sua relazione con entità esterne. Dovrebbe risultare di facile comprensione per un pubblico ampio, inclusi stakeholder, analisti aziendali, analisti di dati e sviluppatori.
- Il livello 1 di un DFD fornisce una suddivisione più dettagliata degli elementi presenti nel diagramma di contesto. Evidenzierai le principali funzioni svolte dal sistema suddividendo il processo di alto livello del diagramma di contesto nei suoi sottoprocessi.
- Il livello 2 del DFD approfondisce ulteriormente le parti del livello 1. Potrebbe essere necessario più testo per raggiungere il livello di dettaglio necessario a illustrare il funzionamento del sistema.
- La progressione ai livelli 3, 4 e oltre è possibile, ma raramente si supera il livello 3. Così facendo si può creare una complessità che rende difficile comunicare, confrontare o modellare in modo efficace.
Se si utilizzano i livelli di DFD, i livelli a cascata possono essere nidificati direttamente nel diagramma: il risultato è un aspetto più pulito e un facile accesso ai dettagli più approfonditi.
Diventando sufficientemente dettagliati nel DFD, sviluppatori e designer possono usarlo per scrivere lo pseudocodice, che è una combinazione di inglese e linguaggio di codifica. Lo pseudocodice facilita lo sviluppo del codice effettivo.
Diagrammare è semplice e veloce con Lucidchart. Inizia una prova gratuita oggi per iniziare a creare e collaborare.
Fai un diagrammaEsempi di come utilizzare i DFD
I diagrammi di flusso di dati sono ideali per l'analisi o la modellazione di vari tipi di sistemi in diversi campi.
DFD nell'ingegneria del software: qui i diagrammi di flusso dei dati hanno iniziato a diffondersi negli anni '70. I DFD possono fornire un approccio mirato allo sviluppo tecnico, in cui vengono effettuate più ricerche in anticipo per arrivare alla codifica.
DFD nell'analisi aziendale: gli analisti aziendali utilizzano i DFD per analizzare i sistemi esistenti e trovare inefficienze. La creazione di diagrammi del processo può svelare passaggi che potrebbero altrimenti essere persi o non completamente compresi.
DFD nella riprogettazione dei processi aziendali: i DFD possono essere utilizzati per modellare un flusso di dati migliore e più efficiente attraverso un processo aziendale. Il BPR (Business Process Reengineering) è stato utilizzato per la prima volta negli anni '90 per aiutare le organizzazioni a ridurre i costi operativi, migliorare il servizio clienti e competere meglio sul mercato.
DFD nello sviluppo agile: i DFD possono essere utilizzati per visualizzare e comprendere i requisiti aziendali e tecnici e pianificare i passaggi successivi. Possono essere uno strumento semplice ma potente per la comunicazione e la collaborazione, con lo scopo di focalizzare lo sviluppo rapido.
DFD nelle strutture di sistema: qualsiasi sistema o processo può essere analizzato in modo progressivo per ottenere un miglioramento, sia su base tecnica che non tecnica.
Confronto tra DFD e Unified Modeling Language (UML)
Mentre un DFD illustra il modo in cui i dati fluiscono attraverso un sistema, l'UML è un linguaggio di modellazione utilizzato nella progettazione di software orientata agli oggetti e ha lo scopo di fornire una visione più dettagliata. Un DFD può comunque fornire un buon punto di partenza, ma quando subentra la fase di sviluppo effettivo del sistema, gli sviluppatori possono impiegare i diagrammi UML, come quelli di classe e di struttura, per acquisire la specificità richiesta.
Confronto tra DFD logico e DFD fisico
Si tratta delle due categorie previste da un diagramma di flusso dei dati. Un DFD logico visualizza il flusso di dati essenziale per il funzionamento di un'azienda. Si concentra sul business e sulle informazioni necessarie, non su come funziona il sistema o si propone di funzionare. Tuttavia, un DFD fisico mostra come il sistema è attualmente implementato o come lo sarà in futuro. Ad esempio, in un DFD logico i processi sarebbero attività commerciali, mentre in un DFD fisico i processi sarebbero programmi e procedure manuali.
Vuoi saperne di più? Guarda il nostro approfondimento sul tema Confronto tra DFD logici e DFD fisici.
Come creare un diagramma di flusso dei dati (DFD)
1. Identifica i principali input e output nel tuo sistema
Quasi ogni processo o sistema inizia con l'input da un'entità esterna e termina con l'output di dati a un'altra entità o database. L'identificazione di tali input e output offre una visione panoramica del sistema, mostrando i compiti più ampi che il sistema dovrebbe svolgere. Il resto del tuo DFD sarà basato su questi elementi, quindi è fondamentale conoscerli in anticipo.
2. Crea un diagramma di contesto
Dopo aver identificato i principali input e output, creare un diagramma di contesto è semplice. Disegna un singolo nodo di processo e collegalo a entità esterne correlate. Questo nodo rappresenta il processo più generale a cui sono sottoposte le informazioni per passare dall'input all'output.
L'esempio seguente mostra il modo in cui le informazioni fluiscono tra le varie entità attraverso una comunità online. I dati fluiscono da e verso le entità esterne, rappresentando sia l'input che l'output. Il nodo centrale, "comunità online", è il processo generale.
3. Espandi il diagramma di contesto a un DFD di livello 1
Il singolo nodo di processo del tuo diagramma di contesto non fornisce molte informazioni: devi suddividerlo in sottoprocessi. Nel diagramma del flusso di dati di livello 1, è necessario includere diversi nodi di processo, i database principali e tutte le entità esterne. Segui il flusso di informazioni: da dove iniziano le informazioni e cosa deve accadere prima che ogni dato venga archiviato?
4. Espandi fino a un DFD di livello 2+
Per migliorare i dettagli del diagramma del flusso di dati, segui la stessa procedura del passaggio 3. I processi del tuo DFD di livello 1 possono essere suddivisi in sottoprocessi più specifici. Ancora una volta, assicurati di aggiungere tutti gli archivi e i flussi di dati necessari: a questo punto dovresti avere un'analisi abbastanza dettagliata del tuo sistema. Per andare oltre un diagramma del flusso di dati di livello 2, non devi fare altro che ripetere questo processo. Fermati dopo aver raggiunto un livello di dettagli soddisfacente.
5. Conferma l'accuratezza del diagramma finale
Quando il diagramma è completamente disegnato, esaminalo dall'inizio alla fine. Presta molta attenzione al flusso di informazioni: ha senso? Sono inclusi tutti gli archivi di dati necessari? Osservando il diagramma finale, gli altri dovrebbero essere in grado di capire il funzionamento del sistema. Prima di presentare il diagramma finale, effettua una verifica con i colleghi per assicurarti che il diagramma sia comprensibile.
Modelli ed esempi di DFD
Esempio di diagramma di flusso di dati (logico)
Questo particolare DFD è un DFD logico, che si concentra sul business e sulle informazioni necessarie, non su come funziona il sistema o si propone di funzionare (che è l'attività di un DFD fisico). Ad esempio, in un DFD logico i processi sarebbero le attività aziendali.
Esempio di diagramma di flusso di dati (fisico)
Questo particolare DFD è un DFD fisico, che mostra come il sistema è attualmente implementato o lo sarà in futuro. Ad esempio, in un DFD logico i processi sarebbero programmi e procedure manuali, anziché eventi aziendali, che è ciò su cui si concentra un DFD logico.
Esempio di diagramma di contesto
Questo particolare DFD è un diagramma di contesto, una panoramica di base di alto livello dell'intero sistema o processo. Dovrebbe risultare di facile comprensione per un pubblico ampio, inclusi stakeholder, analisti aziendali, analisti di dati e sviluppatori.