Open In App

What is DFD(Data Flow Diagram)?

Last Updated : 19 May, 2025
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
Report

Data Flow Diagram is a visual representation of the flow of data within the system. It help to understand the flow of data throughout the system, from input to output, and how it gets transformed along the way. The models enable software engineers, customers, and users to work together effectively during the analysis and specification of requirements.

What is Data Flow Diagram (DFD) ?

Data Flow Diagram (DFD) is a graphical representation of data flow in any system. It is capable of illustrating incoming data flow, outgoing data flow and store data. The DFD depicts both incoming and outgoing data flows and provides a high-level overview of system functionality. It is a relatively simple technique to learn and use, making it accessible for both technical and non-technical stakeholders.

Data Flow Diagram can be represented in several ways. The Data Flow Diagram (DFD) belongs to structured-analysis 1 tools. Data Flow diagrams are very popular because they help us to visualize the major steps and data involved in software-system processes.

Basic-Structure-of-DFD
Basic Structure of DFD

Characteristics of Data Flow Diagram (DFD)

Below are some characteristics of Data Flow Diagram (DFD):

1. Graphical Representation: Data Flow Diagram (DFD) use different symbols and notation to represent data flow within system. That simplify the complex system into understandable visual elements. This makes them easier to interpret by both technical and non-technical stakeholders.

2. Problem Analysis: Data Flow Diagram (DFDs) are very useful in understanding a system and can be effectively used during analysis. Data Flow Diagram (DFDs) are quite general and are not limited to problem analysis for software requirements specification.

3. Abstraction: DFDs abstract away the implementation details and focus on the data flow and processes within a system. They provide a high-level overview and omit unnecessary technical information.

4. Hierarchy: Data Flow Diagram (DFD) provides a hierarchy of a system. High- level diagram i.e. 0-level diagram provides an overview of entire system while lower-level diagram like 1-level DFD and beyond provides a detailed data flow of individual process.

Levels in Data Flow Diagram (DFD)

DFDs are categorized into various levels, with each level providing different degrees of detail. The levels are numbered from 0 and onward. The higher the level, the more detailed the diagram becomes. The following are the four levels of DFDs:

0-Level Data Flow Diagram (DFD)

Level 0 DFD is the highest-level diagram, representing the system as a single process with its interactions with external entities. It shows the major processes, data flows, and data stores in the system, without providing any details about the internal workings of these processes. It is also known as the Context Diagram, which abstracts the system’s operations and shows how data enters and leaves the system.

1-Level Data Flow Diagram (DFD)

Level 1 DFD provides a more detailed view of the system by breaking down the major processes identified in the level 0 Data Flow Diagram (DFD) into sub-processes. Each sub-process is depicted as a separate process on the level 1 Data Flow Diagram (DFD). The data flows and data stores associated with each sub-process are also shown.

Level 1 DFD provides a more detailed view of the system, focusing on key functional aspects. The Context Diagram from Level 0 is expanded into multiple bubbles/processes.

2-Level Data Flow Diagram (DFD)

Level 2 DFD further breaks down the sub-processes from Level 1 DFD into additional sub-processes, providing an even more detailed view. This level is useful when dealing with specific requirements or parts of the system that need a closer examination of their processes and interactions.

3-Level Data Flow Diagram (DFD)

3-Level is the most detailed level of Data Flow Diagram (DFDs), which provides a detailed view of the processes, data flows, and data stores in the system. This level is typically used for complex systems, where a high level of detail is required to understand the system. It includes detailed descriptions of each process, data flow, and data store, and is usually used when there is a need for a comprehensive understanding of the system.

Types of Data Flow Diagram (DFD)

DFDs can be classified into two main types, each focusing on a different perspective of system design:

Types-of-Data-Flow-Diagram-(DFD)
Types of Data Flow Diagram (DFD)

1. Logical Data Flow Diagram (DFD)

The Logical Data Flow Diagram mainly focuses on the system process. It illustrates how data flows in the system. Logical Data Flow Diagram (DFD) mainly focuses on high level processes and data flow without diving deep into technical implementation details.

Logical DFDs is used in various organizations for the smooth running of system. Like in a Banking software system, it is used to describe how data is moved from one entity to another.

Logical-Data-Flow-Diagram-(DFD)
Logical Data Flow Diagram of Online Grocery Store
2. Physical Data Flow Diagram

Physical data flow diagram shows how the data flow is actually implemented in the system. In the Physical Data Flow Diagram (DFD), we include additional details such as data storage, data transmission, and specific technology or system components. Physical DFDs are more detailed and provide a closer look at the actual implementation of the system, including the hardware, software, and physical aspects of data processing.

