It is a technique developed by Larry Constantine to express the requirements of a system in a graphical form.
- It shows the flow of data between various functions of the system and specifies how the current system is implemented.
- It is an initial design phase that functionally divides the requirement specifications down to the lowest level of detail.
- Its graphical nature makes it a good communication tool between user and analyst or analyst and system designer.
- It gives an overview of what data a system processes, what transformations are performed, what data are stored, what results are produced and where they flow.
Basic Elements of DFD
DFD is easy to understand and quite effective when the required design is not clear and the user wants a notational language for communication. However, it requires a large number of iterations for obtaining the most accurate and complete solution.
The following table shows the symbols used in designing a DFD and their significance −
Symbol Name | Symbol | Meaning |
Square | Source or Destination of Data | |
Arrow | Data flow | |
Circle | Process transforming data flow | |
Open Rectangle | Data Store |
Types of DFD
DFDs are of two types: Physical DFD and Logical DFD. The following table lists the points that differentiate a physical DFD from a logical DFD.
Physical DFD | Logical DFD |
It is implementation dependent. It shows which functions are performed. | It is implementation independent. It focuses only on the flow of data between processes. |
It provides low level details of hardware, software, files, and people. | It explains events of systems and data required by each event. |
It depicts how the current system operates and how a system will be implemented. | It shows how business operates; not how the system can be implemented. |