dataflow oriented design
TRANSCRIPT
-
8/10/2019 Dataflow Oriented Design
1/19
TCS2411 Software Engineering 1
Data-Flow Oriented
Design
From DFD to Structure Chart
-
8/10/2019 Dataflow Oriented Design
2/19
TCS2411 Software Engineering 2
Lecture Objectives
To describe the process of translating theDFDs to structure charts
To understand the systematic approach inproducing the design from the analysismodel
To understand the different types ofconversion that can be done in producingthe structure chart
-
8/10/2019 Dataflow Oriented Design
3/19
TCS2411 Software Engineering 3
Expanding the DFD
Initial analysis produces the ContextDiagram and Level 1 DFD
In the design phase, the DFD is expandedto lower levels, giving more sub-processeswithin the original process
Level 1Level 2 Level 3 Consistency is to be maintained from level
to level
-
8/10/2019 Dataflow Oriented Design
4/19
TCS2411 Software Engineering 4
Example of Level 1 DFD
Process
Application
Member application form
Members
new member record
-
8/10/2019 Dataflow Oriented Design
5/19
TCS2411 Software Engineering 5
Expanded to Level 2
Get
Form
Check
Form
Assign
Code
Format
Record
Prepare
Record
Member Members
application
form
application
details
checked
applicationdetails
new
memberrecord
new
memberdetails
formatted
new member
record
-
8/10/2019 Dataflow Oriented Design
6/19
TCS2411 Software Engineering 6
Five-Step Process
The type of information flow isestablished
Flow boundaries are indicatedThe DFD is mapped into program
structure
Control hierarchy is defined by factoring
Resultant structure is refined using designmeasures and heuristics
-
8/10/2019 Dataflow Oriented Design
7/19
TCS2411 Software Engineering 7
Types of Information
Flow
Transform Flow
Information enter at a point, transformed,and exit at another point
Path: incoming flow central transform outgoing flow
Transaction Flow
Single data item, transaction, triggers one ofmany paths
Path: incoming flow transaction centre action path
-
8/10/2019 Dataflow Oriented Design
8/19
TCS2411 Software Engineering 8
Transform Mapping
After transform flow is identified, identifythe boundaries of incoming and outgoing
flowIncoming flow = Afferent flow
Outgoing flow = Efferent flow
In between the boundaries of the two isthe central transform
-
8/10/2019 Dataflow Oriented Design
9/19
TCS2411 Software Engineering 9
Example of Boundaries
Get
Form
Check
Form
Assign
Code
Format
Record
Prepare
Record
Member Members
application
form
application
details
checked
applicationdetails
new
memberrecord
new
memberdetails
formatted
new member
record
Afferent flow Efferent flowCentral
transform
-
8/10/2019 Dataflow Oriented Design
10/19
TCS2411 Software Engineering 10
First Level Factoring
Get
ApplicationProcess
Application
Generate
New Member
Process
Membership
Application
-
8/10/2019 Dataflow Oriented Design
11/19
TCS2411 Software Engineering 11
Second Level Factoring
Check
Application
Process
Application
Generate
New Member
Process
Membership
Application
Get
Application
Get
Application
Form
Format
New
Record
Generate
New
Record
-
8/10/2019 Dataflow Oriented Design
12/19
TCS2411 Software Engineering 12
Refinement
The hierarchy produced is then refined toimprove the quality of the design
Modules could be explodedor implodedApply design concepts of module
independence, good cohesion, minimal
coupling, and ease of maintenance
-
8/10/2019 Dataflow Oriented Design
13/19
TCS2411 Software Engineering 13
Transaction Mapping
If transaction flow is identified, identifythe transaction centre and flow
characteristics of each action pathSimilar to transform flow, boundaries are
identified for incoming flow and the
separate action pathsEach action path is a transform flow or
transaction flow as well
-
8/10/2019 Dataflow Oriented Design
14/19
TCS2411 Software Engineering 14
Example of Transaction
Flow
read
usercommand
invoke
command
processing
user commands
command
type
action paths
-
8/10/2019 Dataflow Oriented Design
15/19
TCS2411 Software Engineering 15
Transaction Mapping
b d
a c1
qp
transaction
control
dispatcher
a
p
b
d
q
reception
path
-
8/10/2019 Dataflow Oriented Design
16/19
TCS2411 Software Engineering 16
Factoring and Refining
Each action path has to be refined into asubstructure, either by transform or
transaction mappingSimilar to transaction flow, apply design
concepts to improve quality of design
-
8/10/2019 Dataflow Oriented Design
17/19
TCS2411 Software Engineering 17
Completing the
Structure Chart
For each data flow on the DFD addexactly one data couple. Use the same
data flow nameFor each control module, decide how it
will control subordinates
For modules that select one of severalpaths, show selection logic with adiamond attached to the link
-
8/10/2019 Dataflow Oriented Design
18/19
TCS2411 Software Engineering 18
Design Postprocessing
A processing narrative must be developedfor each module
Interface description is provided for eachmodule
Define local and global data structures
All design restrictions/limitations noted
Conduct design review
Optimisation is considered
-
8/10/2019 Dataflow Oriented Design
19/19
TCS2411 Software Engineering 19
References
Software Engineering: A PractitionersApproach 5th Ed. by Roger S. Pressman,Mc-Graw-Hill, 2001
Software Engineering by Ian Sommerville,Addison-Wesley, 2001
The Practical Guide to Structured SystemsDesign by Meilir Page-Jones,Benjamin/Cummings, 1988