Physical-Data-Flow-Diagram-(DFD)
Physical Data Flow Diagram of online Grocery Store

Components of Data Flow Diagrams (DFD)

A DFD consists of four main components that work together to represent the flow of data within the system:

Data-Flow-Diagram-Methods-&-Symbols
Data Flow Diagram Methods and Symbol

1. Process

Input to output transformation in a system takes place because of process function. The symbols of a process are rectangular with rounded corners, oval, rectangle or a circle. The process is named a short sentence, in one word or a phrase to express its essence

2. Data Flow

Data flow describes the information transferring between different parts of the systems. The arrow symbol is the symbol of data flow. A relatable name should be given to the flow to determine the information which is being moved.

Data flow also represents material along with information that is being moved. Material shifts are modeled in systems that are not merely informative. A given flow should only transfer a single type of information. The direction of flow is represented by the arrow which can also be bi-directional.

3. Warehouse (Data Store)

The data is stored in the warehouse for later use. Two horizontal lines represent the symbol of the store. The warehouse is simply not restricted to being a data file rather it can be anything like a folder with documents, an optical disc, a filing cabinet.

The data warehouse can be viewed independent of its implementation. When the data flow from the warehouse it is considered as data reading and when data flows to the warehouse it is called data entry or data updating.

4. Terminator (External Entity)

The Terminator is an external entity that stands outside of the system and communicates with the system. It can be, for example, organizations like banks, groups of people like customers or different departments of the same organization, which is not a part of the model system and is an external entity. Modeled systems also communicate with terminator.

Rules for Data Flow Diagram (DFD)

Following are the rules of DFD:

1. Data can flow from

  • Terminator or External Entity → Process
  • Process → Terminator or External Entity
  • Process → Data Store
  • Data Store → Process
  • Process → Process

2. Data Cannot Flow From

  • Terminator or External Entity → Terminator or External Entity
  • Terminator or External Entity → Data Store
  • Data Store → Terminator or External Entity
  • Data Store → Data Store

Example of Levels of Data Flow Diagram (DFD)

Data Flow Diagram (DFD) uses hierarchy to maintain transparency thus multilevel Data Flow Diagram (DFD's) can be created. Levels of Data Flow Diagram (DFD) are as follows:

0-level DFD

It is also known as a context diagram. It’s designed to be an abstraction view, showing the system as a single process with its relationship to external entities. It represents the entire system as a single bubble with input and output data indicated by incoming/outgoing arrows.

Level-0-Diagram-of-Railway-
Level 0 of Railway Reservation System
1-Level DFD

This level provides a more detailed view of the system by breaking down the major processes identified in the level 0 DFD into sub-processes. Each sub-process is depicted as a separate process on the level 1 DFD. The data flows and data stores associated with each sub-process are also shown.

In 1-level DFD, the context diagram is decomposed into multiple bubbles/processes. In this level, we highlight the main functions of the system and breakdown the high-level process of 0-level DFD into subprocesses.

level-1-dd
Level 1 DFD of Railway Reservation System
2-level DFD

This level provides an even more detailed view of the system by breaking down the sub-processes identified in the level 1 DFD into further sub-processes. Each sub-process is depicted as a separate process on the level 2 DFD. The data flows and data stores associated with each sub-process are also shown.

Advantages of Data Flow Diagram (DFD)

  • Understanding the System: DFDs help in understanding how information flows through the system, revealing important functional components.
  • Graphical Representation: DFDs provide a simple, visual representation that is easy to understand, making them useful for both technical and non-technical stakeholders.
  • Detailed System Breakdown: DFDs can break down systems into individual processes, allowing for clearer documentation and a better understanding of the workflow.
  • System Documentation: DFDs are useful in documenting systems, ensuring that processes are well-defined for both current and future development needs.

Disadvantages of Data Flow Diagram (DFD)

  • Time-Consuming: Creating DFDs, especially for complex systems, can be time-consuming and may require extensive effort.
  • Limited Scope: DFDs focus only on data flow and may not capture other aspects like system security, performance, or user interfaces.
  • Updating Challenges: DFDs may become outdated if the system undergoes frequent changes. Keeping them up to date can require significant maintenance.
  • Requires Expertise: Although simple to understand, creating accurate DFDs requires technical expertise in analyzing the system and defining the data flows.

Conclusion

A Data Flow Diagram (DFD) is an essential tool for understanding and designing systems by illustrating how data flows between different processes and components. By analyzing different levels of DFDs, one can identify system scope, data transformations, and potential inefficiencies, aiding in improving system architecture and decision-making. DFDs, along with other design tools, provide a comprehensive approach to system analysis and design.


Next Article
Article Tags :

Similar Reads