[flowchart] What is the difference between a data flow diagram and a flow chart?

I want to know why we use Data Flow Diagrams instead of flow charts.

This question is related to flowchart

The answer is


Other answers have gone over the basics of what each thing is. At the higher level, a flowchart is a design level tool, while DFDs are more analysis.

DFDs have some nice features. Since they show the flow of data, some things become more obvious when charted this way: some data is only used by a few routines, some routines use only some bits of data, some routines touch everything. Seeing that up front helps organize, restructuring, and planning.

A follow-on worth exploring is the Event-Response Diagram, which is basically a DFD only showing process and data needed to process an "event", meaning something triggered externally (customer makes payment, etc.).


Data Flow Diagrams The formal, structured analysis approach employs the data-flow diagram (DFD) to assist in the functional decomposition process. I learned structured analysis techniques from DeMarco [7], and those techniques are representative of present conventions. To summarize, DFD's are comprised of four components:


Data Flow and Flow Chart differ in processes, flow, and timing.

  1. Processes

    a.) On DFDs, processes can operate in parallel (at-the-same-time).

    b.) On flowcharts, processes execute one at a time.


  1. Flow

    a.) DFDs show the flow of data through a system

    b.) Flowcharts show the flow of control (sequence and transfer of control)


  1. Timing

    a.) Processes on a DFD can have dramatically different timing (daily, weekly, on demand)

    b.) Processes on flowcharts are part of a single program with consistent timing


A Data Flow Diagram is functional relationship which includes input values and output values and internal data stored.

A Flow Chart is a process relationship which includes input and output values.


Although my experience with DFD diagrams is limited I can tell you that a DFD shows you how the data moves (flows) between the various modules. Furthermore a DFD can be partitioned in levels, that is in the Initial Level you see the system (say, a System to Rent a Movie) as a whole (called the Context Level). That level could be broken down into another Level that contains activities (say, rent a movie, return a movie) and how the data flows into those activities (could be a name, number of days, whatever). Now you can make a sublevel for each activity detailing the many tasks or scenarios of those activities. And so on, so forth. Remember that the data is always passing between levels.

Now as for the flowchart just remember that a flowchart describes an algorithm!


have a look to this site

http://yourdon.com/strucanalysis/wiki/index.php?title=Chapter_9#The_Flow

its really help u to understand what is DFD


Flow chart describes the program (see old fortran flow charts - surely, there are some floating around on google).

Data flow diagram determines the flow of data, for example, between subroutines, or between different programs.


Between the above answers its been explained but I will try to expand slightly...

The point about the cup of tea is a good one. A flow chart is concerned with the physical aspects of a task and as such is used to represent something as it is currently. This is useful in developing understanding about a situation/communication/training etc etc..You will likley have come across these in your work places, certainly if they have adopted the ISO9000 standards.

A data flow diagram is concerned with the logical aspects of an activity so again the cup of tea analogy is a good one. If you use a data flow diagram in conjunction with a process flow your data flow would only be concerned with the flow of data/information regarding a process, to the exclusion of the physical aspects. If you wonder why that would be useful then its because data flow diagrams allow us to move from the 'as it is' situation and see it that something as it could/will be. These two modelling approaches are common in structured analysis and design and typically used by systems/business analysts as part of business process improvement/re-engineering.


Data flow diagram: A modeling notation that represents a functional decomposition of a system.

Flow chart: Step by step flow of a programe.


The difference between a data flow diagram (DFD) and a flow chart (FC) are that a data flow diagram typically describes the data flow within a system and the flow chart usually describes the detailed logic of a business process.


A flow chart details the processes to follow. A DFD details the flow of data through a system.

In a flow chart, the arrows represent transfer of control (not data) between elements and the elements are instructions or decision (or I/O, etc).

In a DFD, the arrows are actually data transfer between the elements, which are themselves parts of a system.

Wikipedia has a good article on DFDs here.


Data flow diagram shows the flow of data between the different entities and datastores in a system while a flow chart shows the steps involved to carried out a task. In a sense, data flow diagram provides a very high level view of the system, while a flow chart is a lower level view (basically showing the algorithm).

Whether you use data flow diagram or flow charts depends on figuring out what is it that you are trying to show.


A DFD shows how the data moves through a system, a flowchart is closer to the operations that system does.

In the classic make a cup of tea example, a DFD would show where the water, tea, milk, sugar were going, whereas the flowchart shows the process.