flow oriented modeling
TRANSCRIPT
1
Flow-Oriented Modeling
Represents how data objects are transformed at Represents how data objects are transformed at they move through the systemthey move through the system
A A data flow diagram (DFD)data flow diagram (DFD) is the diagrammatic is the diagrammatic form that is usedform that is used
Considered by many to be an ‘old school’ Considered by many to be an ‘old school’ approach, flow-oriented modeling continues to approach, flow-oriented modeling continues to provide a view of the system that is unique—it provide a view of the system that is unique—it should be used to supplement other analysis should be used to supplement other analysis model elementsmodel elements
2
The Flow ModelEvery computer-based system is an Every computer-based system is an information transform ....information transform ....
computercomputerbasedbasedsystemsystem
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-basedsystemsystem
Data must always originate somewhereData must always originate somewhereand must always be sent to somethingand must always be sent to something
5
Process
A data transformer (changes inputA data transformer (changes inputto 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, beginningas input and be transformed into output.as input and be transformed into output.
computecomputetriangle triangle
areaarea
basebase
heightheight
areaarea
7
Data Stores
DataData is often stored for later use.is often stored for later use.
look-uplook-upsensorsensordatadata
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 DiagrammingGuidelines
• 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 refined9
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