8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
1/48
Using Dataflow
Diagrams
Systems Analysis and Design, 7eKendall & Kendall
7
2008 Pearson Prentice Hall
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
2/48
Kendall & Kendall 7-2
Learning Objectives
Comprehend the importance of using logical andphysical data flow diagrams (DFDs) to graphicallydepict movement for humans and systems in an
organization Create, use, and explode logical DFDs to capture andanalyze the current system through parent and childlevels
Develop and explode logical DFDs that illustrate the
proposed system Produce physical DFDs based on logical DFDs youhave developed
Understand and apply the concept of partitioning ofphysical DFDs
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
3/48
Kendall & Kendall 7-3
Data Flow Diagrams
Graphically characterize data processesand flows in a business system
Depict:
System inputs
Processes
outputs
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
4/48
Kendall & Kendall 7-4
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
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
5/48
Kendall & Kendall 7-5
Advantages of the Data Flow
Approach Freedom from committing to the
technical implementation too early
Understanding of the interrelatednessof systems and subsystems
Communicating current system
knowledge to users
Analysis of the proposed system
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
6/48
Kendall & Kendall 7-6
Basic Symbols
A double square for an external entity
An arrow for movement of data from
one point to anotherA rectangle with rounded corners for
the occurrence of a transforming
processAn open-ended rectangle for a data
store
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
7/48Kendall & Kendall 7-7
Figure 7.1The four basic symbols used in dataflow diagrams, their meanings, and examples
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
8/48Kendall & Kendall 7-8
External Entities
Represent another department, abusiness, a person, or a machine
A source or destination of data, outsidethe boundaries of the system
Should be named with a noun
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
9/48Kendall & Kendall 7-9
Data Flow
Shows movement of data from onepoint to another
Described with a noun
Arrowhead indicates the flow direction
Represents data about a person, place,or thing
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
10/48Kendall & Kendall 7-10
Process
Denotes a change in or transformation ofdata
Represents work being performed in thesystem
Naming convention Assign the name of the whole system when
naming a high-level process
To name a major subsystem attach the wordsubsystem to the name Use the form verb-adjective-noun for detailed
processes
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
11/48Kendall & Kendall 7-11
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:
Filing cabinet Database
Computerized file
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
12/48Kendall & Kendall 7-12
Figure 7.2Steps in developing
data flow diagrams
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
13/48Kendall & Kendall 7-13
Creating the Context Diagram
The highest level in a data flow diagram
Contains only one process, representingthe entire system
The process is given the number 0
All external entities, as well as Majordata flows are shown
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
14/48Kendall & Kendall 7-14
Figure 7.3Context diagram
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
15/48
Kendall & Kendall 7-15
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
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
16/48
Kendall & Kendall 7-16
Drawing Diagram 0 (Continued)
Start with the data flow from an entityon the input side
Work backwards from an output dataflow
Examine the data flow to or from a data
storeAnalyze a well-defined process
Take note of any fuzzy areas
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
17/48
Kendall & Kendall 7-17
Figure 7.3Note the greater
detail in diagram 0
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
18/48
Kendall & Kendall 7-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 lowerlevel
The lower level diagram number is the
same as the parent process number Processes that do not create a child
diagram are called primitive
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
19/48
Kendall & Kendall 7-19
Creating Child Diagrams
Each process on diagram 0 may beexploded to create a child diagram
A child diagram cannot produce outputor receive input that the parent processdoes not also produce or receive
The child process is given the same
number as the parent process Process 3 would explode to Diagram 3
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
20/48
Kendall & Kendall 7-20
Creating Child Diagrams
(Continued) Entities are usually not shown on the
child diagrams below Diagram 0
If the parent process has data flowconnecting to a data store, the childdiagram may include the data store aswell
When a process is not exploded, it iscalled a primitive process
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
21/48
Kendall & Kendall 7-21
Figure 7.4Differences between the parentdiagram (above) and the child diagram (below)
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
22/48
Kendall & Kendall 7-22
Checking the Diagrams for Errors
Forgetting to include a data flow orpointing an arrow in the wrong direction
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
23/48
Kendall & Kendall 7-23
Checking the Diagrams for
Errors (Continued) Connecting data stores and external
entities directly to each other
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
24/48
Kendall & Kendall 7-24
Checking the Diagrams for
Errors (Continued) Incorrectly labeling processes or data
flow
Including more than nine processes ona data flow diagram
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
25/48
Kendall & Kendall 7-25
Checking the Diagrams for
Errors (Continued) Omitting data flow
Creating unbalanced decomposition (or
explosion) in child diagrams
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
26/48
Kendall & Kendall 7-26
Figure 7.5Typical errors that can occurin a data flow diagram (payroll example)
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
27/48
Kendall & Kendall 7-27
Logical and Physical Data FlowDiagrams
Logical Focuses on the business and how the business
operates
Not concerned with how the system will beconstructed
Describes the business events that take place andthe data required and produced by each event
Physical Shows how the system will be implemented
Depicts the system
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
28/48
Kendall & Kendall 7-28
Figure 7.7Features common of logicaland physical data flow diagrams
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
29/48
Kendall & Kendall 7-29
Figure 7.8The progression ofmodels from logical to physical
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
30/48
Kendall & Kendall 7-30
Developing Logical Data Flow
Diagrams Better communication with users
More stable systems
Better understanding of the business byanalysts
Flexibility and maintenance
Elimination of redundancy and easiercreation of the physical model
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
31/48
Kendall & Kendall 7-31
Developing Physical Data FlowDiagrams
Clarifying which processes are performed byhumans and which are automated
Describing processes in more detail Sequencing processes that have to be done ina particular order
Identifying temporary data stores
Specifying actual names of files and printouts Adding controls to ensure the processes are
done properly
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
32/48
Kendall & Kendall 7-32
Figure 7.10Physical data flow diagramscontain many items not found in logical data
flow diagrams
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
33/48
Kendall & Kendall 7-33
Event Modeling and Data FlowDiagrams
An input flow from an external entity issometimes 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 flowdiagrams is to create a data flow diagramfragment for each unique system event
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
34/48
Kendall & Kendall 7-34
Event Response Tables
An event table is used to create a dataflow diagram by analyzing each event
and the data used and produced by theevent
Every row in an event table represents
a data flow diagram fragment and isused to create a single process on adata flow diagram
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
35/48
Kendall & Kendall 7-35
Figure 7.12An event responsetable for an Internet storefront
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
36/48
Kendall & Kendall 7-36
Figure 7.13Data flow diagrams for the firstthree rows of the Internet storefront event
response table
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
37/48
Kendall & Kendall 7-37
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 tounderstand the nature of the processesand activities and then create a single
data flow diagram fragment
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
38/48
Kendall & Kendall 7-38
Partitioning Data Flow Diagrams
Partitioning is the process of examining adata flow diagram and determining how it
should be divided into collections of manualprocedures and computer programs
A dashed line is drawn around a process orgroup of processes that should be placed in a
single computer program
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
39/48
Kendall & Kendall 7-39
Reasons for Partitioning
Different user groups
Timing
Processes may be separated into differentprograms for security
Similar tasks
Efficiency Consistency
Security
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
40/48
Kendall & Kendall 7-40
Partitioning Web Sites
Improves the way humans use the site
Improves speed of processing
Ease of maintaining the site
Keep the transaction secure
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
41/48
Kendall & Kendall 7-41
Communicating UsingData Flow Diagrams
Use unexploded data flow diagramsearly when ascertaining information
requirements Meaningful labels for all data
components
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
42/48
Kendall & Kendall 7-42
Summary
Data flow diagrams Structured analysis and design tools that
allow the analyst to comprehend the system
and subsystems visually as a set ofinterrelated data flows
DFD symbols Rounded rectangle
Double square An arrow Open-ended rectangle
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
43/48
Kendall & Kendall 7-43
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
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
44/48
Kendall & Kendall 7-44
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
Example 1:
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
45/48
Example 1:
Lincoln Pizzas ordering system
Lincoln Pizza is a small restaurant on Lincoln Ave. Most of its customers are students. Inthe current manual ordering system, the restaurant employees have to go through threedifferent activities in order to process a pizza order.
The first activity, called Receiving the order, consists in getting customers information(such as name, phone number, and address), and getting orders information (such as the
pizza size, the type of crust, and the ingredients needed to make the pizza). The sameprocess also checks the availability of the ingredients needed before setting the status ofthe pizza order as valid. When a pizza order is valid, the employee in charge of Receivingthe order provides the valid order information to the cooks who make the pizza.
The second activity, Making the pizza, consists in getting the ingredients needed (fromcontainers in the kitchen) and actually cooking the pizza. At the end of that process, the
cooks have to update the manual file that keeps track of the ingredients. They, then,provide the drivers in charge of delivering the pizza with the (completed) status of theorder.
The final activity, Delivering the pizza, done by the drivers consists in getting address andpayment information from the employee in charge of Receiving the order, and actuallydelivering the pizza. The drivers provide the customers with a receipt and get the payment.
Kendall & Kendall 7-45
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
46/48
Kendall & Kendall 7-46
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
47/48
Kendall & Kendall 7-47
8/10/2019 Kendall7e_ch07 Using Dataflow Diagrams
48/48
Example 2:
Scargill Ltd is a distributor of imported ironmongery with a manual accounting system inwhich sales orders and invoicing are carried out as follows
Orders are received by the sales order/invoicing department, mainly by telephone.
On receipt, an official order form is prepared and passed to the sales ledger clerk to be
vetted for creditworthiness of the customer.
From there it is passed to the dispatch department to prepare pre-numbered dispatchdocuments and assemble the goods for dispatch.
The dispatch department then prepares a delivery schedule for delivering the variousorders by its own transport. After delivery a copy of each delivery note, signed by thecustomer, is returned to the dispatch department for matching with the original.
The dispatch department accounts for all dispatch note numbers and passes executednotes to the sales order/invoicing department for invoice typing.
The invoicing department dispatches top copy invoices direct to the customers and thesecond copies go to the ledger clerk for entry into the sales journal and posting to thesales ledger.