Data Flow Diagram

What is called Data Flow Diagram?

Abbreviated as DFD, data flow diagram is a technique used in the early phase of a business process re-engineering to visualize and study the flow of information and data between the business processes. It is used to define the structure of "Data processing" in a system, in terms of inputs and outputs.

The basic purpose of using a DFD is to define and create a general overview of a system before detailing it, for the purpose of designing and structuring the system. In addition, it is used to identify the points from where the data of a certain type may be fed to a system, where it may move or flow, and where it may be stored irrespective of timing of a process.

Elements of DFD

Basically, four symbols or notations are used to create a DFD, which may be seen as under:



Represented by a circle shape, process or function element in a DFD is used to receive the input data flow and accordingly decides and directs the data's output flow, i.e. it transforms the input data flow in output data flow.

Data Flow

data flow

It is used to depict the movement or flow of the data in the system.

Data Store

data store

Depicted by two parallel bars, data store element imparts the data repositories, which shows the data in a buffer or in a queue for the purpose of processing.

External Entity

external entity

These are the external elements outside the system's boundaries, with whom, the system interacts and communicates. They are used to represent the sources for the input data and the destination for the output data.

Context Level DFD

Context level data flow diagram is used to represent the process of an overall system.

context level data flow diagram

In the context level DFD, we only see an overall system, namely "Book Ordering System" interacting/communicating, with three external entities-customer and Vendors/Retailers.

Level-1 DFD

This level is used to show the sub-systems of an overall project system, i.e. it is used to see the flow of data further in the sub systems.

level-1 dfd

Here, we divide the overall book ordering system into its sub-systems or sub-modules to perceive the flow of data between the processes along with the external entities.

Similarly, for Level-2 DFD, we may further divide the sub-modules of a system into their sub-systems to view the data flow among them. For example payment gateway module may be further divided into its sub-modules namely, Credit/Debit Card payment option, Net Banking option, Cash on Delivery option, to view the flow of data between them.


  • Data Flow Diagram Tool (DFDT)
  • Information Based Modelling Tools (IBMS)
  • FirstSTEP
  • ERwin
  • ER/Studio


Below, given are some of the merits of using a DFD.

  • Easy understanding of the data flow along with the ease to examine and alter the data.
  • Provides simple visualization of the system's interaction with the external entities.
  • Defines and describes the system's boundaries.
  • It is used as a part of system documentation.


  • It takes a large amount of time to create it.
  • Its maintenance is a time consuming and costly process due to involvement of large number of units (systems/modules/sub-systems).
  • Not suitable for the larger system as change in one unit may lead to restructuring of the whole system.