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 NameSymbolMeaning
SquareSquareSource or Destination of Data
ArrowArrowData flow
CircleCircleProcess transforming data flow
Open RectangleRectangleData 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 DFDLogical 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.