A data Flow Diagram (DFD) is a graphical representation of data flow in an Information System (IS). It is used to show the incoming data flow, outgoing data flow, and stored data in an information system. The DFD does not mention anything about how data flows through the system. The data flow diagram shows the flow of data in the system at various levels. Unlike Flowcharts, DFDs do not show the system’s program control flow or branch elements.
DFDs can be broadly classified as
- Logical DFD
- Physical DFD
Logical DFD is more logical and concentrates on the system process and data flow in the system. For example in a Banking software system, data is moved between different entities.
Physical DFD shows how the data flow is actually implemented in the system. It is more specific and close to the implementation.
The data flow diagram consists of the following components:
- Entities(Source & Destination)
- Data StorageData Flow
Entities are the source and destination of information data. Entities are represented by rectangles with their respective names.
Activities and actions taken on the data are represented by circles or Round-edged rectangles.
There are two variants of data storage. It can either be represented as a rectangle with the absence of both smaller sides or as an open-sided rectangle with only one side missing.
Data flow is the movement of data in the system. It is shown by pointed arrows. Data movement from the base of the arrow as its data source towards the head of the arrow as the data destination.
DFD is simple to understand and use. The data flow diagramming technique follows a simple set of rules and concepts. DFD follows a hierarchical model to represent various sub-functions. A hierarchical model starts with a very simple and abstract model of a system. It starts with a set of high-level functions that a system performs and different details of the system are introduced through different hierarchies.DFD is an elegant modeling technique useful to represent the results of structured analysis of a software problem, showing the flow of documents or items in an organization, etc.