Homediagrammingwhat is a data flow diagram

What is a data flow diagram?

Image fo a data flow diagram

Data flow diagrams: Everything you need to know

What is a data flow diagram? A data flow diagram (DFD) is a visualization that maps out the sequence of information, actors, and steps within a process or system. It uses a set of defined symbols that each represent the people and processes needed to correctly transmit data within a system.

Data flow diagrams are most often used to visually represent the flow of data within a business information system. These diagrams illustrate how data enters a system, how a system processes it, and finally, where it goes. This makes it different from a workflow diagram or flowchart, which is a broader type of visualization that can represent any other process or system within a company.

One way to identify the difference between a flowchart and a data flow diagram is to look at how the arrows are used. The arrows in a flowchart represent an order of events, while the arrows in a data flow diagram represent the flow of data and information.

A DFD can be as simple or as complex as the system it represents, but the easiest way to make one is with a Data Flow Diagram tool.

What are the rules of a data flow diagram?

There are a few rules to keep in mind when creating a data flow diagram that’ll help you make sure your visualization is clear, consistent-looking, and accurate.

Directionality: Make sure your data flows in one direction — from the input to the output.

Connectivity: Every flow of data should lead to either a process or a data store. This makes sure that your data has a clearly defined source and destination.

Naming conventions: When labeling processes, data stores, data flows, and external entities, keep your naming consistent and clear. This helps make your data flow diagram easy to understand for teammates and stakeholders.

Process hierarchy: When representing different processes within a system, establish a clear hierarchy to differentiate broader functions from more intricate ones. This helps simplify the system’s complexity while clearly depicting a logical flow.

Symbols for data flow diagrams

There’s a set of standardized symbols used to illustrate the components of a DFD. These symbols for a data flow diagram make it easier for your team to read and understand your visualization.

External entity

External entities are actors, sources, sinks, or terminators. They’re the components that exist outside the system, responsible for sending or receiving data. In other words, they’re the sources and destinations of the system’s inputs and outputs.


The process component represents the system’s functions, and it’s what transforms the incoming data into a usable output of data.

Data store

The data store component, as its name implies, is what stores the data in the system. Generally, these components are represented as files.

Data flow

Data flow components are the pipelines through which the data is transferred in the system. In a data flow diagram, these components are generally represented as arrows and connectors.

Data flow diagram levels

Data flow diagrams are layered. Each layer of the diagram gets deeper and more intricate as it focuses on a particular piece of the system or data. The levels in a data flow diagram are usually represented from Level 0 to Level 2, and some exceptionally intricate systems may need the diagram to dive as deep as Level 3. The level of detail you want to examine will determine how deep the diagram needs to go.

Data flow diagram Level 0

Level 0 is usually the context level of a data flow diagram. It is unfocused and doesn’t generally zero in on a particular system part. Instead, at Level 0, a simple data flow diagram will provide a basic overview of the system, placing it into context and displaying a single, high-level process.

Data flow diagram Level 1

Level 1 of the diagram is where things become more detailed, and the map becomes far more focused. Level 1 highlights the main functions within the process or the system. Level 1 of a data flow diagram is where specific sections of the Level 0 overview start to get broken down and explained.

Data flow diagram Level 2

Level 2 simply goes another step deeper as it starts to map out and analyze specific sections of the Level 1 diagram. The deeper the levels go, the more text-based the diagram becomes. This is why many systems designers prefer not to go deeper than Level 2. However, for some complex and complicated systems, it may be necessary to go another level or two deeper.

How to create a data flow diagram

Now that you understand what a data flow diagram is and where these diagrams are implemented, it is time to design one for yourself. Below is a useful step-by-step guide for creating a comprehensive data flow diagram using Miro’s Data Flow Diagram Template.

1. Inputs and outputs

Start by sorting out your inputs and outputs. Each process you aim to map out should have at least one input and one output. This will ensure that your data flow diagram is complete and has no loose ends.

2. Start at Level 0

Start the diagram at Level 0 so that you can have an understanding of the system in context. This overview is useful and will let you know if you need to go into more detail in the deeper levels of the system.

3. Go into Level 1

Head into Level 1. This is where you will add meat to the bones of the structure. During the Level 1 depiction, you will want to start adding more processes and steps to your structure as you start to focus more on particular systems within the business. Remember to implement the standardized data flow diagram symbols and shapes mentioned above.

4. Add more levels as needed

Repeat the previous step and go deeper each time you want to hone in on a specific system or process. There is no cap on the number of levels you can add. But remember that you want the data flow diagram to be easily understandable. Share your diagram with your team members and invite them to leave feedback, ask questions, and make suggestions. Miro makes it easy to work with your team on a shared canvas and collaborate in real-time.

Examples of data flow diagrams

DFDs are helpful for mapping out all kinds of complex systems and processes. Let’s take a look at a few data flow diagram examples:

Online purchase system

Completing an online purchase may be as simple as clicking a ‘check out’ button and entering customer details. But there’s a lot more that goes on behind the scenes to get it done. A data flow diagram can help visualize the end-to-end process, starting from the moment a user decides to purchase something (the external input) to the moment they get their order confirmation (the external output).

In between, the DFD also visualizes how the customer data travels through the system — including where the system stores it. Not only would a DFD be helpful for understanding how online purchases occur, but also for identifying any bottlenecks or ways to improve the customer’s experience.

