Data Flow Diagram (DFD)
- •
What it is
- •
a graphical representation of how information is transformed as it flows through a system
- •
used in Flow-oriented Modeling
- •
- •
- •
Components (notation)
- •
terminator (rectangle) — an external entity (person, group, organization, or another system) that communicates with the system but is outside its control; drawn per Yourdon/Coad or Gane & Sarson notation
- •
process (circle/bubble) — transforms input data flow into output; also called a bubble or function; naming should describe what happens, and numbering does not imply execution order
- •
data flow (arrow) — an arrow showing data moving between a process and a process/terminator/datastore; a process can connect to any of the three, but terminators and datastores cannot connect directly to each other
- •
datastore (double line) — a named collection of persisted data (database, file, folder); named with a plural noun (e.g. "Employees")
- •
- •
DFD levels
- •
level 0 (Context Diagram) — represents the entire system as a single bubble with inputs and outputs
- •
level 1 — refinement of level 0; shows all relevant processes in the system
- •
level 2 — each level 1 process refined further
- •
refinement continues until each bubble performs a single, simple function
- •
- •
Guidelines
- •
primary inputs and outputs should be carefully noted
- •
each process must have at least one input and one output
- •
each data store must have at least one data flow in and one data flow out
- •
data stored in a system must go through a process
- •
all processes go to another process or a data store
- •
all arrows and bubbles must be labeled with meaningful names
- •
information flow continuity must be maintained from level to level
- •
refine one bubble at a time
- •
- •
- •
Related