A Data Flow Diagram (DFD) is a diagrammatic representation of the information flows within a system which showing how information enters and leaves the system, what changes the information and where information is stored. So simply we can say data flow diagram (DFD) is a graphical representation of the "flow" of data through an information system. In the year 1970s data-flow diagrams (DFDs) were introduced and popularized for structured analysis and design. It views a system as a function that transforms the inputs into desired outputs.
Normally any complex system will not perform transformation in a "single step" and a data will typically undergo a series of transformations before it becomes the output. So DFD tracks the data from an original source, carries it through a process, and then flows it to a final destination. DFDs are one of the most powerful and useful techniques available to the systems analyst.
Purposes of DFDs
- Freedom from committing to the technical implementation too early
- Gathering feedback information from user presentation
- Identify information requirements
- Understanding of the interrelationships of systems and subsystems
Uses of DFDs
- Used to analyze the system to ensure that the design is complete
- Used to partition the system into programs
- Used for system documentation
- In designing a DFD the exact details of the process including issues such as timing, are not factors.
Here the focus is on the movement of data. But when we go through structure tools such as algorithms and flowcharts, DFDs are often produced with increasing levels of detail. Data flow diagrams have replaced flowcharts and pseudocode as the tool of choice for showing program design.
Data flow diagrams (DFDs) are the method of choice over technical descriptions for three principal reasons.
- DFDs are easier to understand by technical and nontechnical audiences
- DFDs can provide a high level system overview, complete with boundaries and connections to other systems
- DFDs can provide a detailed representation of system components1 DFDs help system designers and others during initial analysis stages visualize a current system or one that may be necessary to meet new requirements.
- DFDs consist of four basic components that illustrate how data flows in a system: entity, process, data store, and data flow.
An external entity is a source or destination of a data flow which is outside the area of study. So it represents a person or a part of an organization which sends or receives data from the system but considered to be outside the system boundary (scope of the project).The symbol used is an oval containing a meaningful and unique identifier. External entities may be further referenced by the use of an alpha character, and this is particularly recommended if at a lower level the entity is being decomposed
A process shows a transformation or manipulation of data flows within the system. Processes are drawn as rectangular boxes with a descriptive name occupying the middle of the box This symbol used a rectangular box which contains 3 descriptive elements. Firstly an identification number appears in the upper left hand corner. This is allocated arbitrarily at the top level and serves as a unique reference. Secondly a location appears to the right of the identifier and describes where in the system the process takes place.
A data flow shows the flow of information from its source to its destination. It represents the exchange of data between processes, processes and data stores and processes and external entities. The direction of the data flow defines how data flows through the system. So data flow refers to the way data will be transferred from one terminator to another, or through processes and data stores. Data flow direction is represented by arrows. The arrows must either start and/or end at a process box. It is impossible for data to flow from data store to data store except via a process, and external entities are not allowed to access data stores directly. Arrows must be named.
A data store is a holding place for information within the system. It is represented by an open ended narrow rectangle. Normally data stores may be long term files such as sales ledgers or may be short term accumulations. This may be a card index, a database file, a temporary pile of sales orders awaiting processing or a folder in a filing cabinet.