I data flow diagram (Diagrammi di Flusso Dati - DFD) modellano (specificano) le funzioni svolte da un sistema informativo. Hanno una attraente notazione grafica che li rende facili da usare:

L’idea alla base della costruzione di un DFD che modella una particolare realtà è quella di vedere la realtà da modellare come un macroprocesso, e a livelli successivi esplodere questo macroprocesso in sottoprocessi che rappresentano situazioni sempre più in dettaglio. I processi si scompongono fintanto che non si arriva a un processo che non è più scomponibile in altri processi (processo elementare) che viene a questo punto descritto in uno pseudo linguaggio o in linguaggio naturale.
Supponiamo per esempio di voler rappresentare il frammento di realtà che esprime la gestione di un ordine nel nostro sistema informativo del mobilificio.
L’esempio che segue è molto semplificato ma rende l’idea di come si costruisce un DFD.
Si parte sempre da un DFD di livello 0 nel quale sono rappresentate le entità esterne che partecipano al processo (fig A.1).

Le entità esterne sono i NEGOZI, il processo che vogliamo gestire è GESTIONE ORDINI.
Esplodiamo quest’ultimo processo nei sottoprocessi della figura A.2.

Esplodiamo adesso il processo Convalida Ordine come in figura A.3.

I processi ottenuti sono elementari, la loro funzione va espressa in pseudolinguaggio o linguaggi naturale. Ci rimane da esplodere il processo Evasione Ordine così come fatto in figura A.4.

I processi ottenuti sono elementari. L’insieme di tutti i DFD ricavati (più la descrizione dei processi elementari) descrive come avviene la gestione di un ordine nel sistema informativo del mobilificio.
Un altro formalismo usato per definire le specifiche di un sistema (asincrono) sono le Reti di Petri e se siamo interessati a modellare il comportamento di un sistema in funzione del tempo possiamo fare uso dei diagrammi di transizione di stato (State Transition Diagram - STD).