What is Data Flow Diagram?
Data flow diagram ie. DFD in software engineering is a way of representing flow of data of a process or a system.
A DFD uses defined symbols like circles, arrows and rectangles to represent data input, output, storage points and routs between each destination.
Importance of data flow diagram in software engineering
Data flow diagram describes the processes which are involved in a system to transfer data from input to report generation and file storage.
Data flow diagram is a part of structured analysis modeling tools. In this article we will take example of online shopping system DFD to illustrate different terminology used in DFD.
Data Flow Diagram Symbols and Notation used in DFD
The two common systems of symbols are named after their creators (Yourdon & De Marco or Gane & Sarson). Graphically the main difference between these two in terms of drawing data flow diagram is how processes look. In Yourdon & De Marco system processes are represented by circles, while in Gane & Sarson processes are represented by squares with rounded corners.
There are four basic symbols to represent a data flow diagram.
1. External entity
External entities are objects outside the system with which system communicates. These are sources and destinations of the system inputs and outputs. They are also known as terminators, sinks, sources or actors.
A process receives input data and process output data with a different form or content. Every process has a name that identifies the function it performs. Process can be as simple as collecting input data and saving in the database or it may be as complex as producing monthly sales report of any particular product in any selected region.
The symbol of process is a circle or rectangle with rounded corners.
3. Data flow
Data flow is the path for data to move from one part of the system to another. It may be a single data element or set of data element. The symbol of data flow is the arrow. The arrow shows the flow direction.
4. Data store
Data store are repositories of data in the system. They sometimes also referred as files. Each data store receives a simple label such as Orders.
The following Data flow diagram symbols comparison table shows clear difference between these two.
Context diagram – Level 0: – A context diagram is also called DFD Level 0. This is top level data flow diagram and provides overview of the entire system. This diagram contains only one process node that generalizes the entire system function in relationship to external entities.
- Context level diagram does not contain any data storage.
- Entire system is represented as a single process.
- All external entities are shown in the context diagram.
In the following online shopping system DFD there are two External entities shown in rectangle box are: Administrator and Customer. It has only one process Online shopping system that represents the entire process.
Share this Image On Your Site
DFD Level 1: – It provides more detailed breakout of pieces of the context level diagram. As you will break down high level process of a context diagram into its sub processes you will highlight the main functions carried out by the system.
Level 1 DFD of online shopping system has one data store and 5 process: Online shopping master, Customer & security management, Order processing and Order tracking process.
DFD Level 2: – In this level you go one step deeper into parts of level1 DFD. You will reach in depth of system functioning.
Progression to level 3, 4 and more is possible, but usually going beyond level 3 is rare.
Online shopping DFD Level 2 shows more detailed view of level 1 DFD. In the level there are two diagrams exploring internal working of the two bigger process of Level 1 : ‘Online shopping master ‘ and ‘Order processing’
Guidelines for developing Data Flow Diagram
- All processes in a data flow diagram go to another process or a data store.
- Each process must have at least one input and an output.
- Data stored in a system must go through a process.
- Each data store must have at least one data flow in and one data flow out.
Logical DFD vs. Physical DFD
There are two categories or types of data flow diagram: Logical DFD and Physical DFD.
Logical DFD focusses on the business and how the business operates. It describes the business events that take place and data required and produced by each event. While a physical DFD shows how the system will be implemented.
|Logical DFD||Physical DFD|
|Logical DFD tells how the business operates||Physical DFD tells how the system will be implemented (or how the current system operates).|
|The processes represent the business activities.||The processes represent the programs, program modules, and manual procedures.|
|The data stores represent the collection of data regardless of how the data are stored.||The data stores represent the physical files and databases, manual files.|
|It show business controls.||It show controls for validating input data, for obtaining a record, for ensuring successful completion of a process, and for system security.|
How to make a Data Flow Diagram?
There are several online tools available from where you can draw data flow diagram online. If you want to draw DFD in your own laptop or desktop, then you can install Microsoft Visio software and draw DFD. You can find all Data flow diagram symbols on visio.
Here you can find Steps of creating DFD on visio
Also there are some online tools are available for this like Lucidchart
Some More examples of Data Flow Diagram in software engineering
You should also see following DFS examples
- Data flow diagram for library management system
- Data flow diagram for hospital management system
- Dfd for restaurant management system
- Dfd for school management system
- Data flow diagram for inventory management system
- Data flow diagram for school management system
- Data Flow diagram for online food ordering system