Data Flow Diagram (DFD)
Overview
Data flow diagram (DFD) represents the flows of data between different processes in a business. It is a graphical technique that depicts information flow and the transforms that are applied as data move form input to output. It provides a simple, intuitive method for describing business processes without focusing on the details of computer systems. DFDs are attractive technique because they provide what users do rather than what computers do.
Representation of Components
DFDs only involve four symbols. They are:
Process
Transform of incoming data flow(s) to outgoing flow(s).Data Flow
Movement of data in the system.
Data Store
Data repositories for data that are not moving. It may be as simple as a buffer or a queue or a s sophisticated as a relational database.
External Entity
Sources of destinations outside the specified system boundary.
Relationship and Rules
Relationship
The DFD may be used for any level of data abstraction. DFD can be partitioned into levels. Each level has more information flow and data functional details than the previous level.
Highest level is Context Diagram. Some important points are:
- 1 bubble (process) represents the entire system.
- Data arrows show input and output.
- Data Stores NOT shown. They are within the system.
Diagram above is an example of Context Level DFD
Next Level is Level 0 DFD. Some important points are:
- Level 0 DFD must balance with the context diagram it describes.
- Input going into a process are different from outputs leaving the process.
- Data stores are first shown at this level.
Diagram above show an example of Level 1 DFD
Next level is Level 1 DFD. Some important points are:
- Level 1 DFD must balance with the Level 0 it describes.
- Input going into a process are different from outputs leaving the process.
- Continue to show data stores.
Diagram above show an example of Level 1 DFD
A DFD may look similar to a flow chart. However, there is a significant difference with the data flow diagram. The arrows in DFDs show that there is a flow of data between the two components and not that the component is sending the data that must be executed in the following component. A component in DFD may not continue execution when sending data and during execution of the component receiving the data. The component sending data can send multiple sets of data along several connections. In fact, a DFD node can be a component that never ends.
Rules
Strengths and Weaknesses
Strengths
Weaknesses
Appropriate and Inappropriate Domain of Application and Example
Appropriate Domain of Application
Inappropriate Use
DFDs are inappropriate to use in a large system because if changes are to be made on a specific unit, there is a possibility that the whole DFD need to be changed. This is because the change may result in different data flow into the next unit. Therefore, the whole application or system may need modification too.
Tools Related to DFD
Data Flow Diagram Tool (DFDT) is one of Integrated Software Software Development System (ISDS) that enforces Software Engineering Principles. DFDT is set to be the second most important tool after Project Management Tool (PMT) in ISDS. DFDT contains processes, data flows, external entities and data store. In order to design a consistent DFD, there are some rules that need to be followed in DFDT.
Other tools and software that are realted with DFDs modeling tools are:
IBMS is a educational freeware CASE Tool for database design. It is based on its own modeling methodology - The Two-Stage Entity-Relationship (TSER) approach which comes with a DFD modeling.
FisrtSTEP is a business Management Tool Software that allows allowing decision makers the power to design, document, analyze, refine, incrementally improve and redesign business processes.
Beside these, other CASE Modeling Tools that support data flow diagram modeling are: