Data Flow Diagram
Data Flow Diagram
Slide 1 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design
Copyright 2000 © John Wiley & Sons, Inc. All rights reserved.
Reading a DFD
Slide 2
DFD Elements
Slide 3
DFD Shapes from Visio
Visio 5.x Visio 2000
Slide 4
DFD – Practical Example
Launched Dec. 11, 1998, the Climate Orbiter plunged too steeply
into the Martian atmosphere Sept. 23, 1999, and either burned up
or crashed. In an initial failure report released Oct. 15, 2000 the
review board blamed the navigation error on a communications
foul-up between NASA's Jet Propulsion Laboratory and prime
contractor Lockheed Martin.
Slide 5
Structured English
Common Statements Example
Slide 7
Context Diagram
• Shows the context into which the business
process fits
• Shows the overall business process as just
one process
• Shows all the outside entities that receive
information from or contribute information to
the system
Slide 8
Relationship Among DFD levels
Slide 9
Decomposition Diagram
Slide 10
Level 0 Diagram
• Shows all the processes that comprise the
overall system
• Shows how information moves from and to
each process
• Adds data stores
Slide 11
Level 1 Diagrams
• Shows all the processes that comprise a single
process on the level 0 diagram
• Shows how information moves from and to each of
these processes
• Shows in more detail the content of higher level
process
• Level 1 diagrams may not be needed for all level 0
processes
Slide 12
Level 2 Diagrams
• Shows all processes that comprise a single process
on the level 1 diagram
• Shows how information moves from and to each of
these processes
• Level 2 diagrams may not be needed for all level 1
processes
• Correctly numbering each process helps the user
understand where the process fits into the overall
system
Slide 13
Data Flow Splits and Joins
• A data flow split shows where a flow is broken into its
component parts for use in separate processes
• Data flow splits need not be mutually exclusive nor use all
the data from the parent flow
• As we move to lower levels we become more precise about
the data flows
• A data flow join shows where components are merged to
describe a more comprehensive flow
Slide 14
Alternative Data Flows
• Where a process can produce different data given
different conditions
• We show both data flows and use the process
description to explain why they are alternatives
• Tip -- alternative data flows often accompany
processes with IF statements
Slide 15
Your Turn
• At this point in the process it is easy to lose track of
the “big picture”.
• Describe the difference between data flows, data
stores, and processes.
• Describe in your own words the relationship
between the DFD and the ultimate new application
being developed.
Slide 16
Creating Data Flow
Diagrams
Slide 17 PowerPoint Presentation for Dennis & Haley Wixom, Systems Analysis and Design
Copyright 2000 © John Wiley & Sons, Inc. All rights reserved.
Integrating Scenario Descriptions
• DFDs generally integrate scenario
descriptions
• Names of use cases become processes
• Names of inputs and outputs become data
flows
• Combining “small” data inputs and outputs
into a single flow
Slide 18
Steps in Building DFDs
• Build the context diagram
• Create DFD fragments for each scenario
• Organize DFD fragments into level 0
• Decompose level 0 DFDs as needed
• Validate DFDs with user
Slide 19
DFD Fragment Tips
• All process names must be verb phrases
• Maintain organization’s viewpoint in naming
processes
• Layouts often place
• processes in the center
• inputs from the left
• outputs to the right
• stores beneath the processes
Slide 20
A DFD Fragment Example
Slide 21
DFD – Common Errors
Black Hole
Gray Hole
Miracle
Slide 22
DFD – Packet Concept
Slide 23
A Second DFD Fragment Example
Slide 24
Level 0 Tips
• Generally move from top to bottom, left
to right
• Minimize crossed lines
• Iterate as needed
• The DFD is often drawn many times before
it is finished, even with very experienced
systems analysts
Slide 25
Composite & Elementary Flows
Slide 26
Tips for Level 1 and Below
• Sources for inputs and outputs listed at higher level
• List source and destination of data flows to
processes and stores within each DFD
• Depth of DFD depends on overall system
complexity
• Two processes generally don’t need lower level
• More than seven processes become overly
complex and difficult to read
Slide 27
Flows to & from Data Stores
Slide 28
Illegal Data Flows
Slide 29
Validating the DFD
• Syntax errors
• Assure correct DFD structure
• Semantics errors
• Assure accuracy of DFD relative to
actual/desired business processes
• User walkthroughs
• Role-play processes
• Examine lowest level DFDs
• Examine names carefully
Slide 30