Data Flow Diagrams
The model generally starts with a context diagram showing the system as a single process connected to external entities outside of the system boundary. This process explodes to a lower level DFD that divides the system into smaller parts and balances the flow of information between parent and child diagrams. Many diagram levels may be needed to express a complex system.
Process SpecificationsPrimitive processes don't explode to a child diagram. They are usually described in a connected textual specification. This text is sometimes referred to as a mini-spec or process specification. It textually describes how the outputs are generated from the inputs.
Data DictionaryWhen drawing data flow diagrams, the designer adds an entry for each data flow or store into a data dictionary. The data dictionary integrates the stack of diagrams into a cohesive model by defining all the names and data composition.
Verification and Balance ReportsThe balancing process ensures that data is conserved between diagram levels. If flow A enters a parent process, its child diagram should have flow A coming into that diagram. Likewise flow B leaving the child diagram should balance with flow B leaving the parent process. Data decomposition can occur within the data dictionary so flow A into the parent process will balance if flows X and Y enter the child diagram and A = X + Y in the data dictionary.
A Yourdon/DeMarco style DFD may include both data flow (solid lines) and control flow (dotted lines) as specified in the Hatley/Pirbhai method. This DFD style is typically used in real-time system analysis and design.
Gane & Sarson DFD
Visit the Video Library for demonstration videos showing DFDs drawn on Mac and Windows computers.