SA-301g · Module 2

Data Flow Diagrams

3 min read

Data flow diagrams show how information moves through the system — from sources through processes to data stores and outputs. Unlike sequence diagrams, which show interaction order, data flow diagrams show the transformation chain. They answer: where does this data come from, what happens to it along the way, and where does it end up? For data-intensive systems, the data flow diagram is the primary architecture artifact.

  1. Four Elements External entities (sources and sinks of data), processes (transformations), data stores (where data rests), and data flows (movement between elements). Use consistent shapes: rectangles for entities, circles or rounded rectangles for processes, open rectangles for stores, and arrows for flows. Label every element and every flow.
  2. Leveled Diagrams Start with a context-level data flow diagram — external entities and the system as a single process. Then decompose the system process into sub-processes at level 1. Decompose complex sub-processes at level 2. Each level adds detail without changing the boundaries established at the level above. Leveled diagrams prevent the "everything on one page" problem.
  3. Transformation Documentation For every process element, document the transformation: what data comes in, what logic is applied, and what data goes out. The transformation documentation is the specification for the implementation. A data flow diagram without transformation documentation is a routing map without addresses — it shows direction but not destination.