Data Flow Diagrams (DFD)
DFD -- The Right Tool For The Task

Consider the two maps of the United
States below. They both show the states, but give very different information
about them and would serve different purposes for decision making.

Data Flow Diagrams (DFDs), as the
name suggests, illustrates the flow of information in a system. They are
hardware
independent and they do not reflect decision points. Rather
they demonstrate the information and how it flows between specific processes
in a system. They provide one kind of documentation for our reports.

Naming Conventions:
-
Data Flows: name of the packet of information
(arcs)
-
Data Stores: name of the data stored
there (rectangle)
-
Transformations: name of the activity
(bubbles)
-
Origins and Destinations: name of producers,
customers, etc. in the environment (boxes)
Since they generally describe a complex
system, there are layers of DFD's that show increasingly more information
about the processes. Consider the diagram below.

These diagrams show a group of
related sets:
-
Context Diagram: This is the highest
level and represents the overall system and its interaction with its environment
-
Level 0 Diagram: This shows the major
subsystems and their interactions
-
Level x Diagram: Shows the processes
that make up each of the major subsystems
-
Level x.y Diagram: Shows detail of
the above diagrams
Each bubble on one level gets "exploded"
to show the detail at another level. These pairs are referred to as parent-child
pairs. It is important to keep balance between the individual parents and
their children.
Numbering: Each process in
Level 0 gets a number. Each child inherits the number. Bubbles on the child
dfd maintain that number, and begin their numbering as a number after the
decimal point. These are unique numbers.

When to stop:
-
Each process is a single decision or
calculation or a single database operation, such as retrieve, update, create,
delete or read.
-
Each data store represents data about
a single entity such as a customer, employee, product or order.
-
The system user does not care to see
any more detail or when you and other analysts have dcoumented sufficient
detail to do subsequesnt systems development tasks.
-
Every data flow does not need to be
split further to show that different data are handled in different ways.
-
You believe that you have shown each
business form or transaction, computer screen and report as a single data
flow.
-
You believe there is a separate process
for each choice on all lowest-level menu options for the system.
-
Data
Flow Diagram (DFD) Example (Context and Level 0 Diagrams).
-
Data
Flow Diagram (DFD) Example (Level 4 Explosion).