Code360 powered by Coding Ninjas X Naukri.com. Code360 powered by Coding Ninjas X Naukri.com
Table of contents
1.
Introduction
2.
What is DFD(Data Flow Diagram)?
3.
Characteristics of Data Flow Diagrams
4.
Components of DFD
5.
Rules and Guidelines for DFDs
6.
Levels and Layers of DFDs
6.1.
Level 0 DFD
6.2.
Level 1 DFD
6.3.
Level 2 DFD
7.
Advantages of DFD
8.
Disadvantages of DFD
9.
Frequently Asked Questions
9.1.
There are how many types of Data Flow Diagrams?
9.2.
What are some fields where DFDs can be used?
9.3.
What is the difference between DFD(Data flow diagram) and UML(Unified modeling language)?
9.4.
What are the 4 components of DFD?
9.5.
What is data flow diagram in system analysis and design?
9.6.
What is the diagram of the flow of data?
10.
Conclusion
Last Updated: Mar 27, 2024
Easy

Data Flow Diagram(DFD) in System Analysis

Introduction

A Data Flow Diagram (DFD) shows how data moves within a system or process. It reveals the flow of data between entities and processes, highlighting inputs, outputs, and their interactions.
Data-flow diagrams depict the system intended to be understandable by both computer experts and non-experts.

Data Flow Diagram(DFD) in System Analysis

Here, We are going to look at Data Flow Diagrams in detail.

What is DFD(Data Flow Diagram)?

DFD is a graphical representation of the flow of information in a system. It can show incoming, outgoing, and stored data flow. There is no control flow in DFD, and there are no loops or decision rules.
It can be used to communicate between a system analyst and anyone else involved in developing a system. The DFD is a modelling tool for structured analysis. Data Flow Diagrams are widely used because they facilitate visualising the significant phases and data involved in software-system processes.
The DFD doesn't specify how the data routing occurs across the system. It can be done manually, automatically, or in a combination of the two.

 A data flow graph, or bubble chart, is another name for a DFD.

Characteristics of Data Flow Diagrams

The characteristics of Data Flow Diagrams are:

  • Graphical Representation: Data Flow Diagrams (DFDs) depict system processes, data stores, data flow, and external entities through graphical symbols.
  • Hierarchical Structure: DFDs are hierarchical, with each level of the diagram providing increasing detail about system processes and data flows.
  • Process-Centric: DFDs focus on processes that transform input data into output data, highlighting the flow of information throughout the system.
  • Data-Centric: They emphasize the movement and transformation of data within the system, rather than focusing on control flow or implementation details.
  • Modularity: DFDs allow for the modular representation of complex systems, breaking them down into manageable components and interactions.
  • Clear Communication: They serve as effective communication tools between system analysts, designers, and stakeholders, facilitating understanding and agreement on system requirements and functionality.
  • Analysis and Design Aid: DFDs aid in the analysis and design phases of system development, helping identify system boundaries, data flows, and processing logic.

Components of DFD

  1. External Entity: An external entity is a system that communicates with the
    diagrammed system by sending or receiving data. They are the data entry points and exit points into and out of the system. A third-party corporation or individual, a computer system, or a business system could be involved. 
    Terminators, sources and sinks, and actors are all terms that describe them. Typically, they are created around the diagram's edges. 
    A rectangle represents an entity along with the entity’s name in DFD.
     
  2. Process: Any operation that alters data and produces an output is considered a process. It may carry out calculations, sort data according to logic, or
    direct data flow according to business standards. The process is described with a short label. 
    A circle or a round-edged rectangle represents a process in DFDs.
     
  3. Data Store: A store denotes storage that other processes can use later or in a different sequence. We can find an element or group of elements in the data storage. A database table is an example of files or repositories that store information for later use.
    A rectangle without one side or a rectangle without both smaller sides represents data stored in DFDs.
     
  4. Data Flow: Data flow is the route taken by data between external entities, processes, and stored data. Data Flow acts as an interface between the other components.
    We can use a  pointed arrow to represent Data Flow in DFDs. The arrow's base represents the source of the data flow, and the head of the arrow represents the destination of the data flow.
Components of DFD

