Open In App

What is DFD(Data Flow Diagram)?

Last Updated : 04 Oct, 2024
Summarize
Comments
Improve
Suggest changes
Like Article
Like
Save
Share
Report
News Follow

Data Flow Diagram (DFD) represents the flow of data within information systems. Data Flow Diagrams (DFD) provide a graphical representation of the data flow of a system that can be understood by both technical and non-technical users. 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)?

DFD is the abbreviation for Data Flow Diagram. The flow of data in a system or process is represented by a Data Flow Diagram (DFD). It also gives insight into the inputs and outputs of each entity and the process itself. Data Flow Diagram (DFD) does not have a control flow and no loops or decision rules are present. Specific operations, depending on the type of data, can be explained by a flowchart. It is a graphical tool, useful for communicating with users, managers and other personnel. it is useful for analyzing existing as well as proposed systems.

It should be pointed out that a DFD is not a flowchart. In drawing the DFD, the designer has to specify the major transforms in the path of the data flowing from the input to the output. DFDs can be hierarchically organized, which helps in progressively partitioning and analyzing large systems.

It provides an overview of 

  • What data is system processes.
  • What transformation are performed.
  • What data are stored.
  • What results are produced , etc.

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

For a comprehensive introduction to DFDs and their applications, the System Design Course offers a clear and structured learning experience, ideal for system designers.

Characteristics of Data Flow Diagram (DFD)

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

  • Graphical Representation: Data Flow Diagram (DFD) use different symbols and notation to represent data flow within system. That simplify the complex model.
  • 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.
  • Abstraction: Data Flow Diagram (DFD) provides a abstraction to complex model i.e. DFD hides unnecessary implementation details and show only the flow of data and processes within information system.
  • 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.
  • Data Flow: The primary objective of Data Flow Diagram (DFD) is to visualize the data flow between external entity, processes and data store. Data Flow is represented by an arrow Symbol.
  • Ease of Understanding: Data Flow Diagram (DFD) can be easily understand by both technical and non-technical stakeholders.
  • Modularity: Modularity can be achieved using Data Flow Diagram (DFD) as it breaks the complex system into smaller module or processes. This provides easily analysis and design of a system.

Types of Data Flow Diagram (DFD)

There are two types of Data Flow Diagram (DFD)

  1. Logical Data Flow Diagram
  2. Physical Data Flow Diagram

Logical Data Flow Diagram (DFD)

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 DFD 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

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 DFD is more specific and close to implementation.

Physical-Data-Flow-Diagram-(DFD)

Physical Data Flow Diagram of online Grocery Store

Components of Data Flow Diagrams (DFD)

The Data Flow Diagram has 4 components:

  • 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
  • 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.
  • 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.
  • 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.
Basic-Structure-of-DFD

Basic Structure of Data Flow Diagram (DFD)

What symbols and notations are used to represent Components of DFD?

In Data-Flow Diagrams (DFDs), symbols and notations vary depending on the methodology being used. Here’s a summary of symbols and notations commonly associated with each methodology:

The different methodologies or approaches used for creating Data-Flow Diagrams (DFDs) are:

  • Gane and Sarson
  • Yourdon and De Marco
  • SSADM
  • UML

Each methodology provides its own set of guidelines, symbols, and notations for representing system components and their interactions.

Data-Flow-Diagram-Methods-&-Symbols

Data Flow Diagram Methods and Symbol

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.

Rules for Data Flow Diagram (DFD)

Following are the rules of DFD:

  • Data can flow from:
    • Terminator or External Entity to Process
    • Process to Terminator or External Entity
    • Process to Data Store
    • Data Store to Process
    • Process to Process
  • Data Cannot Flow From
    • Terminator or External Entity to Terminator or External Entity
    • Terminator or External Entity to Data Store
    • Data Store to Terminator or External Entity
    • Data Store to Data Store

