Using Data Flow Diagrams
Kendall & Kendall
Systems Analysis and Design
Learning Objectives
Comprehend the importance of using logical and physical data
flow diagrams (DFDs) to graphically depict movement for
humans and systems in an organization.
Create, use, and explode logical DFDs to capture and analyze
the current system through parent and child levels.
Develop and explode logical DFDs that illustrate the proposed
system.
Produce physical DFDs based on logical DFDs you have
developed.
Understand and apply the concept of partitioning of physical
DFDs.
Data Flow Diagrams
Graphically characterize data processes and
flows in a business system
Describe:
– System inputs
– Processes
– Outputs
Major Topics
Data flow diagram symbols
Data flow diagram levels
Creating data flow diagrams
Physical and logical data flow diagrams
Partitioning
Communicating using data flow diagrams
Advantages of the Data Flow
Approach
Freedom from committing to the technical
implementation too early
Understanding of the interrelatedness of
systems and subsystems
Communicating current system knowledge to
users
Analysis of the proposed system
Basic Symbols
A double square for an external entity
An arrow for movement of data from one
point to another
A rectangle with rounded corners for the
occurrence of a transforming process
An open-ended rectangle for a data store
The Four Basic Symbols Used in Data Flow
Diagrams, Their Meanings, and Examples
External Entities
Represent another department, a business, a
person, or a machine
A source or destination of data, outside the
boundaries of the system
Should be named with a noun
Data Flow
Shows movement of data from one point to
another
Described with a noun
Arrowhead indicates the flow direction
Represents data about a person, place, or
thing
Process
Indicates a change in or transformation of data
Represents work being performed in the system
Naming convention:
– Assign the name of the whole system when naming a
high-level process
– To name a major subsystem attach the word subsystem
to the name
– Use the form verb-adjective-noun for detailed processes
Data Store
A depository for data that allows examination,
addition, and retrieval of data
Named with a noun, describing the data
Data stores are usually given a unique reference
number, such as D1, D2, D3
Represents a:
– Database
– Computerized file
– Filing cabinet
Steps in
Developing
Data Flow
Diagrams
Creating the Context Diagram
The highest level in a data flow diagram
Contains only one process, representing the
entire system
The process is given the number 0
All external entities, as well as major data
flows are shown
Basic Rules
The data flow diagram must have one process
Must not be any freestanding objects
A process must have both an input and output data
flow
A data store must be connected to at least one
process
External entities should not be connected to one
another
Context Diagram
Drawing Diagram 0
The explosion of the context diagram
May include up to nine processes
Each process is numbered
Major data stores and all external entities are
included
Drawing Diagram 0 (continued)
Start with the data flow from an entity on the
input side
Work backward from an output data flow
Examine the data flow to or from a data store
Analyze a well-defined process
Take note of any fuzzy areas
Note Greater Detail in Diagram 0
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
Creating Child Diagrams
Each process on diagram 0 may be exploded
to create a child diagram
A child diagram cannot produce output or
receive input that the parent process does not
also produce or receive
The child process is given the same number
as the parent process
– Process 3 would explode to Diagram 3
Creating Child Diagrams
(continued)
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
When a process is not exploded, it is called a
primitive process
Differences
between the
Parent
Diagram
(above) and
the Child
Diagram
(below)
Data Flow Diagrams Error Summary
Forgetting to include a data flow or pointing
an arrow in the wrong direction
Connecting data stores and external entities
directly to each other
Incorrectly labeling processes or data flow
Data Flow Diagrams Error Summary
(continued)
Including more than nine processes on a
data flow diagram
Excluding data flow
Creating unbalanced decomposition (or
explosion) in child diagrams
Checking the Diagrams for Errors
Forgetting to include a data flow or pointing
an arrow in the wrong direction
Checking the Diagrams for Errors
Connecting data stores and external entities
directly to each other
Typical
Errors that
can Occur
in a Data
Flow
Diagram
(Payroll
Example)
Logical and Physical Data Flow
Diagrams
Logical
– Focuses on the business and how the business
operates
– Not concerned with how the system will be
constructed
– Describes the business events that take place
and the data required and produced by each
event
Logical and Physical Data Flow
Diagrams
Physical
– Shows how the system will be implemented
– Depicts the system
Features Common of Logical and Physical Data Flow
Diagrams
The
Progression of
Models from
Logical to
Physical
Logical Data Flow Diagram Example
Physical Data Flow Diagram Example
Developing Logical Data Flow
Diagrams
Better communication with users
More stable systems
Better understanding of the business by
analysts
Flexibility and maintenance
Elimination of redundancy and easier
creation of the physical model
Developing Physical Data Flow
Diagrams
Clarifying which processes are performed by
humans and which are automated
Describing processes in more detail
Sequencing processes that have to be done in a
particular order
Identifying temporary data stores
Specifying actual names of files and printouts
Adding controls to ensure the processes are done
properly
Physical Data Flow Diagrams Contain Many Items
Not Found in Logical Data Flow Diagrams
CRUD Matrix
The acronym CRUD is often used for
– Create
– Read
– Update
– Delete
These are the activities that must be present in a
system for each master file
A CRUD matrix is a tool to represent where each of
these processes occurs in a system
Event Modeling and Data Flow
Diagrams
An input flow from an external entity is sometimes
called a trigger because it starts the activities of a
process
Events cause the system to do something and act as
a trigger to the system
An approach to creating physical data flow diagrams
is to create a data flow diagram fragment for each
unique system event
Event Response 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
data flow diagram fragment and is used to
create a single process on a data flow
diagram
An Event Response Table for
an Internet Storefront
Data Flow Diagrams for the First Three Rows
of the Internet Storefront Event Response
Table
Use Cases and Data Flow
Diagrams
Each use case defines one activity and its
trigger, input, and output
Allows the analyst to work with users to
understand the nature of the processes and
activities and then create a single data flow
diagram fragment
Partitioning Data Flow Diagrams
Partitioning is the process of examining a data flow
diagram and determining how it should be divided
into collections of manual procedures and computer
programs
A dashed line is drawn around a process or group of
processes that should be placed in a single
computer program
Reasons for Partitioning
Different user groups
Timing
Similar tasks
Efficiency
Consistency of data
Security
Partitioning Websites
Improves the way humans use the site
Improves speed of processing
Ease of maintaining the site
Keep the transaction secure
Communicating Using
Data Flow Diagrams
Use unexploded data flow diagrams early
when ascertaining information requirements
Meaningful labels for all data components
Summary
Data flow diagrams
– Structured analysis and design tools that allow the
analyst to comprehend the system and subsystems
visually as a set of interrelated data flows
DFD symbols
– Rounded rectangle
– Double square
– An arrow
– Open-ended rectangle
Summary (continued)
Creating the logical DFD
– Context-level data flow diagram
– Level 0 logical data flow diagram
– Child diagrams
Creating the physical DFD
– Create from the logical data flow diagram
– Partitioned to facilitate programming
Summary (continued)
Partitioning data flow diagrams
– Whether processes are performed by different user
groups
– Processes execute at the same time
– Processes perform similar tasks
– Batch processes can be combined for efficiency of
data
– Processes may be partitioned into different
programs for security reasons