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.
- 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.
- 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.
- 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.