A Data Flow Diagram (DFD) is a graphical representation of the flow of data within a system.
It helps
visualize how data is processed, stored, and transmitted between entities, processes, and data stores
in a system.
Components of a Data Flow Diagram
1. External Entities (Sources/Sinks):
o Represent outside elements that interact with the system (e.g., users, external
systems).
o Noted as rectangles in the diagram.
2. Processes:
o Indicate actions performed on data (e.g., calculations, transformations).
o Represented as circles or rounded rectangles.
3. Data Flows:
o Show movement of data between entities, processes, and data stores.
o Illustrated as arrows, labeled with the data they carry.
4. Data Stores:
o Represent places where data is stored (e.g., databases, files).
o Depicted as open rectangles or parallel lines.
Types of Data Flow Diagrams
1. Context Diagram (Level 0 DFD):
o A high-level overview of the system showing interactions between external entities
and the system as a whole.
o Contains a single process representing the entire system.
2. Level 1 DFD:
o Breaks down the main process from the context diagram into sub-processes.
o Shows detailed data flows and interactions between sub-processes, data stores, and
external entities.
3. Level 2 (and Beyond):
o Further decomposes the sub-processes from Level 1 into smaller components for
more detail.
Steps to Create a Data Flow Diagram
1. Identify the System Scope:
o Define the boundaries and purpose of the system being represented.
2. List All Components:
o Identify external entities, processes, data stores, and data flows.
3. Create the Context Diagram:
o Start with a single process representing the system and connect it to external entities
using data flows.
4. Decompose into Levels:
o Break down the main process into sub-processes (Level 1, Level 2, etc.).
5. Validate the Diagram:
o Ensure logical consistency and completeness of the data flows.
Example: Online Shopping System
1. Context Diagram (Level 0):
o External entities: Customer, Payment Gateway.
o Main process: Online Shopping System.
o Data flows: "Order Details," "Payment Information," "Confirmation."
2. Level 1 DFD:
o Processes:
"Place Order"
"Process Payment"
"Manage Inventory"
o Data Stores:
"Order Database"
"Product Inventory"
o Data flows:
"Order Details" → "Place Order"
"Payment Information" → "Process Payment"
"Order Confirmation" → Customer.
Tools for Creating DFDs
Lucidchart
Microsoft Visio
Draw.io (now Diagrams.net)
Visual Paradigm
SmartDraw