Software Engineering-II Sir Zubair Sajid Data Flow Diagrams (DFD)  DFDs describe the flow of data or information into and out of a system 

Download Report

Transcript Software Engineering-II Sir Zubair Sajid Data Flow Diagrams (DFD)  DFDs describe the flow of data or information into and out of a system 

Software Engineering-II
Sir Zubair Sajid
Data Flow Diagrams (DFD)

DFDs describe the flow of data or
information into and out of a system
 what does the system do to the data?

A DFD is a graphic representation of the
flow of data or information through a
system
3
4 Main Elements
external entity - people or organisations
that send data into the system or receive
data from the system
 process - models what happens to the
data i.e. transforms incoming data into
outgoing data
 data store - represents permanent data
that is used by the system
 data flow - models the actual flow of the
data between the other elements

Notation
Data Flow
• Data Flow
Process box
• Process
External
Entity
• External Entity
• Data Store
D
Data Store
Levelled DFDs

Even a small system could have many
processes and data flows and DFD
could be large and messy
 use levelled DFDs - view system at different
levels of detail
 one overview and many progressively
greater detailed views
4
Level 0 or context diagram shows a
system as a single process with inputs
and outputs flowing to or from external
entities.
 Level 1 DFD will split up that single
process into subsystems and show more
detail about the data flows and data
stores.
 Level 2 DFD may decompose a single
subsystem even further.

Level 0 - Context Diagram
models system as one process box
which represents scope of the system
 identifies external entities and related
inputs and outputs
 Additional notation - system box

External
entity
Data f low out
Data f low in
Sy stem box
Level 1 - overview diagram
gives overview of full system
 identifies major processes and data
flows between them
 identifies data stores that are used by
the major processes
 boundary of level 1 is the context
diagram

Level 2 - detailed diagram
level 1 process is expanded into more
detail
 each process in level 1 is decomposed
to show its constituent processes
 boundary of level 2 is the level 1
process

Other Notation
Duplicates marked by diagonal line in
corner
 System Boundary
 Elementary Processes - star in corner
 Process that is levelled - dots on top

Rules for DFDs
Numbering
 Labelling
 Balancing

5
Numbering
On level 1 processes are numbered
1,2,3…
 On level 2 processes are numbered x.1,
x.2, x.3… where x is the number of the
parent level 1 process
 Number is used to uniquely identify
process not to represent any order of
processing
 Data store numbers usually D1, D2,
D3...

Labelling
Process label - short description of what
the process does, e.G. Price order
 Data flow label - noun representing the
data flowing through it e.G. Customer
payment
 Data store label - describes the type of
data stored
 Make labels as meaningful as possible

Balancing and data stores

Balancing
 any data flows entering or leaving a parent
level must by equivalent to those on the
child level

Data stores
 data stores that are local to a process need
not be included until the process is
expanded
Data Flows
Allowed to combine several data flows
from lower level diagrams at a higher
level under one data flow to reduce
clutter
 Flows should be labelled except when
data to or from a data store consists of
all items in the data store

Context Diagram

Find the people who send data into the
system
 Often data is part of a PHYSICAL transaction
 When handing a bar of chocolate to a
shopkeeper, you are handing him/her a
barcode.

Find the people who get data out of the
system.
 The only data you need is data that is
transformed or sent completely out of the
system – not data that is handled by an operator
within the system.
Context diagrams
a top-level DFD shows the least amount of
detail and is known as a Level 0 DFD or
context diagram.
Order
Customer
Invoice
Out-of-stock notice
Order rejection notice
Process
order
Picking List
Warehouse
Context diagram
Shareholders
financial
report
Docket &
Payment
Joe's
Yard
Supply needs
Joe
Customer
Signed docket
Supply order
& payment
Supply invoice
Supplier
Remove passive verbs and
queries



Passive: has stock list
Buy supplies




Joe then
 Looks around yard and
reorders
 Records order in order
book
Picks stock items (views list)
Writes orders
 Foreman
Pays joe
 takes delivery – checks
Stamps docket
 Foreman pays supplier
 Customer then
 Staples receipt to order
 Takes docket to yard
book
 Hands it to foreman
 Joe

Gets items
 Gives them to builder
 Builder signs docket
 Takes copy as receipt
 Produces financial report
Level 1 current physical
20
Buy
supplies
Money
Payment
Supplier
receipt
22
Payment
Docket &
Payment
Payment
Restock
supplies
Docket
Supplier
Customer
M1
completed
docket copy
supplies
Supply order
Docket
completed
docket copy
required stock
stock
Signed docket
12
builder
signature
*
Supply order
get
items
11
Take
to
yard
Order
book
M3
required stock
completed
docket copy
Supplier
receipt
Joe
Supply needs
21
Reorder
supplies
Signed docket
Signed docket
5
Joe's Office
Produce
financial
report
Foreman
financial
report
*
Shareholders
Buy Supplies
20 Buy supplies
Customer
M1
Docket
20.1
Docket
Docket
Writes
Order
*
Payment
Docket
20.3
Stamp
Docket(signature)
20.2
Payment
Pays
Joe
*
*
Money
Get Items
12 get items
12.2
Foreman
Signed docket
12.1
Get builder
signature
Signed docket
*
Give items
to customer
Customer
*
required stock
builder
signature
completed
docket copy
completed
docket copy
stock
12.3
Give
copy
as receipt
*
Reorder supplies
21 Reorder supplies
21.1
Joe
Supply needs
Reorder
from
yard
*
Supply needs
21.2
Supply order
Record
order
*
M3
Order
book
Restock
22 Restock
M3
Order
book
Supply order
22.1
stock
supplies
Take
delivery
*
supplies
Supply order
Money
Payment
22.2
Supplier
receipt
Pay
supplier
*
Payment
Supplier