Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 19

TCS2411 Software Engineering 1

Data-Flow Oriented
Design
From DFD to Structure Chart
TCS2411 Software Engineering 2
Lecture Objectives
To describe the process of translating the
DFDs to structure charts
To understand the systematic approach in
producing the design from the analysis
model
To understand the different types of
conversion that can be done in producing
the structure chart
TCS2411 Software Engineering 3
Expanding the DFD
Initial analysis produces the Context
Diagram and Level 1 DFD
In the design phase, the DFD is expanded
to lower levels, giving more sub-processes
within the original process
Level 1 Level 2 Level 3
Consistency is to be maintained from level
to level
TCS2411 Software Engineering 4
Example of Level 1 DFD
Process
Application
Member
application form
Members
new member record
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
application
details
new
member
record
new
member
details
formatted
new member
record
TCS2411 Software Engineering 6
Five-Step Process
The type of information flow is
established
Flow boundaries are indicated
The DFD is mapped into program
structure
Control hierarchy is defined by factoring
Resultant structure is refined using design
measures and heuristics
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 of
many paths
Path: incoming flow transaction centre
action path
TCS2411 Software Engineering 8
Transform Mapping
After transform flow is identified, identify
the boundaries of incoming and outgoing
flow
Incoming flow = Afferent flow
Outgoing flow = Efferent flow
In between the boundaries of the two is
the central transform
TCS2411 Software Engineering 9
Example of Boundaries
Get
Form
Check
Form
Assign
Code
Format
Record
Prepare
Record
Member
Members
application
form
application
details
checked
application
details
new
member
record
new
member
details
formatted
new member
record
Afferent flow Efferent flow Central
transform
TCS2411 Software Engineering 10
First Level Factoring
Get
Application
Process
Application
Generate
New Member
Process
Membership
Application
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
TCS2411 Software Engineering 12
Refinement
The hierarchy produced is then refined to
improve the quality of the design
Modules could be exploded or imploded
Apply design concepts of module
independence, good cohesion, minimal
coupling, and ease of maintenance
TCS2411 Software Engineering 13
Transaction Mapping
If transaction flow is identified, identify
the transaction centre and flow
characteristics of each action path
Similar to transform flow, boundaries are
identified for incoming flow and the
separate action paths
Each action path is a transform flow or
transaction flow as well
TCS2411 Software Engineering 14
Example of Transaction
Flow
read
user
command
invoke
command
processing
user commands
command
type
action paths
TCS2411 Software Engineering 15
Transaction Mapping
b
d
a
c1
q p
transaction
control
dispatcher
a
p
b
d
q
reception
path
TCS2411 Software Engineering 16
Factoring and Refining
Each action path has to be refined into a
substructure, either by transform or
transaction mapping
Similar to transaction flow, apply design
concepts to improve quality of design
TCS2411 Software Engineering 17
Completing the
Structure Chart
For each data flow on the DFD add
exactly one data couple. Use the same
data flow name
For each control module, decide how it
will control subordinates
For modules that select one of several
paths, show selection logic with a
diamond attached to the link
TCS2411 Software Engineering 18
Design Postprocessing
A processing narrative must be developed
for each module
Interface description is provided for each
module
Define local and global data structures
All design restrictions/limitations noted
Conduct design review
Optimisation is considered
TCS2411 Software Engineering 19
References
Software Engineering: A Practitioners
Approach 5th Ed. by Roger S. Pressman,
Mc-Graw-Hill, 2001
Software Engineering by Ian Sommerville,
Addison-Wesley, 2001
The Practical Guide to Structured Systems
Design by Meilir Page-Jones,
Benjamin/Cummings, 1988

You might also like