Advantages of Data Flow Diagram (DFD)

  • It helps us to understand the functioning and the limits of a system.
  • It is a graphical representation which is very easy to understand as it helps visualize contents.
  • Data Flow Diagram represent detailed and well explained diagram of system components.
  • It is used as the part of system documentation file.
  • Data Flow Diagrams can be understood by both technical or nontechnical person because they are very easy to understand.

Disadvantages of Data Flow Diagram (DFD)

  • At times Data Flow Diagram (DFD) can confuse the programmers regarding the system.
  • Data Flow Diagram takes long time to be generated, and many times due to this reasons analysts are denied permission to work on it.

How to Draw Data Flow Diagram?

Following are the steps to Draw Data Flow Diagram

  • Understand the System
  • Identify External Entities
  • Identify Processes
  • Identify Data Stores
  • Use Standard Symbols
  • Create Level 0 Diagram
  • Based on Complexity Draw Further Level Diagram like Level 1, 2 and so on.
  • Identify Data Flows:
  • Number Processes and Data Stores
  • Review and Validate

Conclusion

Data Flow Diagram ( DFD) are visual maps that provides a clear understanding of how information moves within a information system. Data Flow Diagrams (DFD) consist of four component i.e. Processes that represent system’s functionality, External Entities that represent the end users, data store that represent database or data ware house and data flow that represent how data are flow among these three components. DFD help everyone, from computer experts to regular users, as it provide a clear understanding of how a system works and how different parts of it interact. By using DFDs, people can work together effectively to analyze, design, and communicate about systems.

What are the 4 components of DFD?

Four Components of DFD are:

  • Process
  • Data Flow
  • Data Store
  • External Entity

What are the symbols used in DFD?

Symbols Used in DFD are standardized notations, like rectangles, circles, arrows, and short-text labels.

What are the levels of DFD?

 Levels in DFD are numbered 0, 1, 2 or beyond.

Is flowchart a DFD?

No, Both are different. A flowchart illustrates the sequence of steps or actions within a process, detailing the logic and decision points, while a Data-Flow Diagram (DFD) focuses on representing the flow of data within a system, showing how data moves between processes, data stores, and external entities without specifying the sequence of actions.



Similar Reads

