Data Flow Diagrams (DFDs)
Data Flow Diagrams are graphical representations of how data moves through a system. They show the processes that transform data, the data stores where data rests, and the external entities that interact with the system. DFDs are a cornerstone of structured analysis.
DFD Symbols
External Entity Process Data Store Data Flow
+----------+ /-----\ +--------+ -------->
| Person | | O | | File |
| or | | | | or | <--------
| System | \-----/ | DB |
+----------+ +--------+
Square = source/ Circle = Open-ended Arrow = data
destination of data process that rectangle = movement
transforms data storage between symbols
Rules for Drawing DFDs
- Every process must have at least one input and one output data flow
- Data cannot flow directly between two external entities
- Data cannot flow directly between two data stores
- Data stores must be connected to a process
- Data flow arrows must be labeled with meaningful names
- Processes should be numbered for identification (e.g., 1.0, 2.1)
Example: Order Processing System
+----------+
| Customer |
+----+-----+
|
Order Data
|
v
+-------+--------+
| 1.0 Process |
| Order |
+---+----+---+---+
| | |
Order Confirmation | Order Details
| | |
+-------+ | +--------+
| | |
v v v
+-----+-----+ +---+------+ +---+--------+
| 2.0 Update | | 3.0 Check| | Order |
| Inventory | | Credit | | Data Store |
+-----+------+ +---+------+ +------------+
| |
v v
+-----+------+ +----+-----+
| Inventory | | Credit |
| Report | | Report |
+------------+ +----------+
DFD Levels
| Level | Purpose |
|---|---|
| Context Diagram (Level 0) | Shows the entire system as a single process with external entities |
| Level 1 DFD | Decomposes the main process into major sub-processes |
| Level 2 DFD | Further decomposes each Level 1 process |
| Lower Levels | Continue until processes are at the primitive level |
Benefits of DFDs
- Provides a clear visual overview of the system
- Facilitates communication between analysts and stakeholders
- Identifies data storage requirements
- Reveals process boundaries and interfaces
- Serves as a foundation for further design work
Summary
DFDs are essential tools for understanding and documenting how data flows through a system. By mastering DFD notation, rules, and leveling techniques, analysts can create clear models that guide the entire development process.