Rules and Guidelines for DFDs

  • Each name should be unique. Unique names make referring to elements in the DFD a lot easier.
  • There should be at least one input and one output for each procedure.
  • Each data storage should have at least one data flow in, and one data flow out.
  • A process must be followed when data is saved in a system.
  • In a DFD, every process leads to another function or data storage.
  • It's important to remember that DFD isn't a flowchart. Arrows are a flow chart that depicts the sequence of events; in DFD, arrows symbolise flowing data. There is no logical order to a DFD.
  •  Avoid drawing a diamond-shaped box in a DFD.  In flow charts, a diamond-shaped box depicts decision points with numerous possible paths, only one of which is chosen. This suggests an order of events in a DFD, which is illogical.
  • Defer error conditions and handling till the completion of the analysis.
     

Also see,  V Model in Software Engineering

Levels and Layers of DFDs

DFDs can be divided into levels, each representing a different level of information flow and functional detail. In DFD, levels are 0, 1, 2, and higher. We will see the primary three layers of the data flow diagrams: 0-level, 1-level, and 2-level.

Level 0 DFD

Context Diagram is another name for DFD Level 0. It's a basic overview of the entire system or process studied or modelled. It's meant to be a quick peek into the system, displaying it as a single high-level process with connections to external entities. Stakeholders, business analysts, data analysts, and developers should understand it readily.

Example of Level 0 DFD:

Level 0 DFD

Level 1 DFD

The DFD Level 1 provides a more extensive breakdown of the Context Level Diagram's components. As we break down the high-level process of the Context Diagram into its sub-processes, we'll emphasise the system's primary functions.

Example of Level 1 DFD:
 

Level 1 DFD

Level 2 DFD

DFD Level 2 looks even deeper into elements of DFD Level 1. It may be essential to add more text to get the required degree of detail concerning the system's operation.

 

It is possible to get to Levels 3, 4, and beyond; however, going beyond Level 3 is uncommon. This can lead to a level of complexity that makes it challenging to convey, compare, or model properly.

The cascading levels can be stacked directly in the diagram using DFD layers, resulting in a cleaner look and quick access to the deeper dig.
 

Example of Level 2 DFD:

 

Level 2 DFD

Advantages of DFD

  • It assists us in understanding the operation and limitations of a system.
  • It is a graphical representation that is very simple to comprehend because it aids in visualising contents.
  • Data Flow Diagrams are diagrams of system components that are thorough and well explained.
  • It's included in the system documentation file.
  • Because they are so simple to grasp, data flow diagrams may be understood by both technical and non-technical people.

Disadvantages of DFD

  • DFD can occasionally cause programmers to become perplexed about the system.
  • Because data flow diagrams take a long time to create, analysts are frequently denied permission to work on them.

Frequently Asked Questions

There are how many types of Data Flow Diagrams?

There are mainly two types of DFDs:
Logical Data flow Diagram: Logical DFD represents the data flow within the system. Consider the flow of data between multiple financial system branches.
Physical Data flow Diagram: Physical DFD represents the implementation of the data flow within the system.

What are some fields where DFDs can be used?

We can use DFDs for various systems in different fields.
Software Engineering Field
Business analysis field
Agile Development field
For System structures
Business process re-engineering

What is the difference between DFD(Data flow diagram) and UML(Unified modeling language)?

A DFD depicts how data flows through a system, whereas UML is a modelling language used in Object-Oriented Software Design to provide a more detailed view.

What are the 4 components of DFD?

The four components of DFD are processes, data stores, data flows, and external entities.

What is data flow diagram in system analysis and design?

A data flow diagram in system analysis and design illustrates the flow of data within a system, depicting processes, data stores, and external entities.

What is the diagram of the flow of data?

The diagram of the flow of data is called a Data Flow Diagram (DFD), which visually represents how data moves within a system's processes, stores, and external entities.

Conclusion

In this article, we discussed have Data Flow Diagram(DFD) in System Analysis. We've uncovered a valuable tool for understanding how data moves within systems. DFDs help us communicate clearly, identify needs, and design systems effectively. With their simple symbols and clear structure, DFDs remain indispensable in system analysis and design. 

There are various types of tools for analysing a system in Software Engineering. After studying Structured System analysis, you can also learn designing at Structured analysis and DesigningGetting started with System design will help you understand the basics of System designing.

Recommended Readings:

As we know, Data Flow Diagrams are related to software engineering. I suggest you visit the article based on Analysis and Designing Structure in software engineering.
 

You can also enroll in our courses on System Design to gain feedback on your design and get hands-on experience with system design.

We wish you Good Luck! Keep coding and keep reading Ninja!!

Live masterclass