Visualize Processes with Data Flow Diagrams
When you talk about data with your team, things can get complicated really fast. You’ll need to illustrate systems involving multiple inputs, subprocesses, and data flows. While flow charts and other diagrams will get you started, project managers can use a chart tailor-made to explain systems and processes: data flow diagrams.
Data flow diagrams, sometimes called data flow charts, map the flow of the input data through a system or process until it becomes an output.
What is a data flow diagram?
A data flow diagram (DFD) is a chart that maps the flow of information through a system or process. DFDs use symbols, arrows, and text to guide readers, similar to a flowchart. Charting this information’s flow helps design and explain complex systems. For existing processes, DFDs improve workflows and highlight issues in advance by giving a bird’s-eye view of your operations. Here’s a good example of what a DFD template looks like.
As processes and systems become more complex, visuals can help describe them. Similar to how flow charts use symbols, DFDs use icons to trace the flow of information through data stores, inputs, and outputs. Unlike similar flow charts, data flow diagrams don’t loop around or break into branches. Instead, DFDs chart the consistent flow every time a process starts.
Why should you use data flow diagrams?
Data flow diagrams visualize processes and break them down into basic elements. Teams can then change these systems or describe them to stakeholders. Generally, project managers use data flow diagrams to:
- Illustrate processes. DFDs illustrate complex systems in clear terms. This helps managers share their progress and empowers stakeholders to give feedback.
- Enable collaboration. Using a diagram helps teams stay up to speed and quickly suggest changes.
- Increase efficiency. In fast-paced development, diagrams save crucial time, thus increasing productivity and efficiency.
- Reduce errors. Data flow diagrams can reveal bottlenecks, workflow issues, and system bugs.
- Make refinements. Illustrating a system helps you spot inefficiencies so you can rearrange processes or drop steps to boost efficiency.
- Model new systems. Before implementing a new process, you can model and test it. Diagrams give a framework to brainstorm new processes and test use cases.
What are the types of data flow diagrams?
Data flow diagrams come in two categories: physical diagrams and logical diagrams. Physical data flow diagrams reveal how you’ll implement a system and how it will work. These charts show how hardware, programs, and teams combine to make a system or process function. So, physical diagrams give the most practical overview of a system.
Logical data flow diagrams explain what happens during a process, not how it happens. Logical diagrams focus on business activities and tasks over technical details, making them easier to understand. By focusing on a system in broader terms, logical diagrams highlight the kinds of data processed, where it comes from, and what a system does with it.
Physical and logical diagrams can describe the same systems and their data flow. Using them together gives the most in-depth overview of your processes and helps you understand a system in detail.
Data flow diagram symbols and notation
DFDs use symbols that make explaining how processes and systems operate easier. These symbols vary by notation style. The four styles include Yourdon and DeMarco, SSADM, Unified, and Gane and Sarson.
Regardless of the notation style, all data flow diagrams use similar symbols that represent these core elements:
- External entity: External entities usually use a rectangle or square symbol that marks an outside system or actor that begins a data flow process. External entities send data to your system or receive data from your processes. People, organizations, and IT systems can act as external entities. When using the SSADM, external entities are represented using an oval symbol, while the Unified style uses a stick figure.
- Process: A process is represented using a circle or square and refers to activities that change data or use it to create an output. Processes can manipulate data by sorting it, directing its flow, or using it for calculations.
- Data store: Data stores are typically represented using rectangular boxes. Storage sites hold data for later use in data flows. Data inputs place information into storage, while outputs draw it out for a process.
- Data flow: The path data takes through a system or process makes up the data flow and is represented using arrows. Data flow shows how and when your information architecture interacts with entities, processes, and data stores. Following the data flow also explains how a system works.
Data flow diagram levels
Teams categorize data flow diagrams into levels. The higher the level, the more complex your diagram. At the lowest level, data flow diagrams give a big-picture overview. Higher-level diagrams show a level of detail that may require experience with the system to understand. Here’s an overview of each level:
- Level 0 data flow diagrams, also called context diagrams, give a broad system overview. They focus on high-level processes and how external entities affect data flow.
- Level 1 data flow diagrams give a more detailed breakdown that includes subprocesses. They typically include more data flows and data stores.
- Level 2 data flow diagrams give even more detail by breaking level 1 diagrams into subprocesses. They also tend to factor in less common processes, inputs, and outputs.
- Level 3 and higher data flow diagrams comprehensively chart how a system works. Only the most complex systems benefit from a level 3 chart. In most cases, this level of detail adds more confusion than clarity. A level 3 diagram’s amount of detail suits internal communication and comparisons between similar systems.
Rules for data flow diagramming
Data flow diagrams follow guidelines to ensure the charts don’t contain errors. Follow these rules to prevent mistakes in development:
- Be sure each process has at least one input and one output.
- Confirm all data stores have at least one data flow leading in and out.
- Ensure all data stored within your system goes through a process.
- Make sure every process on your diagram connects to another data store or process.
Tips for data flow diagramming
Diagrams can get intricate quickly. To ensure your diagrams communicate clearly and effectively, keep the following tips in mind:
- Avoid black holes. Black holes occur when part of your diagram shows a process with incoming information, but no resulting action or input. Ensure every step of your diagram leads to a specific response or action.
- Check for miracles. In a data flow diagram, miracles refer to a process that has outcomes but no clear inputs. Double-check your diagram to ensure every output can be traced back to specific inputs and accurately represents the system’s flow of information.
- Conduct a quick review. Grey holes happen when outcomes outpace inputs. Regularly assess your diagram and give it a quick review to confirm each output realistically ties to the inputs provided.
How to create a data flow diagram in 5 steps
Follow these five steps to make your own data flow diagram.
Step 1: Map your system’s inputs and outputs
After selecting your system or process, list the inputs and outputs related to its functions. Almost all processes begin when an external entity sends an input, and almost all systems resolve after outputting data into another system, database, or process. These inputs and outputs explain what your system needs to accomplish.
Step 2: List diagram elements
Group the activities and entities on your data flow diagram, including external entities, data stores, and data flows. Some elements may fit into more than one category. For example, subsystems that use computer data can work as data stores or processes. In this case, note which systems work for multiple purposes.
Step 3: Create a context DFD
Regardless of the level you want to end on, start by charting a level 0 diagram. These context diagrams map all the basic flows and connections within your system. Draw a line between external entities and the processes or data flows their inputs go through to become outputs.
Step 4: Expand into the next level
If more detail is needed, expand your diagram to higher levels to map subprocesses and subsystems. Connect the extra diagrams to combine related processes and show your whole system. Only move up one level at a time and draw from processes mentioned in the previous level.
Step 5: Check for errors and repeat
Review your data flow diagram to ensure data flows clearly and check for any errors and potential refinements. Keep an eye out for any inputs missing a corresponding output or a shortage of data stores.
Stop here if your team understands the diagram and everything looks error-free. If more detail is needed, dive deeper with another diagram level, then review as again. Catching oversights early on helps prevent bigger problems later. Keeping every level consistent ensures everyone, from stakeholders to third parties, stays on the same page.
Data flow diagram examples
Here are a few examples to help illustrate how data flow diagrams work.
Level 0 example
A level 0 data flow diagram gives a broad overview of the system or process you want to map out.
Level 1 example
Level one diagrams include all your databases, external entities, and several process nodes. Each level 1 diagram explains a subprocess in a context diagram. So, use your level one diagram to explain what happens to data in these subsystems.
Level 2 example
Level 2 diagrams expand on the subprocesses in level 1 charts, explaining how all but the most complex systems work. Feel free to use extra text to explain more granular steps and processes.
Tips for writing data flow diagrams
Take your data flow diagrams to the next level with these best practices:
- Name processes in level 0 diagrams after their information system or the project title given in the project charter.
- Fit level 0 diagrams onto one page for the most simplicity.
- Give different leveled charts different names you can quickly refer to.
- Simplify data flows by not crossing lines over each other.
- Note duplicate symbols with asterisks or symbols to differentiate them.
- Label your processes with a reference number for the most clarity.