ME4607_L4-Using Data Flow Diagram
ME4607_L4-Using Data Flow Diagram
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 5
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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 6
Basic Symbols
A 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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 7
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 8
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 9
Process
Denotes 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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 10
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 11
Steps in Developing Data
Flow Diagrams
(Figure 7.2)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 12
1. Creating the Context Diagram
The initial context diagram should be an overview of data movement in the system , including
basic inputs, the general system, and outputs.
The context diagram is the highest level in a DFD and 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 and is fairly simple to create once the external
entities and the data flow to and from them are known to analysts
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 13
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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 14
2. Drawing Diagram 0 (The Next Level)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 15
2. 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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 17
Guided Questions
3. Examine the data flow to or from a data store
Ask “What processes put data into the store?” or
“What processes use the data?”
Note that a data store used in the system may be produced by a different system.
Thus, from your vantage point, there may not be any data flow into the data store.
4. Analyze a well-defined process
Look at what input data the process needs and what output it produces.
Then connect the input and output to the appropriate data stores and entities.
5. Take note of any fuzzy areas where you are unsure of what should be
included or what input or output is required.
Awareness of problem areas will help you formulate a list of questions for follow-up
interviews with key users.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 18
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
Nguyên thủy
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 19
3. Creating Child Diagrams
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 20
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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 21
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 22
4. Checking Diagrams for Errors
1. Forgetting to include a data flow or pointing an arrow in the wrong
direction.
Each process transforms data and must receive input and produce output.
You may forget to include a data flow or has placed an arrow pointing in the
wrong direction.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 23
4. Checking Diagrams for Errors
2. Connecting data stores and external
entities directly to each other.
Data stores and entities may not be
connected to each other; data stores
and external entities must connect with
a process.
A file does not interface with another
file without the help of a program or a
person moving the data.
EMPLOYEE MASTER cannot directly
produce the CHECK RECONCILIATION
file.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 24
4. Checking Diagrams for Errors
2. Connecting data stores and external
entities directly to each other.
External entities do not directly work
with files.
For example, you would not want a
customer rummaging around in the
customer master file.
EMPLOYEE does not create the
EMPLOYEE TIME FILE.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 25
4. Checking Diagrams for Errors
3. Incorrectly labeling processes or
data flow.
Inspect the DFD to ensure that each
object or data flow is properly labeled.
A process should indicate the system
name or use the verb–adjective–noun
format.
Each data flow should be described
with a noun.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 26
4. Checking Diagrams for Errors
4. Including more than nine
processes on a DFD.
Having too many processes
creates a cluttered diagram that is
confusing to read and hinders
rather than enhances
communication.
If more than nine processes are
involved in a system, group some
of the processes that work
together into a subsystem and
place them in a child diagram.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 27
4. Checking Diagrams for Errors
5. Omitting data flow.
In the case of very detailed child DFDs, linear data flow is somewhat rare.
CALCULATE WITHHOLDING AMOUNT process needs the number of dependents that an employee
has and the WITHHOLDING RATES as input.
Incorrected Corrected
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 28
4. Checking Diagrams for Errors
5. Omitting data flow.
NET PAY cannot be calculated solely
from the WITHHOLDING, and the
EMPLOYEE PAYCHECK cannot be
created from the NET PAY alone; it
also needs to include an EMPLOYEE
NAME and the current and year-to-
date payroll and WITHHOLDING
AMOUNT figures
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 29
4. Checking Diagrams for Errors
6. Creating unbalanced decomposition (or explosion) in child diagrams.
Each child diagram should have the same input and output data flow as the parent
process.
An exception to this rule is minor output, such as error lines, which are included only on
the child diagram.
Note that although the data flow is not linear, you can clearly follow a path directly from
the source entity to the destination entity.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 30
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 31
Logical and Physical Data Flow Diagrams
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 32
The progression of models from logical to physical
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 33
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 34
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 34
Developing Logical Data Flow Diagrams
Advantages to using a logical model:
1. Better communication with users - centered on business activities.
2. More stable systems - based on business events and not on a particular
technology or method of implementation.
3. Better understanding of the business by analysts
4. Flexibility and maintenance
5. Elimination of redundancy and easier creation of the physical model
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 35
Developing Physical Data Flow Diagrams
Advantages to using a physical model:
1. Clarifying which processes are performed by humans and which are
automated.
2. Describing processes in more detail.
3. Sequencing processes that have to be done in a particular order.
4. Identifying temporary data stores.
5. Specifying actual names of files and printouts.
6. Adding controls to ensure the processes are done properly.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 36
Physical Data Flow Diagrams Contain Many Items Not Found in
Logical Data Flow Diagrams (Figure 7.10)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 37
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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 38
CRUD Matrix (Figure 7.11)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 39
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 40
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 41
An Event Response Table for an Internet Storefront (Figure 7.12)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 44
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 45
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.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 46
Reasons for Partitioning
Different user groups
Are the processes performed by several different user groups, often at different physical
locations in the company? If so, they should be partitioned into different computer programs.
Timing
Processes that execute at different times must be in separate programs.
Similar tasks
May be included in the same program.
Efficiency
Several batch processes may be included in the same program for efficiency.
Consistency of data
Several processes may be included in the same program or job stream for consistency of data.
Security
May be partitioned into different programs for security reasons.
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 47
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
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 48
Summary (continued)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 49
Summary (continued)
Kendall & KendallCopyright © 2020 Pearson Education, Inc. Publishing as Prentice Hall 50
References
Kenneth E. Kendall, Julie E. Kendall. (2020). Systems Analysis Design. 10th Edition,
Pearson.
THANK YOU
Enjoy!
njrin@tu.ac.th