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