TCS 2411 Software Engineering
Download
Report
Transcript TCS 2411 Software Engineering
Data-Flow Oriented
Design
“From DFD to Structure Chart”
TCS2411 Software Engineering
1
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
2
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
3
Example of Level 1 DFD
Member
application form
Process
Application
new member record
Members
TCS2411 Software Engineering
4
Expanded to Level 2
Member
Members
formatted
new member
record
application
form
Get
Form
Check
Form
application
details
TCS2411 Software Engineering
Assign
Code
checked
application
details
Prepare
Record
new
member
details
Format
Record
new
member
record
5
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
6
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
7
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
8
Example of Boundaries
Member
Members
formatted
new member
record
application
form
Get
Form
Check
Form
application
details
Afferent flow
TCS2411 Software Engineering
Assign
Code
checked
application
details
Prepare
Record
new
member
details
Central
transform
Format
Record
new
member
record
Efferent flow
9
First Level Factoring
Process
Membership
Application
Get
Application
TCS2411 Software Engineering
Process
Application
Generate
New Member
10
Second Level Factoring
Process
Membership
Application
Get
Application
Get
Application
Form
Generate
New Member
Process
Application
Check
Application
TCS2411 Software Engineering
Generate
New
Record
Format
New
Record
11
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
12
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
13
Example of Transaction
Flow
action paths
user commands
read
user
command
command
type
TCS2411 Software Engineering
invoke
command
processing
14
Transaction Mapping
transaction
control
a
reception
path
b
d
b
d
a
p
dispatcher
c1
p
q
q
TCS2411 Software Engineering
15
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
16
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
17
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
18
References
“Software Engineering: A Practitioner’s
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
TCS2411 Software Engineering
19