How to Draw a Data Flow Diagram (DFD)

advertisement
Data Flow Diagram
(DFD)
Review
Learning Objective
This collection of slides will review the
technique of drawing data flow diagrams.
Data Flow Diagramming
Page 1
What is a Data Flow Diagram?
• A data flow diagram (DFD) is a graphical
tool that allows system analysts (and system
users) to depict the flow of data in an
information system.
• The DFD is one of the methods that system
analysts use to collect information
necessary to determine information system
requirements.
Data Flow Diagramming
Page 2
What is a Data Flow Diagram?
• A Data Flow Diagram is intended to serve
as a communication tool among
–
–
–
–
–
systems analysts
end users
data base designers
system programmers
other members of the project team
Data Flow Diagramming
Page 3
What does a DFD look like?
Data Flow Diagramming
Page 4
Why Draw Data Flow Diagrams?
• To clearly and concisely communicate the
flow of data through a system.
• Why use a DFD and not just text?
– “Since we previously had no way of showing a tangible
model, we have had to build the next best thing, which is to
use English narrative to describe the proposed system. Can
you imagine spending five years’ salary on a custom built
house on the basis of an exhaustive narrative description of
how the house will be built? ... If you use English to describe
a complex system... the result takes up so much space that
it’s hard for the reader to grasp how the parts fit together
(Gane and Sarson, Structured System Analysis, 1974)
• DFD’s are easier to understand than text.
Data Flow Diagramming
Page 5
DFD Symbols and Definitions
Process
Data store
External
Entity
Data flow
• Process - performs some action on
data, such as creates, modifies,
stores, delete, etc. Can be manual
or supported by computer.
• Data store - information that is
kept and accessed. May be in
paper file folder or a database.
• External entity - is the origin or
destination of data. Entities are
external to the system.
• Data flow - the flow of data into or
out of a process, datastore or entity
Data Flow Diagramming
Page 6
Rules for Drawing DFD’s
A minimum of one data flow
in and one data flow out of
a process
A datastore must be
connected to a process
(either in, out, or both)
An external entity must
be connected to a process
(either in, out, or both)
A single data flow must
only flow one way
Data Flow Diagramming
Page 7
DFD: Common Mistakes
• Process has no data flowing
into it, but has data flowing
out.
• Data store is hooked to
external entity. This means
external entity can read and
write to your data file
without auditing!!
• The data flow goes in two
directions at once. Two or
more arrows should be used
to show the flow to and
from each process.
Data Flow Diagramming
Page 8
DFD Example 1
• The Broadway Entertainment Company
– An important first step to consider is to look at the key
processes under study. These can be itemized into a
hierarchical series, where the highest level (level 0)
describes a general department, or business unit, to the
lowest level. The lowest level is a point where you cannot
break a process into any more divisible components.
These are referred to as functional primitives.
Data Flow Diagramming
Page 9
DFD: Adding Levels of Detail
• The highest level, called the context diagram, is only
an overview. More detail is typically needed for
system analysts.
• We add detail to a DFD by creating “levels”. The first
level added after the context diagram is called level
“0”.
• Each new level breaks apart one process and
“decomposes” the single process into a new, more
detailed DFD. A complete DFD can have many (up to
6 or 7) levels depending on the complexity of system.
• Breaking the DFD into levels is referred to as
“Decomposition”.
Data Flow Diagramming
Page 10
DFD: Numbering Levels
• In a DFD with many levels it’s easy to forget
which level you are on. That’s why each level has
different numbering for the processes on the
diagram. The ‘level’ corresponds to the number of
decimal places required to define a process in it.
Here’s how it works:
–
–
–
–
Context Diagram
Level 0
Level 1
Level 2
Process labeled “0”
Processes labeled 1.0, 2.0, 3.0, .
Processes labeled 1.1, 1.2, 1.3, .
Processes labeled 1.11, 1.12,...
Data Flow Diagramming
Page 11
Top (0) Process Level
Broadway Entertainment System
In-Store System
0
Membership
1
Rental
2
Sales
3
Data Flow Diagramming
Inventory
4
Employee
5
Page 12
Level 1: Membership
Membership
1
Enrol
1.1
Issue New Card
1.2
Reinstate
1.3
Data Flow Diagramming
Transient
1.4
Page 13
Level 1: Rental
(note this is the primitive level for this series of processes)
Rental
2
Rent
2.1
Return
2.2
Data Flow Diagramming
Reports
2.3
Page 14
Level 1: Sales
Sales
3
Process Sales
3.1
Process Returns
3.2
Data Flow Diagramming
Page 15
Level 1: Inventory
Inventory
4
Order
4.1
Receipt
4.2
Reject
4.3
Data Flow Diagramming
Transfer
4.4
Page 16
Level 1: Employee
Employee
5
Time Reporting
5.1
Add / Delete
5.2
Data Flow Diagramming
Page 17
Level 2: Membership
Membership
1
Enrol
1.1
Input Member Data
1.1.1
Assign Member Number
1.1.2
Update Member File
1.1.3
Issue New Card
1.2
Input Member Number
1.2.1
Print Card
1.2.2
Reinstate
1.3
Input Member Number
1.3.1
Update Member File
1.3.2
Transient
1.4
Input Member Number
1.4.1
Update Transient Rental File
1.4.2
Data Flow Diagramming
Page 18
Level 2: Sales
Sales
3
Process Sales
3.1
Input Member Number
3.1.1
Input Item Data
3.1.2
Update Sales File
3.1.3
Print Receipt
3.1.4
Process Returns
3.2
Input Item Data
3.2.1
Update Sales File
3.2.2
Data Flow Diagramming
Print Receipt
3.2.3
Page 19
Level 2: Inventory
Inventory
4
Order
4.1
Issue Purchase Order
4.1.1
4.1.2
Receipt
4.2
Input Item Data
4.2.1
Update Inventory File
4.2.2
Update Receipts File
4.2.3
Reject
4.3
Input Order Item
4.3.1
Update Rejection Report File
4.3.2
Transfer
4.4
Input Item Number
4.4.1
Update Inventory Files
4.4.2
Data Flow Diagramming
Page 20
Level 2: Employee
Employee
5
Time Reporting
5.1
Input Employee Number
5.1.1
Input Time Sheet Data
5.1.2
Add / Delete
5.2
Add
5.2.1
Input Employee Data
5.2.2
Assign Employee Number
5.2.3
Update Employee File
5.2.4
Delete
5.3
Input Employee Number
5.3.1
Update Employee File
5.3.2
Data Flow Diagramming
Page 21
DFD Levels: Context Diagram
• First we can start to draw a general
overview. This general overview is called a
“Context Diagram”.
• A Context Diagram shows three things:
– all external entities
– a single process labeled “0”that represents the
entire system (food ordering system)
– the major information flows between the
external entities and the system.
Data Flow Diagramming
Page 22
DFD Levels: Context Diagram
• It would be impossible to understand all of
the data flows, and to identify all of the
‘external entities’ relating to our
information system in one pass, so we tend
to draw DFD’s incrementally.
Data Flow Diagramming
Page 23
Building a DFD
• We tend to start at the context level, break
processes down to Level 0, and then start to
consider where data enters and exits our
information system, where it is stored, and
how a process converts it from one form to
another. We are interested here in the
movement of data and its conversion.
Data Flow Diagramming
Page 24
Building a DFD
• Note that a DFD is NOT time-sensitive, and
that it is NOT a flowchart. It simply shows
how and where data itself progresses
through our system.
• There are other ways to add information to
a chart, such as what departments are
responsible for certain activities, or which is
batch, realtime, etc.
Data Flow Diagramming
Page 25
DFD: Logical vs Physical
• Note that the Context Diagram did NOT
record the movement of merchandise, but
rather the information flow surrounding the
underlying business processes.
– A DFD that shows the movement of
information is called a “logical” DFD.
– A DFD that shows the movement of physical
stuff (such as merchandise) is called a
“physical” DFD.
• The logical DFD is by far the most common
type of DFD and therefore we will focus on
this in this class.
Data Flow Diagramming
Page 26
DFD for Broadway
• Corresponding to the Process Structure
Charts previously outlined, Broadway’s
DFD can be drawn as per the following
charts:
Data Flow Diagramming
Page 27
Context Level
(note there are no storage elements at this level)
Data Flow Diagramming
Page 28
Level 0
Data Flow Diagramming
Page 29
DFD: Some Final Notes
• How many processes on a diagram?
– rule of thumb is to have 5 - 7 processes, if you
need more, create a new level.
• Are there conventions for naming objects?
– process names are verb phrases
– all others are noun phrases
• How many levels should you go?
– Only as many as you need to communicate
adequately. The key is efficient communication.
Data Flow Diagramming
Page 30
What have we learned?
•
•
•
•
What is a DFD and Why do we use DFD’s?
What are the rules for drawing DFD?
What is a Context Diagram?
What is the difference between logical and
physical DFD?
• What is a Level 0 DFD?
• What is balancing and decomposition?
Data Flow Diagramming
Page 31
Epilogue
• The Broadway Entertainment Company
DFD was created with the IBM Case tool –
Rationale Rose
Data Flow Diagramming
Page 32
Download