DFD - NJIT CS

1
DATA FLOW DIAGRAMS
An Example
DFD 0: Registration System
2
(Context Level)
user
registration
P2
Prepare
invoice
printer
P4
Print
invoice
invoice_prt
Registration System
registration db
(A Toy reg_info
Example)
conf_msg
reg+
P1
Read
& check
reg.
reg+
regprofile
P3
Accept
reg.
invoice
prices
conf.
P5
Write
conf.
user
DFD L1: Registration System
3
printer
user
registration
reg+
P1
Read
& check
reg.
error_msg (reg-)
reg+
P2
Prepare
invoice
regprofile
invoice
P4
Print
invoice invoice_prt
prices
registration db
conf_msg
reg_info
P3
Accept
reg.
conf.
P5
Write
conf.
user
4
DFD L2: P1- Read and Check
Registration
registration
P1.1
Read
registration
reg+
reg_i
P1.2
Check
registration
reg+
error_reason
P1.3
Error-handler
registration
error_msg (reg-)
5
Remember during Composition
• a process should not have
identical inputs and outputs
• all data flows must be labelled
• sources / sinks are not processes (=active)
• data stores should not be connected
directly to sources / sinks
• there is no timing in a DFD
6
Suggestions for a Good Style
• organise diagram from
left to right or top to bottom
• provide input and output “filters”
for each major data flow
• keep sources / sinks on the left or right
boundary of your diagram
Process Decomposition
7
Interface Consistency
P1
i1
i11
i1
i12
i2
o1
f1
p11
p13
f2
p12
i2
o1
f4
f5
local-data
f3
8
Process Decomposition
•
•
•
•
processes can be decomposed / refined
one process ===> complete DFD
interface flows must remain consistent
lower level processes, data flows
and data stores can be added on
• sources sinks remain on level-1
• a level-0 can be used as “abstract”=>
Context Level DFD
9
Patient Monitoring
System
Physician
Query
Update
Patient Data
Record
(PDR)
PDR-
Check &
Accum.
PDR
Patient
Input
Evaluate
Alarm
Read &
Check
Query
Query -
Read &
Check
Update
Normal
Data
Update +
Process
Patient
Query
+
Patient
History Current
Give
Alarm
Process
Request
Treatme
nt
New
Treatm.
Stat.
Detail
Out-ofrange
Data
PATIENT DB
Ansew to
Query
Answer
Query
Give
Feedback
Answer
to
Query
Alarm
Output
Update
-
USER/CRT
Feedbac
k
Update
Update
Result
10
End of Section 2c
coming up:
data dictionaries