What Is a Data Flow Diagram (DFD) and How to Draw Context‑Level and Level‑1 DFDs
This tutorial explains the concept of Data Flow Diagrams, describes the symbols used, and provides step‑by‑step instructions with screenshots for creating a context‑level DFD and a detailed Level‑1 DFD, including tips for improving readability.
What Is a Data Flow Diagram (DFD)?
One picture is worth a thousand words. A Data Flow Diagram (DFD) is a traditional visual method for representing the flow of information within a system. A clean DFD can graphically describe many system requirements and may be created manually, automatically, or a combination of both.
It shows how information enters and leaves the system, what changes the information, and where the information is stored. The purpose of a DFD is to display the scope and boundaries of the entire system and to serve as a communication tool between system analysts and any stakeholders involved in redesigning the system.
Typically a DFD starts with a context diagram as level 0, which provides a simple representation of the whole system. To add detail, you drill down to a level 1 diagram that contains lower‑level functions derived from the main system functions. Further analysis may lead to level 2 diagrams, and occasionally deeper levels, though levels beyond three are uncommon. The depth of decomposition depends on the complexity of each function.
Diagram Symbols
Below are the basic symbols you will encounter in the tutorial.
External Entity
An external entity can represent a person, system, or subsystem. It is the source or destination of some data. In business process terms, it lies outside the system under study, which is why it is usually drawn at the edge of the diagram.
Process
A process is a business activity or function that performs data manipulation and transformation. Processes can be decomposed into finer‑grained details to show how data is handled.
Data Store
A data store represents persistent data that a process needs or produces. Examples include member forms, database tables, etc.
Data Flow
A data flow represents the movement of information, with direction indicated by an arrow at the end of the connector.
What Will We Do in This Tutorial?
We will demonstrate how to draw a context‑level diagram and a Level‑1 diagram.
How to Draw a Context‑Level DFD?
From the toolbar choose Diagram → New .
In the New Diagram window select Data Flow Diagram and click Next .
Enter a name for the diagram (e.g., "Context") and click OK .
Drag a process onto the canvas and name it (e.g., "System").
Create an external entity by dragging the resource‑directory button onto the system and naming it "Customer".
Model the system’s database by creating a data store with a bidirectional data flow.
Name the new data store (e.g., "Inventory").
Create two additional data stores, "Customer" and "Transaction", completing the context diagram.
How to Draw a Level‑1 DFD?
Right‑click the "System" process in the context diagram and choose Decompose to create a new diagram.
When prompted, confirm that the related data stores and external entities should be added to the new diagram.
Rename the new diagram to "Level 1 DFD".
Create three processes (e.g., "Process Order", "Ship Good", "Receive Receipt") in the center where the original system process was.
Connect data flows between the newly created processes, external entities, and data stores as described in the step‑by‑step instructions (e.g., customer orders, transaction records, shipping information).
Various screenshots illustrate each connection step.
How to Improve DFD Readability?
Right‑click the Level‑1 diagram and choose Connector → Curved to make connectors curved.
Move shapes to reduce clutter and make the diagram look cleaner.
More DFD Examples
The following list shows example domains where DFDs are commonly used:
Customer Service System
Food Ordering System
Securities Trading
Supermarket Application
Vehicle Maintenance
Video Rental Store
Resources
Order-Processing.vpp
Order-Processing_result.vpp
Related Articles
How to Write Effective Use Cases?
Data Flow Diagram: Example – Order System
How to Model Relational Databases with ERD?
How to Develop Existing and Future Business Processes?
Data Flow Diagram with Example – Customer Service System
Original source: https://www.visual-paradigm.com/tutorials/data-flow-diagram-dfd.jsp
Article source: http://jiagoushi.pro/node/857
Discussion: Join the Knowledge Circle "Chief Architect Circle" or the FeiLiao group "Chief Architect Think Tank".
If you enjoy the visual sharing, follow the public account "Chief Architect Think Tank".
For further discussion, add the WeChat ID "intelligenttimes" and specify the group you wish to join (architecture, cloud computing, big data, IoT, AI, security, full‑stack development, DevOps, digital transformation, product transformation).
If you like visual content, follow the "Oasis" account (ID: 2535161187).
Architects Research Society
A daily treasure trove for architects, expanding your view and depth. We share enterprise, business, application, data, technology, and security architecture, discuss frameworks, planning, governance, standards, and implementation, and explore emerging styles such as microservices, event‑driven, micro‑frontend, big data, data warehousing, IoT, and AI architecture.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.