Data Flow Diagram
A Data Flow Diagram (DFD) is a process-oriented graphical representation of an
application system. In the words of Hoffer, George and Valacich (1999), a DFD "is a
picture of the movement of data between external entities and the processes and data
stores within a system." 
The components of a typical dataflow diagram are: the process, the flow, the data store,
and the terminator.
The process shows a part of the system that transforms inputs into outputs. The process
is represented graphically as a circle or bubble, as shown in Figure 1.
Figure 1. A process is represented as a circle.
The processes should be numbered in order to conveniently reference them in the DFD.
A process is named or described with a single word, phrase, or simple sentence. The
process name should describe what the process does. A good name will generally consist
of a verb-object phrase such as COMPUTE TAX RATE.
The flow is represented graphically by an arrow into or out of a process (Figure 2). The
flow is used to describe the movement of chunks, or packets of information from one part
of the system to another part. The flows represent data in motion.
Figure 2. An example of a flow
The flows show direction: an arrowhead at either end of the flow or possibly at both
ends indicates whether data is moving into or out of a process or both.
Figure 3. An input flow
Figure 4. An output flow
The Data Store
The data store is used to model a collection of data packets at rest. The notation for a
data store is two parallel lines, as shown in Figure 5. The name chosen to identify the
data store is the plural of the name of the packets that are carried by flows into and out of
the data store.
Figure 5. A data store
Data stores are typically implemented as files or databases in a computerized system; but
a data store can also be data stored on punched cards, microfilm, or a variety of other
electronic forms. A data store might also consist of 3-by-5 inch cards in a card box, or
names and addresses in an address book, or several files folders in a file cabinet, or a
variety of other non-computerized forms.
Data stores are connect by flows to processes. Data stores have two types of flows:
a flow from a store and a flow to a store (See Figure 6.).
Figure 6. A DFD showing processes, flows, and a data store
A flow from a store is normally interpreted as a read or an access to information in a data
store. The data store is not changed when a packet of information moves from the store
along the flow.
A flow to a store is normally described as a write, an update, or possibly a delete. The
data store is changed as a result of the flow entering the store.
The terminator is graphically represented as a rectangle, as shown in Figure 7.
Terminators represent external entities with which the system communicates. A
terminator is a person or a group of persons that are outside the control of the system
being modeled. A terminator can also be another computer system with which your
system will communicate.
Figure 7. A terminator
Figure 8 shows a typical DFD for a small system. The DFD contains all the components
mentioned above: Processes, Flows, Stores, and Terminators.
Figure 8. A typical DFD