Customer Relationship Management (CRM) system

Managing customer data is extremely important, and many businesses turn to Customer Relationship Management (CRM) platforms to keep detailed records. A data flow diagram can provide a clear overview of how a company manages customer data. Possible inputs include a customer signing up for a free trial of a product or a customer success employee emailing a client. Possible outputs include a completed customer profile or a customer receiving a sales or product email.

A DFD not only helps businesses maintain a clear view of how they interact with customers but also to identify ways to improve relationships.

Library management system

Anyone who’s spent time in a library can imagine how much information there is to manage, from book titles to borrower statuses. Thankfully, there are databases and other management systems to keep things under control — and a data flow diagram helps visualize how they work. Potential inputs include a librarian making changes to the inventory or a user signing up for a library membership. Possible outputs include user alerts about upcoming due dates or notifications about new library members.

Creating a DFD can help identify opportunities to optimize library management and ways to improve user experience for both librarians and members.

Types of data flow diagrams

Data flow diagrams are split into two categories based on the flow that needs to be visualized. A data flow diagram can either be a logical data flow diagram or a physical data flow diagram. Each type of diagram subset has its purpose and benefits.

Logical data flow diagram

Logical data flow diagrams focus more on the activities and processes of a business. They describe the “what” and present this metric in a graphical representation. Logical data flow diagrams depict what the business does, what it provides, and what it seeks to achieve. They describe the business events and the information or data required for these events to take place. Using a logical data flow diagram is beneficial, as it maps out the flow of business actions. It helps you understand the types of functionality that your business has or may be seeking to add.

Physical data flow diagram

A physical data flow diagram graphically depicts the implementation of business systems. It represents the “how” as opposed to the “what.” It tells you how the data moves through the system and how the system works. This type of data flow diagram includes things like the files, software, and hardware of a system. Physical and logical data flow diagrams provide different perspectives of the same data flow. They can be used in conjunction to create a holistic understanding of an entire process.

When to use a data flow diagram

Data flow diagrams were originally used to show data flow in a computer system. But today, they are used in different stages of ideation and design in various industries. They are particularly beneficial to companies that rely heavily on data and information. The following are examples of where data flow diagrams are put to use:

Software engineering

Software engineers use data flow diagrams to design software foundations and architecture before getting into the coding stage of software development. These diagrams also help as an ongoing system analysis tool to measure the progress of and implement improvements to a system.

Business management

Management must fully understand the processes that make their company successful. A data flow diagram is a useful tool for designing more agile processes and generally improving a company's processes. It can be used to streamline the everyday systems and workflow of a business.

Database development

In today’s digital era, almost every business has an online component that relies on a complex database structure to house users’ information. Data flow diagrams help to map out and plot the movement and storing of data within these online databases. In a world where cyber security and data protection are key, data flow diagrams create a clear pathway for developers and businesses to follow.

Benefits of data flow diagrams

A data flow diagram graphically depicts the functions and processes within a system, which in turn helps capture, store, and manipulate the information. This visual representation is a great communicative tool that can be sent back and forth between the user and the system developer. Here are some benefits of data flow diagrams in more detail:

Sets boundaries

Implementing a data flow diagram helps describe and demarcate the boundaries of a system. Without a data flow diagram, a company might struggle to understand where a system starts and ends. By setting specific boundaries, there is a clearly defined delineation in place.

Improves communication

A data flow diagram can help foster graphical communication between system designers and users. This can help engineers and developers understand the needs and wants of the user.

Effective visualization tool

Representing a complex data structure with a simple data flow diagram makes the diagram easier to interpret. Data flow diagrams help teams visualize the data and steps involved in software-system processes. Visualization is crucial in explaining processes clearly and making them more memorable.

Represents logic

Data flow diagrams support the logic behind the data flow within a system. Without this logical underpinning and understanding, the non-technical people involved in a project might not understand how the input data becomes the output data.

Data flow diagrams and UML

We’ve looked at different types of data flow diagrams earlier. Now let’s cover how these diagrams fit into the Unified Modeling Language (UML) world. UML diagrams and data flow diagrams appear similar, but there are some key differences. UML is a modeling language used in object-oriented software development. For example, software developers use UML to offer a more detailed overview of a process and explain how software engineering is done. There are 14 official types of UML diagrams. On the other hand, data flow diagrams show how data flows through a system. They can resemble UML diagrams, but they aren’t meant to represent details of software logic. When using UML, an activity diagram can be more useful than a data flow diagram. This is because a data flow diagram is a graphical representation of how data flows through a system. In this UML Activity Diagram Template, the sequence of activities is represented similarly to the way data flows through a system.

Who uses data flow diagrams?

Anyone working on system design is likely to benefit from creating a data flow diagram. Here are a few examples of teams who might use a DFD:

Growth teams

Growth teams need to use data and understand data flows to find new growth opportunities. DFDs help them better organize and understand what influences the data, how it’s tracked, and where it’s stored.

Data analysts

Unsurprisingly, data analysts are some of the most common professionals to benefit from a DFD. Data analysts are responsible for mining data and finding insights, so the structure and system requirements of data flows are critical to their work.

Product teams

Product teams are tasked with understanding how customers interact with a product, including how their data is inputted and where it goes. As a result, they often use DFDs to trace the flow of that data as well as identify opportunities to improve the customer’s experience.

Get on board in seconds

Join thousands of teams using Miro to do their best work yet.