Data Flow Diagram (DFD)
Data Flow Diagram (DFD)
A Data Flow Diagram (DFD) is a visual map, visually represent how data moves through a system
or process. It uses symbols like rectangles, circles, and arrows, and text labels to illustrate data
inputs, outputs, storage, and processing. DFDs are helpful for understanding complex systems,
identifying inefficiencies, and improving process flow.
Data Flow Diagram is a graphical representation that models the flow of data through an
information system, illustrating the input, output, storage, and processing of data without detailing
the timing or sequence of processes.
A DFD lets you trace information from the source to the destination. It is commonly used in
software development, especially in creating and understanding information systems. It can also
be simple or complex depending on the system it represents.
Example: A data flow diagram visualizes the flow of data within a system or process.
Data flow diagram vs flowchart
Both the data flow diagram and the flowchart are methods of presenting data. Although they are
similar in visually representing processes, they differ in their focus, detail, scope, and levels of
abstraction.
A DFD illustrates the movement of data in a system. This data flow map provides a structured
view of how data originates from input and reaches its destination through various processes. It
allows analysts to comprehend and effectively explain the data flow process.
On the other hand, a flowchart depicts the sequence of steps in a given process. These are typically
generic and applicable to any activity. Flowcharts offer a broad overview of the process, enabling
people to identify gaps and bottlenecks.
A DFD is a diagram that exhibits a higher level of abstraction that emphasizes the flow and
transformation of data. Meanwhile, the flowchart provides a lower-level view of the system,
emphasizing control flow. The former can be employed to define the functionality of a system,
while the latter illustrates how the system functions.
The DFD is the initial step in creating an information system. Conversely, UML is utilized in
object-oriented software design and illustrates the system's behavior and model. While a DFD is a
starting point for understanding data flow and system operations, the UML diagram is particularly
valuable during system development, especially for showcasing class and structure diagrams.
TYPES
Two major categories of data flow diagrams are based on the data that needs to be visualized. A
DFD can be either a logical data flow diagram or a physical data flow diagram. These represent
two perspectives on the same data flow, each serving its purpose and offering unique benefits.
A logical DFD illustrates the theoretical process of data flowing through a system, detailing its
origin, direction, changes, and destination. It focuses on the specific processes of a business and
answers the 'what' questions. The logical data flow diagram shows what the company does, what
it provides, its goals, and the required information.
The benefit of a logical DFD is that it maps out the flow of business actions, aiding in
understanding the business's functionality. Various organizations commonly employ the logical
diagram example to ensure smooth system operation.
2. Physical data flow diagram
In contrast, a physical data flow diagram depicts the practical flow of data, addressing the 'how'
questions—how the data flows and how the system operates. It illustrates how specific elements,
such as files, hardware, software, employees, and customers, impact the flow. The physical DFD
shows how data flow is currently implemented or how it will be. This type of diagram is more
specific and closely tied to implementation.
So, which type of DFD should you use? The answer is any! You can use a logical or a physical
DFD to describe data flow. More importantly, combining both provides a comprehensive
understanding of the process.
The logical DFD describes business events and the necessary data. It serves as the foundation for
the physical DFD, which illustrates how the system works through its components. Together, they
fully visualize the current status of data flow and can model a new status for implementation.
LEVELS OF DFD
A DFD is layered, with each layer becoming deeper and more detailed as it focuses on a specific
part of the system or data. The levels of DFD can range from simple to complex, offering a detailed
representation of the process. They start from Level 0 to Level 2 and sometimes reach Level 3 for
intricate DFDs. The level of detail required depends on the specific information you aim to convey.
Level 0: (Context Diagram): This is the highest-level diagram, showing the system as a single
process and its interactions with external entities. This level focuses on high-level processes and
the information flowing to or from them. It is also known as a context diagram in a DFD. It serves
as a simple overview, placing the diagram in context without delving into specific process details.
This type of diagram is easily understandable for a diverse audience, including stakeholders,
developers, and data analysts.
Level 1: This diagram breaks down the system into its major subprocesses. It is referred to as
process decomposition, this level provides a broad and detailed overview of a given process. The
diagram becomes more detailed, zooming in on the system's function. Level 1 breaks down a single
process node into subprocesses, explaining and detailing each.
Level 2: The next DFD level, termed deeper dives, takes another step into detail by breaking down
the Level 1 process into more granular subprocesses. It analyzes and maps out specific parts of the
Level 1 diagram, potentially requiring more text to convey the necessary detail.
Level 3 and beyond: Known for increasing complexity, Level 3 and beyond are less common due
to their detailed communication challenges. At higher levels, DFDs tend to be more text-based.
However, specific complex systems and processes may necessitate going to another level.
DFDs consist of various levels, each providing varying degrees of detail
Cascading DFD levels can be nested within the diagram, providing a cleaner structure for in-depth
analysis. A detailed DFD aids designers and developers in writing pseudocode, subsequently
facilitating the creation of the actual system code.
1. Direction. A process must have both an input and an output. Each process should have precisely
one input and output to ensure that processes are used for data transformation without open loops.
2. Connection. Data should not flow directly between two data stores. Data must only move from
a data store to a process or from a process to a data store.
3. Logical flow. Data cannot go directly from an external entity to a data store. Data must flow
from an entity to a process before being stored in a data store.
4. Data exchange. Each data store should have at least one data flow in and one flow out. There
should be input data flowing into a data store and output data flowing out for retrieved information.
5. Variability. Data should not flow directly between two entities. A data flow should move from
an entity to a process and then to another entity. Multiple data flows between an entity and a process
are possible.
6. Process. Any data stored in the system must pass through a process. Every process leads to
either another process or a data store.
7. Non-intersection. Data flows should not intersect or cross each other.
Processes: These are the transformations or actions that data undergoes within the system. They
are usually represented by circles.
Data Stores: These are locations where data is stored, such as databases or files. They are often
represented by open-sided rectangles.
Data Flows: These are the routes that data takes between entities, processes, and data stores. They
are typically represented by arrows, often labeled with short data names.
1. Powerful visual representation tool: The data flow diagram is a valuable technique for
illustrating the flow of data in a system, providing an intuitive set of concepts and rules. It
simplifies complex data structures into a straightforward diagram, facilitating a deeper
understanding. It aids teams in interpreting data and comprehending the steps in the software
process.
DFDs can streamline the process of bus ticket reservations, enhancing efficiency and clarity.
2. Effective visualization: Effective visualization is crucial for clearly explaining processes and
enhancing recall. The DFD enables stakeholders to quickly grasp the flow of information and
understand the relationships between different components of the system.
3. Shows logic: The DFD represents the logic behind the flow of information in a given system,
breaking down complex systems into understandable external entities, processes, and data stores.
Presenting logic in this manner is essential for non-technical individuals to comprehend how input
data transforms into output data.
4. Enhances communication: The DFD improves communication between users and system
designers by providing a graphical representation of data flow. It aids engineers and developers in
understanding users' objectives. As a visual communication tool, the data flow diagram facilitates
practical discussions about the system process among different stakeholders.
5. Creates boundaries: The DFD describes and defines a system's boundaries, establishing clear
delineation. With a DFD, understanding where a system starts and ends could be more accessible
for a company. Identifying data sources and external entities involved in a system enhances
transparency in data handling.