1
Flow-Oriented Modeling
Represents how data objects are transformed at they Represents how data objects are transformed at they
move through the systemmove through the system
A A data flow diagram (DFD)data flow diagram (DFD) is the diagrammatic form is the diagrammatic form
that is usedthat is used
Considered by many to be an ‘old school’ approach, flow-Considered by many to be an ‘old school’ approach, flow-
oriented modeling continues to provide a view of the oriented modeling continues to provide a view of the
system that is unique—it should be used to supplement system that is unique—it should be used to supplement
other analysis model elementsother analysis model elements
2
The Flow Model
Every computer-based system is an Every computer-based system is an
information transform ....information transform ....
computercomputer
basedbased
systemsystem
inputinput outputoutput
3
Flow Modeling Notation
external entityexternal entity
processprocess
data flowdata flow
data storedata store
4
External Entity
A producer or consumer of dataA producer or consumer of data
Examples: a person, a device, a sensorExamples: a person, a device, a sensor
Another example: computer-basedAnother example: computer-based
systemsystem
Data must always originate somewhereData must always originate somewhere
and must always be sent to somethingand must always be sent to something
5
Process
A data transformer (changes inputA data transformer (changes input
to output)to output)
Examples: compute taxes, determine area,Examples: compute taxes, determine area,
format report, display graph format report, display graph
Data must always be processed in some Data must always be processed in some
way to achieve system functionway to achieve system function
6
Data Flow
Data flows through a system, beginningData flows through a system, beginning
as input and be transformed into output.as input and be transformed into output.
computecompute
triangle triangle
areaarea
basebase
heightheight
areaarea
7
Data Stores
DataData is often stored for later use.is often stored for later use.
look-uplook-up
sensorsensor
datadata
sensor #sensor #
report requiredreport required
sensor #, type, sensor #, type,
location, agelocation, age
sensor datasensor data
sensor numbersensor number
type, type,
location, agelocation, age
8
Data Flow Diagramming
Guidelines
•All icons must be labeled with meaningful names
•The DFD evolves through a number of levels of
detail
•Always begin with a context level diagram (also
called level 0)
•Always show external entities at level 0 and 1
•The level 0 data flow diagram should depict the
software/system as a single bubble
•Primary input and output should be carefully
noted
•Refinement should begin by isolating candidate
processes, data objects, and data stores to be
represented at the next level
•All arrows and bubbles should be labeled with
meaningful names
•Information flow continuity must be maintained
from level to level
•One bubble at a time should be refined
9
10
Constructing a DFD – level 0
•Review the data model to isolate data
objects and use a grammatical parse to
determine “operations”
•Determine external entities (producers
and consumers of data)
•Create a level 0 DFD
11
12
Constructing a DFD – level 1
•A “grammatical parse” on the narrative that
describes the context level bubble.
•Isolate all nouns (and noun phrases) and verbs
(and verb phrases).
•Verbs are processes which are represented as
bubbles in a subsequent DFD.
•Nouns are external entities / data objects /
control objects / data store.
13
14
Constructing a DFD – level 2
•Refines the monitor sensors process
15
16
PSPEC
•The process transform performs password validation at the control panel
for the SafeHome security function.
•Process password receives a four-digit password from the interact with
user function.
•The password is first compared to the master password stored within the
system.
•If the master password matches , [valid id message = true] is passed to the
message and status display function.
•If the master password does not match , the four digits are compared to a
table of secondary passwords (they may be assigned to house guests
and/or workers who require entry to the home when the owner is not
present).
•If the password matches an entry with the table, [valid id message = true]
is passed to the message and status display function.
•If there is no match, [valid id message = false] is passed to the message
and status display function.
17