The Complete Project Source Code Platform is a community of ONE million programmers and students, just like you, helping each other.Join them;it only takes a minute: Sign Up

My Resume

What is a data flow diagram?

DFD is the abbreviation for Data Flow Diagram. The DFD is also called as a data flow graph or bubble chart. The flow of data of a system or a process is represented by DFD. It uses defined symbols like rectangles, circles and arrows, plus short text labels, to show data inputs, outputs, storage points and the routes between each destination. It also gives insight into the inputs and outputs of each entity and the process itself.

Data Flow diagrams are very popular because they help us to visualize the major steps and data involved in software-system processes. Data Flow Diagram represent detailed and well explained diagram of system components. Therefore all names should be unique. DFDs can also be used for the visualization of data processing (structured design) and show what kind of information will be input to and output from the system. This makes it easier to refer to elements in the DFD.

In addition, Data Flow Diagrams can be understood by both technical or nontechnical person because they are very easy to understand. Data Flow Diagram helps us to understand the functioning and the limits of a system.

History of the DFD

Data flow diagrams were popularized in the late 1970s, arising from the book Structured Design, by computing pioneers Ed Yourdon and Larry Constantine. They based it on the “data flow graph” computation models by David Martin and Gerald Estrin. DFDs were usually used to show data flow in a computer system, although they could in theory be applied to business process modeling. Therefore it is more popular in business circles, as it was applied to business analysis.

Also contributing were two related concepts:

Symbols and Notations Used in DFDs

There are three common systems of symbols are named their creators:

  • Yourdon and Coad
  • Yourdon and DeMarco
  • Gane and Sarson

One main difference in their symbols is that Yourdon-Coad and Yourdon-DeMarco use circles for processes, while Gane and Sarson use rectangles with rounded corners, sometimes called lozenges. There are other symbol variations in use as well, so the important thing to keep in mind is to be clear and consistent in the shapes and notations you use to communicate and collaborate with others.

Using any convention’s DFD rules or guidelines, the symbols depict the four components of data flow diagrams.

  1. External entity: The Terminator is an external entity that stands outside of the system and communicates with the system. In addition it is not a part of the model system and is an external entity. Modeled systems also communicate with terminator. They are also known as terminators, sources and sinks or actors. They are typically drawn on the edges of the diagram.
  2. Process:Input to output transformation in a system takes place because of process function. Any process that changes the data, producing an output. It might perform computations, or sort data based on logic, or direct the data flow based on business rules. A short label is used to describe the process, such as “Submit payment.”
  3. Data store: A data store indicates that the data is stored which can be used at a later stage or by the other processes in a different order. Each data store receives a simple label, such as “Orders.”
  4. Data flow: the route that data takes between the external entities, processes and data stores. It portrays the interface between the other components and is shown with arrows, typically labeled with a short data name, like “Billing details.”
  5. Source or Sink: Source or Sink is an external entity and acts as a source of system inputs or sink of system outputs.

DFD levels and layers

A data flow diagram can dive into progressively more detail by using levels and layers, zeroing in on a particular piece. DFD levels are numbered 0, 1 or 2, and occasionally go to even Level 3 or beyond. The necessary level of detail depends on the scope of what you are trying to accomplish.

  • DFD Level 0 is also called a Context Diagram. It’s designed to be an at-a-glance view, showing the system as a single high-level process, with its relationship to external entities. It should be easily understood by a wide audience, including stakeholders, business analysts, data analysts and developers.
  • DFD Level 1 provides a more detailed breakout of pieces of the Context Level Diagram. You will highlight the main functions carried out by the system, as you break down the high-level process of the Context Diagram into its subprocesses.
  • DFD Level 2 then goes one step deeper into parts of Level 1. It may require more text to reach the necessary level of detail about the system’s functioning.
  • DFD Levels 3, 4 and beyond is possible, but going beyond Level 3 is uncommon. Doing so can create complexity that makes it difficult to communicate, compare or model effectively.

Using DFD layers, the cascading levels can be nested directly in the diagram, providing a cleaner look with easy access to the deeper dive.

Examples of Data Flow Diagrams