Difference between Flowchart and Data Flow Diagram (DFD)
FlowChart and Data Flow Diagrams both are ways of representing data or information. FlowChart is a visual representation and DFD is a graphical representation. In this article, we will discuss Flowchart and Data Flow Diagram and we will also look into the differences between them. Let's proceed with the flowchart first. What is a FlowChart?A Flowch
3 min read
Types and Components of Data Flow Diagram (DFD)
Data Flow Diagrams (DFDs) are powerful visual tools representing information flow within systems. Understanding their types and components is important as each type has a different purpose, and components help in creating an accurate Data Flow Diagram (DFD). Table of Content What is Data Flow Diagram (DFD)Types of Data Flow Diagram (DFD) Components
8 min read
Levels in Data Flow Diagrams (DFD)
In Software engineering DFD(data flow diagram) can be drawn to represent the system of different levels of abstraction. Higher-level DFDs are partitioned into low levels-hacking more information and functional elements. Levels in DFD are numbered 0, 1, 2 or beyond. Here, we will see mainly 3 levels in the data flow diagram, which are: 0-level DFD,
6 min read
Rules for Data Flow Diagram
Following are the rules which are needed to keep in mind while drawing a DFD(Data Flow Diagram). Data can not flow between two entities. - Data flow must be from entity to a process or a process to an entity. There can be multiple data flows between one entity and a process. Data can not flow between two data stores Data flow must be from data stor
2 min read
Data Flow Diagram for Online Banking System
Data Flow Diagrams are used to represent the flow of data as well as the processes and functions involved to store, manipulate, and distribute data among various components of the system and between the system and the environment of the system by a specific set of graphical representations. It also depicts the logical flow of information in a syste
4 min read
Difference between Cash Flow and Fund Flow
Prerequisite - Cash Flow Forecasting | Software Engineering 1. Cash Flow : Cash flow refers to the concept of inflow and outflow of cash and cash equivalents during a particular period. In cash flow cash from the operations is calculated. It is useful for short term financing. It starts with opening and closing balance of cash and deals only with c
2 min read
DFD for ATM system
DFD (Data Flow Diagram) of an ATM System consist of two levels of DFD. These levels are Level 0 DFD and Level 1 DFD. Both these levels are used for making the DFD of an ATM system. Level 0 DFD : This level is also known as Context Level DFD. At this level, only the interacting inputs and outputs with a system are described. The DFD of this level is
1 min read
Difference between DFD and ERD
Data Flow Diagram (DFD) and Entity Relationship Diagram (ERD) are used for data flow representation. In this article, we will look into DFD and ERD and we will also see the difference between DFD and ERD. What is Data Flow Diagram (DFD)?Data means information, flow means to move, and a diagram means a picture to represent something. So, DFD is simp
4 min read
DFD for Food Ordering System
Food Ordering System is actually a type of software that allows the manager of restaurants to manage and accept the placed orders over the Internet or in the restaurant. Let us understand the working of the food ordering system by using DFD (Data Flow Diagram). DFD for Food Ordering System is shown below. Here, different levels of DFD are shown for
2 min read
DFD for Spell Checking and Correcting in Word Processor
Word processing simply means the process in which a document is created or edited using a word processor. Word processor is actually a software or a device with the help of which a document can be edited, created, or printed. Nowadays, a various word processor is available like Microsoft Word, OpenOffice Writer, Google Docs, etc. It’s generally res
2 min read
Developing DFD Model of System
Data Flow Diagram (DFD) of a system represents how input data is converted to output data graphically. Level 0 also called context level represents most fundamental and abstract view of the system. Subsequently other lower levels can be decomposed from it. DFD model of a system contains multiple DFDs but there is a single data dictionary for entire
4 min read
DFD for Library Management System
Data Flow Diagram (DFD) depicts the flow of information and the transformation applied when data moves in and out of a system. The overall system is represented and described using input, processing, and output in the DFD. The inputs can be: Book request when a student requests for a book.Library card when the student has to show or submit his/her
2 min read
What is the difference between State Machine Diagram and Activity Diagram?
State Machine Diagrams and Activity Diagrams are two types of behavioral diagrams in UML (Unified Modeling Language) used to model the dynamic aspects of a system. While both diagrams depict the flow of control in a system, they serve different purposes and are used in different contexts. This article explores the key differences between State Mach
3 min read
Differences between Sequence Diagram and Activity Diagram
Understanding the differences between various diagrammatic representations is important for effective communication and problem-solving. Among these, the Sequence Diagram and the Activity Diagram stand out as two powerful tools, each serving distinct purposes but they often confuse due to their similarities. In this article, we will see the differe
6 min read
Difference between Sequence diagram and Collaboration diagram
A Sequence diagram is an interaction diagram that details about the operation that is carried out. The sequence diagram captures the interaction between the objects in the context of collaboration. Sequence diagrams are time focused and they show the order of the interaction visually by using the vertical axis of the diagram to represent time. Exam
2 min read
Top Architectural Patterns for Data and Communication Flow
In this article, we will explore the top architectural patterns governing data and communication flow in modern systems. We will understand key strategies for structuring data and managing communication channels to optimize performance, scalability, and resilience in distributed environments. Important Topics to Understand Top Architectural Pattern
6 min read
Data Flow Testing
Data Flow Testing is a structural testing method that examines how variables are defined and used throughout a program. It uses control flow graphs to identify paths where variables are defined and then utilized, aiming to uncover anomalies such as unused variables or incorrect definitions. By focusing on the flow of data, it helps ensure that vari
5 min read
Cuts and Network Flow
The backbone analysis of any network is broadly accomplished by using Graph Theory and its Algorithms. The performance constraints are Reliability, Delay/Throughput and the goal is to minimize cost. In the backbone designing of a network the concerned points and considerations are : What should be the backbone topology ?Assignment of Line Capacitie
4 min read
Difference between Structure chart and Flow chart
1. Structure Chart : Structure Chart represents the hierarchical structure of modules. It represents the software architecture that means the various modules making up the system and the dependency. Structure chart representation can be easily implemented using some common programming language. The main focus in the structure chart is on the module
2 min read
Functional modelling and Information Flow modelling
In the Functional Model, software converts information. and to accomplish this, it must perform at least three common tasks- input, processing and output. When functional models of an application are created, the software engineer emphasizes problem specific tasks. The functional model begins with a single reference level model (i.e., be manufactur
2 min read
Flow Graph in Code Generation
A basic block is a simple combination of statements. Except for entry and exit, the basic blocks do not have any branches like in and out. It means that the flow of control enters at the beginning and it always leaves at the end without any halt. The execution of a set of instructions of a basic block always takes place in the form of a sequence. T
4 min read
Cash Flow Forecasting - Software Engineering
Cash flow is the movement of money in and out of an organization. It involves the expenditure and income of an organization. This article focuses on discussing Cash flow forecasting in detail. Cash Flow ForecastingCash flow forecasting is the estimation of the cash flow over some time. It is important to do cash flow forecasting to ensure that the
2 min read
Control Flow Graph (CFG) - Software Engineering
A Control Flow Graph (CFG) is the graphical representation of control flow or computation during the execution of programs or applications. Control flow graphs are mostly used in static analysis as well as compiler applications, as they can accurately represent the flow inside a program unit. The control flow graph was originally developed by Franc
2 min read
Control Flow Software Testing
Control flow testing is a type of software testing that uses a program's control flow as a model. Control flow testing is a structural testing strategy. This testing technique comes under white box testing. For the type of control flow testing, all the structure, design, code and implementation of the software should be known to the testing team. T
4 min read
Use Case Diagram for Bank ATM System
Automated Teller Machine (ATM) also known as ABM (Automated Banking Machine) is a banking system. This banking system allows customers or users to have access to financial transactions. These transactions can be done in public space without any need for a clerk, cashier, or bank teller. Working and description of the ATM can be explained with the h
2 min read
Short Note on Activity and Swimlane Diagram
An Activity in the activity diagram is also known as Activity state. It is used to represent the invocation of operation, a step in an entire business process. Swimlane is a way in which the performed activities can be grouped by the same actor on an Activity diagram. To use swimlanes in an activity diagram, we need to arrange the activity diagram
3 min read
Pin diagram of 8051 Microcontroller
Introduction : The 8051 microcontroller is a popular 8-bit microcontroller widely used in embedded systems. It is a single-chip microcontroller with a Harvard architecture that includes a CPU, RAM, ROM, and several peripherals. The 8051 microcontroller has a 40-pin dual in-line package (DIP) that provides various inputs and outputs for communicatio
9 min read
State Transition Diagram for an ATM System
State Transition Diagram are also known as Dynamic models. As the name suggests, it is a type of diagram that is used to represent different transition (changing) states of a System. It is generally used to graphically represent all possible transition states a system can have and model such systems. It is very essential and important and right for
2 min read
State Diagram for Online Banking System
State Diagrams are used to model and present the dynamic nature of a system. State Diagrams consists of different states which represent an activity or an action corresponding to an event. An event causes the transitions from a state to another state in the state diagram. Hence a state diagram is a pictorial representation of the flow of control wi
3 min read
Use Case Diagram for Online Banking System
The Use Case Diagram is a UML Diagram where the each use-case specifies the behaviour expected from software from the perspective of end-user and relation as well as provides brief overview for different components concerning interaction between use-case, actors and systems . The Use-Case Diagram is used to prepare, present and understand functiona
4 min read
three90RightbarBannerImg