Chapter 5
Chapter 5
Introduction
Design phase transforms SRS
document:
into a form easily implementable in
some programming language.
d1 d2
d3 d1 d4
High-level design
temporal
logical
coincidental
Coincidental cohesion
display
Functional cohesion
a. communicational
b. Functional
c. Stamp
d. procedural
Q. What is the characteristic of modularity?
A. Communicational
B. Coincidental
C. Procedural
D. Temporal
Coupling
Coupling indicates:
how closely two modules interact
or how interdependent they are.
data
stamp
control Degree of
coupling
common
content
Data coupling
Two modules are data coupled,
if they communicate by an
elementary data item that is
passed as a parameter between
the two, eg. an integer, a float,
character etc.
Stamp coupling
Two modules are stamp coupled,
Depth:
number of levels of control
Width:
overall span of control.
Fan-out:
a measure of the number of modules
directly controlled by given module.
Characteristics of
Module Structure
Fan-in:
indicates how many modules
directly invoke a given module.
High fan-in represents code reuse
and is in general encouraged.
Module Structure
Fan out=2
Fan out=1
Fan in=2
Fan out=0
Goodness of Design
if A directly calls B.
Function-oriented design
Object-oriented design
Function-Oriented
Design
A system is looked upon as something
that performs a set of functions.
Starting at this high-level view of the
system:
each function is successively refined into
more detailed functions.
Each subfunction: