Chapter 9
Using Data Flow Diagrams
Systems Analysis and Design
Kendall and Kendall
Fifth Edition
Major Topics
Data flow diagram symbols
Data flow diagram levels
Creating data flow diagrams
Physical and logical data flow diagrams
Partitioning
Event driven modeling
Use case and data flow diagrams
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-2
Data Flow Diagrams
One of the main methods available for
analyzing data-oriented systems
DFDs emphasize the logic underlying
the system
The systems analysts can put together
a graphical representation of data
movement through the organization
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-3
Advantages of the Data Flow
Diagram Approach
Four advantages over narrative
explanations of data movement
Freedom from committing to the technical
implementation too early
Understanding of the interrelationships of
systems and subsystems
Communicating current system knowledge
to users
Analysis of the proposed system
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-4
Basic Symbols
Four basic symbols are
A double square for an external entity--a
source or destination of data
An arrow for movement of data from one
point to another
A rectangle with rounded corners for the
occurrence of transforming process
An open-ended rectangle for a data store
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-5
External Entities
Represent people or organizations
outside of the system being studied
Shows the initial source and final
recipient of data and information
Should be named with a noun,
describing that entity
C ustom e r
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-6
External Entities
External entities may be
A person, such as CUSTOMER or STUDENT
A company or organization, such as BANK
or SUPPLIER
Another department within the company,
such as ORDER FULFILLMENT
Another system or subsystem, such as the
INVENTORY CONTROL SYSTEM
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-7
Processes
Represent either: 1 2
C usto m er
A whole system A dd N ew
C ustom er
Inqu iry
S ubsystem
A subsystem
Work being done, an activity
Names should be in the form verb-
adjective-noun
The exception is a process that represents
an entire system or subsystem
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-8
Data Stores
Name with a noun, describing the data
Data stores are usually given a unique
reference number, such as D1, D2, D3
Include any data stored, such as:
A computer file or database
A transaction file C u sto m er
D1
A set of tables M aste r
A manual file of records
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-9
N e w C u stom e r
Data Flow C u stom er R e cord
Shows the data about a person, place,
or thing that moves through the system
Names should be a noun that describes
the data moving through the system
Arrowhead indicates the flow direction
Use double headed-arrows only when a
process is reading data and updating
the data on the same table or file
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-10
Developing Data Flow
Diagrams
Use the following guidelines:
Create the context level diagram, including
all external entities and the major data
flow to or from them
Create Diagram 0 by analyzing the major
activities within the context process
Include the external entities and major data
stores
Create a child diagram for each complex
process on Diagram 0
Kendall & Kendall 9-11
Copyright © 2002 by Prentice Hall, Inc.
Creating Data Flow Diagrams
Detailed data flow diagrams may be
developed by
Making a list of business activities
Analyzing what happens to an input data
flow from an external entity
Analyzing what is necessary to create an
output data flow to an external entity
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-12
Creating Data Flow Diagrams
(Continued)
Examining the data flow to or from a data
store
Analyzing a well-defined process for data
requirements and the nature of the
information produced
Unclear areas of a data flow diagram
should be noted and investigated
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-13
Data Flow Diagram Levels
Data flow diagrams are built in layers
The top level is the Context level
Each process may explode to a lower
level
The lower level diagram number is the
same as the parent process number
Processes that do not create a child
diagram are called primitive
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-14
Context Level Data Flow
Diagram
Contains only one process, representing
the entire system
The process is given the number zero
All external entities are shown on the
context diagram as well as major data
flow to and from them
The diagram does not contain any data
stores
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-15
Diagram 0
Diagram 0 is the explosion of the
context level diagram
Should include up to 7 or 9 processes
Any more will result in a cluttered diagram
Processes are numbered with an integer
The major data stores and all external
entities are included on Diagram 0
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-16
Child Diagrams
Each process on diagram zero may be
exploded to create a child diagram
Each process on a lower-level diagram
may be exploded to create another
child diagram
These diagrams found below Diagram 0
are given the same number as the
parent process
Process 3 would explode to Diagram 3
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-17
3 .2 5 .2 . 7
E dit C a lculate
Child Diagrams C ustom er C ustom er
D isc ount
Each process is numbered with the
parent diagram number, a period, and a
unique child diagram number
Examples are:
3.2 on Diagram 3, the child of process 3
5.2.7 on Diagram 5.2, child of process 5.2
On Diagram 3, the processes would be
numbered 3.1, 3.2, 3.3 and so on
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-18
Child Diagrams
External entities are usually not shown
on the child diagrams below Diagram 0
If the parent process has data flow
connecting to a data store, the child
diagram may include the data store as
well
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-19
Child Diagrams
A lower-level diagram may contain data
stores not shown on the parent process,
such as
A file containing a table of information
(such as a tax table)
A file linking two processes on the child
diagram
Minor data flow, such as an error line,
may be included on a child diagram
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-20
Child Diagrams
An interface data flow is data that are
input or output from a child diagram
that matches the parent diagram data
flow
Processes that do not create a child
diagram are called primitive processes
Logic is written for these processes
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-21
Data Flow Diagram Errors
The following conditions are errors that
occur when drawing a data flow
diagram:
A process with only input data flow or
only output data flow from it
1 2
A dd A dd
New New
C u sto m e r C u sto m e r
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-22
Data Flow Diagram Errors
Data stores or external entities are
connected directly to each other, in any
combination
C u sto m e r D1 C u sto m e r
V e n do r D2 V e n do r M a ste r
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-23
Data Flow Diagram Errors
Incorrectly labeling data flow or objects
Examples are
Labels omitted from data flow or objects
Data flow labeled with a verb
Processes labeled with a noun
Too many processes on a data flow
diagram
Nine is the suggested maximum
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-24
Data Flow Diagram Errors
Omitting data flow from the diagram
Unbalanced decomposition between a
parent process and a child diagram
The data flow in and out of a parent
process must be present on the child
diagram
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-25
Logical Data Flow Diagrams
Logical data flow diagrams show how
the business operates
They have processes that would exist
regardless of the type of system
implemented
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-26
Data Flow Diagram
Progression
The progression of creating data flow
diagrams is
Create a logical DFD of the current system
Next add all the data and processes not in
the current system which must be present
in the new system
Finally derive the physical data flow
diagram for the new system
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-27
Logical Data Flow Diagrams
Advantages
Advantages of logical DFDs are
Better communication with users
More stable systems, since the design is
based on a business framework
Increased understanding of the business
by analysts
The system will have increased flexibility
and be easier to maintain
Elimination of redundancy
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-28
Physical Data Flow Diagrams
Physical data flow diagrams show how
the system operates or how the new
system will be implemented
Physical data flow diagrams include
Clarifying which processes are manual and
which are automated
Describing processes in greater detail
Sequencing processes in the order they
must be executed
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-29
Physical Data Flow Diagrams
Physical data flow diagrams include
Temporary data stores and transaction files
Specifying actual document and file names
Controls to ensure accuracy and
completeness
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-30
CRUD
Physical data flow diagrams include
processes for adding, reading,
changing, and deleting records
CRUD is an acronym for Create, Read,
Update, Delete
A CRUD matrix shows which programs
or processes add, read, update, or
delete master file records
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-31
Transaction Files
Master or transaction files are used to
link all processes that operate at
different times
They are required to store the data
from the process that creates the data
to the process that uses the data
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-32
Triggers and Events
An input flow from an external entity is
sometimes called a trigger, since it
starts activities
Events are activities that happen within
the system
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-33
Event Driven Data Flow
Diagrams
Another approach used to create a data
flow fragment is to analyze events,
which are summarized in an event table
Events are either
External, coming from outside the system,
or
Temporal, which occur at fixed times
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-34
Event Tables
An event table is used to create a data
flow diagram by analyzing each event
and the data used and produced by the
event
Every row in an event table represents
a unique activity and is used to create
one process on the data flow diagram
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-35
Use Case and Data Flow
Diagrams
Creating a use case is another approach
used to develop a data flow diagram
A use case is used to create a data flow
diagram by providing a framework for
obtaining processes, input, output, and
data stores required for user activities
A use case shows the steps performed
to accomplish a task
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-36
Use Case
The major sections of a use case are
Use case name
Description
Trigger
Trigger type
Input name and source
Output name and destination
Steps performed
Information required for each step
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-37
Partitioning
Partitioning is the process of analyzing a
data flow diagram and deriving a series
of manual procedures and computer
programs
A dashed line is drawn around a group
of processes that are included in each
computer program or manual procedure
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-38
Manual Procedures
A manual procedure is performed by
people
Manual processes have manual input
and manual output
Computer processing not used with
manual processes
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-39
Batch Processes
If the data flow into and out of a
process is entirely computer
information, the process is called a
batch process
Batch processes do not require any
human intervention
A job stream is several separate
programs running back-to-back, usually
a series of batch processes
Kendall & Kendall 9-40
Copyright © 2002 by Prentice Hall, Inc.
User Interface
A user interface represents a screen, a
data entry operation, a report, or some
other means for persons to interact with
a computer
It occurs when the data flow links a
manual and an automated process
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-41
Reasons for Partitioning
The reasons for partitioning a data flow
diagram into separate computer
programs are
Different user groups should have different
programs
Processes that execute at different times
must be in separate programs
Processes may be separated into different
programs for security
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-42
Reasons for Partitioning
Similar tasks may be included in the
same program
Several batch processes may be
included in the same program for
efficiency
Several processes may be included in
the same program or job stream for
consistency of data
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-43
Using Data Flow Diagrams
Data flow diagrams can be used for
several different purposes:
Unexploded data flow diagrams are useful
to identify information requirements
Exploded data flow diagrams can be used
for presentation, education, and gathering
feedback information from users
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-44
Using Data Flow Diagrams
DFDs may be used to analyze the
system to ensure that the design is
complete
DFDs are used to partition the system
into programs
Data flow diagrams can be used for the
system documentation
Kendall & Kendall Copyright © 2002 by Prentice Hall, Inc. 9-45