Data Flow Diagram: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ptbotgourou (discussione | contributi)
m Bot: Modifico: zh:資料流程圖
Funzionalità collegamenti suggeriti: 1 collegamento inserito.
 
(29 versioni intermedie di 23 utenti non mostrate)
Riga 1:
Il '''Data Flow Diagram''' (abbreviato in '''DFD''') è un tipo di diagramma definito nel 1978 da [[Tom De MarcoDeMarco]] nel testo ''Structured Analysis and Systems Specification'' per aiutare nella definizione delle [[specifica|specifiche]].
 
È 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’internoall'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.
 
[[ImmagineFile:DataFlowDiagram Notation.png|thumb|right|150pxupright=0.7|Notazioni Data Flow Diagram]]
 
==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|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’archiviodall'archivio sono letti (ma non cancellati).
 
=== Agenti esterni ===
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.
 
==Modellazione==
Un generico sistema è sempre rappresentabile nel seguente modo:
 
[[ImmagineFile:DataFlowDiagram_Esempio1DataFlowDiagram Esempio1.png]]
 
Se gli ingressi e/o le uscite sono molteplici si introducono nuovi flussi.
Questo tipo di rappresentazione ha un livello di astrazione molto altoelevato e individua solo l’interfaccial'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.
 
==Criteri di stesura==
Nella stesura si ignora l’inizializzazionel'inizializzazione del sistema, la gestione degli errori e la terminazione, il sistema si immagina come "up & running".
Si ignorano anche le sincronizzazioni ed il flusso di controllo tra processi.
Individuare sempre le entrate e le uscite di un diagramma.
 
Qualora i dati gestiti fossero particolarmente strutturati, si affianca al Data Flow Diagram un sistema complementare.
 
==Limiti==
Questa notazione, quindi, presenta dei limiti consistenti:
* Semantica: i simboli non sono sufficientemente chiari e i nomi vengono scelti dall’utentedall'utente;
* Controllo: gli aspetti di controllo non sono definiti dal modello e, quindi, anche la sequenza temporale è poco chiara.
 
Riga 60 ⟶ 59:
Per questo motivo si parla di [[notazione semiformale]] perché la sintassi è precisa, ma la semantica non lo è.
 
SiSono sonostati progettati diversi metodi per rimediare a queste difficoltà che possono essere classificati nel seguente modo:
* Usare una notazione complementare per colmare le lacune del data flow diagram;
* Migliorare il modello in modo da completare la versione tradizionale.
 
==Bibliografia==
* T. DemarcoDeMarco, ''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.
 
== Altri progetti ==
{{interprogetto}}
 
==Collegamenti esterni==
*Articolo "[http://www.cems.uwe.ac.uk/~tdrewry/dfds.htm Data Flow Diagrams]" di [[Tony Drewry]]
*Capitolo "[https://web.archive.org/web/20051026100956/http://www.yourdon.com/strucanalysis/chapters/ch9.html Dataflow Diagrams]" di [[Ed Yourdon]]
 
==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
 
{{Controllo di autorità}}
[[Categoria:Metodologie di sviluppo]]
{{Portale|informatica}}
 
[[Categoria:MetodologieMetodi di sviluppo software]]
[[cs:Diagram datových toků]]
[[Categoria:Diagrammi]]
[[de:Datenflussdiagramm]]
[[Categoria:Modellazione dei dati]]
[[en:Data flow diagram]]
[[es:Diagrama de Flujo de Datos]]
[[fr:Diagramme de flux de données]]
[[he:תרשים זרימת נתונים]]
[[id:Data flow diagram]]
[[ja:データフロー図]]
[[nl:Data flow diagram]]
[[pl:Diagram przepływu danych]]
[[pt:Diagrama de Fluxos de Dados]]
[[ru:DFD]]
[[sk:Diagram tokov údajov]]
[[uk:Діаграма потоків даних]]
[[zh:資料流程圖]]