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