Data Flow Diagram (DFD)?
A data flow diagram (DFD) is a visual representation of the information flow through a process or system.
DFDs help you better understand process or system operations to discover potential problems, improve
efficiency, and develop better processes. They range from simple overviews to complex, granular
displays of a process or system.
DFDs became popular in the 1970s and have maintained their widespread use by being easy to
understand.
There are two types of DFDs — logical and physical.
Logical DFD
Logical diagrams display the theoretical process of moving information through a system, like where the
data comes from, where it goes, how it changes, and where it ends up.
Physical DFD
Physical diagrams show you the practical process of moving information through a system. It can show
how your system’s specific software, hardware, files, employees, and customers influence the flow of
information.
You can either use logical or physical diagrams to describe that flow of information. You can also use
them in conjunction to understand a process or system on a more granular level.
Data Flow Diagram vs. Unified Modeling Language (UML)
While these two types of diagrams have some similarities, let me clarify what makes each distinct.
Data flow diagrams are designed to provide a map for how your data will flow through a system. Unified
Modeling Language (UML) takes it further, providing considerably more detail.
DFDs and UML are not mutually exclusive — you might use a DFD for people who need a high-level
summary and then turn your DFD into UML diagrams when it comes time to actually create your system,
providing sufficient detail for developers who need to know how to create the specifics.
To continue the roadmap analogy, DFD might provide the top-level overview and potentially even turn-
by-turn directions, but UML offers the street-level view with all the context of building color, tree
location, and traffic patterns.
The Benefits of Data Flow Diagrams
DFDs are visual representations that can help almost anyone grasp a system’s or process’s logic and
functions. Aside from being accessible, I find they provide much-needed clarity and improve productivity.
Here's how.
Accessibility
Because visual information is easier to digest, DFDs typically explain complex concepts better than blocks
of text can.
Visual presentations of how a process works can also hold people's attention longer — making it easier
to retain the information.
Clarity
DFDs clarify the systems and processes necessary for your team to do their best work. Whether
implementing a new company-wide system or refining a department's existing process, a DFD gets you
and your team on the same page.
Creating DFDs will give you clarity about business operations, too. I think a clearer understanding
enables you to refine and track your business processes with less friction.
Productivity
The accessibility and clarity created with DFDs will leave less room for error. Your team will better master
systems and processes because they understand them.
Greater understanding — paired with a repeatable process — will likely boost team effectiveness and
productivity.
On a broader level, DFDs can help you streamline your business operations. When mapping out your
processes, you’ll gain insights into what does and doesn’t work.
These insights help boost you and your team's productivity. As a bonus, you can share any best practices
across departments.
An Introduction to Data Visualization
Learn how to design compelling charts & graphs that are easy to understand, including:
Tools and Software for Data Visualization
Data Types, Relationships, and Formats
How to Effectively Visualize Data
A History of Data Visualization
Data Flow Diagram Symbols
Before using a DFD, let me share the symbols you need to describe it.
Data flow diagram symbols are standardized notations, like rectangles, circles, arrows, and short-text
labels. These symbols represent a system’s data flow direction, inputs, outputs, storage points, and sub-
processes.
Four common methods of notation are used in DFDs: Yourdon & De Marco, Gene & Sarson, SSADM, and
Unified.
All use the same labels and similar shapes to represent the four main elements of a DFD — external
entity, process, data store, and data flow — so I’ll focus on explaining those, regardless of which notation
method you choose.
1. External Entity
External entities — which are also known as terminators, sources, sinks, or actors — are outside systems
that send or receive data to and from the diagrammed system.
They’re either the sources or destinations of information, so they’re usually placed on the diagram’s
edges.
External entity symbols are similar across models except for Unified, which uses a stick-figure drawing
instead of a rectangle, circle, or square.
2. Process
Process is a procedure that manipulates the data and its flow by taking incoming data, changing it, and
producing an output. A process can do this by performing computations and using logic to sort the data
or change its flow of direction.
Processes usually start from the top left of the DFD and finish on the bottom right of the diagram.
3. Data Store
Data stores hold information for later use, like a file of documents waiting to be processed. Data inputs
flow through a process and then through a data store, while data outputs flow out of a data store and
then through a process.
4. Data Flow
Data flow is the path the system’s information takes from external entities through processes and data
stores. With arrows and succinct labels, the DFD can show you the direction of the data flow.
DFD Levels
DFDs can range from simple overviews to complex, granular representations of a system or process with
multiple levels, starting with level 0.
The most common and intuitive DFDs are level 0 DFDs, also called context diagrams. They’re digestible,
high-level overviews of the flow of information through a system or process, so almost anyone can
understand it.
On the other extreme, level 3+ diagrams contain lots of detail and complexity.
Level 0: Context Diagram
This DFD level focuses on high-level system processes or functions and the data sources that flow to or
from them. Level 0 diagrams are designed to be simple, straightforward overviews of a process or system.
Level 1: Process Decomposition
While level 1 DFDs are still broad overviews of a system or process, they’re also more detailed — they
break down the system’s single process node into subprocesses.
Level 2: Deeper Dives
The next level of DFDs dives even deeper into detail by breaking down each level 1 process into granular
subprocesses.
Level 3: Increasing Complexity
Level 3 and higher-numbered DFDs are uncommon. This is largely due to the amount of detail required,
which defeats its original purpose of being easy to understand.
Data Flow Diagram Examples
Professionals in various industries, like software engineering, IT, ecommerce, and product management
& design, can use DFDs to better understand, refine, or implement a new system or process.
But what does a data flow diagram look like in practice — and how does it help your business? I’ll share
three examples to help you contextualize DFDs' impact.
1. Level 0 DFD
This Level 0 DFD provides a contextual map of a securities trading platform.
Data flows in one direction from the customer service assistant and the broker to the platform. It also
flows in two directions from customers to the platform and back again.
As you can see, it is exceedingly simple and straightforward.
2. Level 1 DFD
This Level 1 DFD breaks down the customer process in more detail, expanding it to include account
creation, cash withdrawals, and eventual securities transactions.
As you can see, it breaks down the customer interactions into more specific actions, allowing viewers to
grasp what the whole process looks like.
3. Level 2 DFD
This Level 2 DFD decomposes the “Place Order” process to contextualize the steps required to place an
order — either by a customer or by a broker.
It even accounts for a third-party stock exchange center where transaction details are forwarded after an
order is placed. This provides a more granular depiction of a specific process.