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 DFDCharacteristics 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)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 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 of online Grocery StoreComponents 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 and Symbol1. 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 of Railway Reservation System1-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 DFD of Railway Reservation System2-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.
Similar Reads
Levels in Data Flow Diagrams (DFD) Data Flow Diagram is a visual representation of the flow of data within the system. It helps understand how data flows throughout the system and how it changes during processing. DFDs provide a graphical tool for system analysis and design, breaking down complex systems into simple, understandable c
6 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 Diagra
8 min read
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
3 min read
What is a Swimlane Diagram A swimlane diagram is also called a cross-functional diagram. The name, cross-functional process map, means the whole work process âcrossesâ several functions. By using swimlane diagrams in system design, you can create a clear and concise representation of your system architecture, promoting better
10 min read
What is logical Class Diagram? A logical class diagram is a type of UML (Unified Modeling Language) diagram that represents the structure of a system in terms of classes and their relationships, without considering implementation details. It focuses on the entities (classes) in the system and their relationships, attributes, and
2 min read