Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 33

Software Engineering

Lecture 6:
The Data Flow Diagram (DFD)
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.
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
What does a DFD look like?
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.


DFD Symbols and Definitions
Process • Process - performs some action on data,
such as creates, modifies, stores, delete,
etc. Can be manual or supported by
computer.

Data store • Data store - information that is kept and


accessed. May be in paper file folder or a
database.

• External entity - is the origin or


External
destination of data. Entities are external
Entity
to the system.

• Data flow - the flow of data into or out of


Data flow a process, datastore or entity
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
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.
Creating a set of DFDs
• Create a graphical model of the information system
based on your fact-finding results
• Create a set of DFDs by performing three main tasks
– Step 1: Draw a context diagram, including all external
entities and the major data flow to or from them
– Step 2: Draw a diagram 0 Level DFD by analyzing the major
activities within the context process
• Include the external entities and major data stores
– Step 3: Draw the lower-level diagrams for each complex
process on Diagram 0
Creating a set of DFDs
• 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”.
Creating a set of DFDs
• 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 Process labeled “0”


– Level 0 Processes labeled 1.0, 2.0, 3.0, .
– Level 1 Processes labeled 1.1, 1.2, 1.3, .
– Level 2 Processes labeled 1.1.1, 1.1.2,..
DFD Example 1: Context Diagram
DFD Example 1: DFD Level 0
DFD Example 2
• 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.
Top (0) Process Level

B r o a d w a y E n t e r t a in m e n t S y s t e m

In -S to re S y s te m
0

M e m b e r s h ip R e n ta l S a le s In v e n to ry E m p lo y e e
1 2 3 4 5
Level 1: Membership

M e m b e r s h ip
1

E n ro l Is s u e N e w C a rd R e in s t a t e T r a n s ie n t
1 .1 1 .2 1 .3 1 .4
Level 1: Rental
(note this is the primitive level for this series of processes)

R e n ta l
2

R ent R e tu rn R e p o rts
2 .1 2 .2 2 .3
Level 1: Sales

S a le s
3

P r o c e s s S a le s P ro c e s s R e tu rn s
3 .1 3 .2
Level 1: Inventory

In v e n to ry
4

O rd e r R e c e ip t R e je c t T r a n s fe r
4 .1 4 .2 4 .3 4 .4
Level 1: Employee

E m p lo y e e
5

T im e R e p o r t in g A d d / D e le t e
5 .1 5 .2
Level 2: Membership
M e m b e r s h ip
1

E n ro l
1 .1

In p u t M e m b e r D a ta A s s ig n M e m b e r N u m b e r U p d a t e M e m b e r F ile
1 .1 .1 1 .1 .2 1 .1 .3

Is s u e N e w C a rd
1 .2

In p u t M e m b e r N u m b e r P r in t C a r d
1 .2 .1 1 .2 .2

R e in s t a te
1 .3

In p u t M e m b e r N u m b e r U p d a t e M e m b e r F ile
1 .3 .1 1 .3 .2

T r a n s ie n t
1 .4

In p u t M e m b e r N u m b e r U p d a t e T r a n s ie n t R e n t a l F ile
1 .4 .1 1 .4 .2
Level 2: Sales

S a le s
3

P r o c e s s S a le s
3 .1

In p u t M e m b e r N u m b e r In p u t Ite m D a ta U p d a t e S a le s F ile P r in t R e c e ip t
3 .1 .1 3 .1 .2 3 .1 .3 3 .1 .4

P ro c e s s R e tu rn s
3 .2

In p u t Ite m D a ta U p d a t e S a le s F ile P r in t R e c e ip t
3 .2 .1 3 .2 .2 3 .2 .3
Level 2: Inventory
In v e n to ry
4

O rd e r
4 .1

Is s u e P u rc h a s e O rd e r 4 .1 .2
4 .1 .1

R e c e ip t
4 .2

In p u t Ite m D a ta U p d a t e I n v e n t o r y F ile U p d a t e R e c e ip t s F ile


4 .2 .1 4 .2 .2 4 .2 .3

R e je c t
4 .3

In p u t O rd e r Ite m U p d a t e R e je c t io n R e p o r t F ile
4 .3 .1 4 .3 .2

T r a n s fe r
4 .4

In p u t Ite m N u m b e r U p d a t e I n v e n t o r y F ile s
4 .4 .1 4 .4 .2
Level 2: Employee
E m p lo y e e
5

T im e R e p o r t in g
5 .1

I n p u t E m p lo y e e N u m b e r I n p u t T im e S h e e t D a t a
5 .1 .1 5 .1 .2

A d d / D e le t e
5 .2

Add
5 .2 .1

In p u t E m p lo y e e D a t a
5 .2 .2

A s s ig n E m p lo y e e N u m b e r
5 .2 .3

U p d a t e E m p lo y e e F ile
5 .2 .4

D e le t e
5 .3

I n p u t E m p lo y e e N u m b e r
5 .3 .1

U p d a t e E m p lo y e e F ile
5 .3 .2
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.
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.
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.
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.
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.
DFD for Broadway
• Corresponding to the Process Structure Charts
previously outlined, Broadway’s DFD can be
drawn as per the following charts:
Context Level
(note there are no storage elements at this level)
Level 0
DFD: Some Final Notes
• 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.

You might also like