alt=Data flow diagram with data storage, data flows, function and interface|thumb|478x478px|Data flow diagram with data storage, data flows, function and interface
A data-flow diagram is a way of representing a flow of data through a process or a system (usually an information system). The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram has no control are no decision rules and no loops. Specific operations based on the data can be represented by a flowchart.
There are several notations for displaying data-flow diagrams. The notation presented above was described in 1979 by Tom DeMarco as part of structured analysis.
For each data flow, at least one of the endpoints (source and / or destination) must exist in a process. The refined representation of a process can be done in another data-flow diagram, which subdivides this process into sub-processes.
The data-flow diagram is a tool that is part of structured analysis, data modeling and threat modeling. When using UML, the activity diagram typically takes over the role of the data-flow diagram. A special form of data-flow plan is a site-oriented data-flow plan.
Data-flow diagrams can be regarded as inverted Petri nets, because places in such networks correspond to the semantics of data memories. Analogously, the semantics of transitions from Petri nets and data flows and functions from data-flow diagrams should be considered equivalent.
History
The DFD notation draws on graph theory, originally used in operational research to model workflow in organizations, and in computer science to model the flow of inputs and outputs across computations. It was first proposed by Larry Constantine, and popularized by Edward Yourdon, Tom DeMarco,
Chris Gane and Trish Sarson, who enriched the diagramming technique with different notations, data dictionary practices DFDs were useful to document the major data flows or to explore a new high-level design in terms of data flow.
DFD components
alt=Data flow diagram - Yourdon/DeMarco notation|thumb|Data flow diagram - [[Edward Yourdon|Yourdon/DeMarco notation]]
DFD consists of processes, flows, warehouses, and terminators. There are several ways to view these DFD components.
Process
The process (function, transformation) is part of a system that transforms inputs to outputs. The symbol of a process is a circle, an oval, a rectangle or a rectangle with rounded corners (according to the type of notation). The process is named in one word, a short sentence, or a phrase that is clearly to express its essence.
