the structure and value of modularity in software design
DESCRIPTION
The Structure and Value of Modularity in Software Design. Written by Kevin J. Sullivan, William G. Griswold, Yuanfang Cai Presented by Meltem Yıldırım. CmpE-550 / 7.12.2005. Outline. General Terms Modularity Information Hiding Value of Modularity Motivation of the Paper - PowerPoint PPT PresentationTRANSCRIPT
The Structure and Value of Modularity in Software Design
Written by Kevin J. Sullivan, William G. Griswold, Yuanfang Cai
Presented byMeltem Yıldırım
CmpE-550 / 7.12.2005
Outline
General TermsModularityInformation HidingValue of Modularity
Motivation of the PaperBaldwin & Clark’s Theory
DSMNOV
Contribution of the PaperConclusion
General Terms
Modularity: the characteristic of a system that has been divided into smaller subsystems which interact with eachotherInformation Hiding: hiding details of an object or function so that each module has the information just needed by it
Parnas introduced information hiding in 1972case study comparing the changeability of two versions of KWIC (Key Words in Context)Hide the design decisions, which are most likely to change, from other parts of the system
Value of Modularization: the benefits obtained by exercising a specific modularization solution
Motivation
We need a model to assess the relative values of alternative modularizations for the same system
Which of the available modularizations is the best for a given system?
Augment Parnas’s work
Explore the potential of Baldwin & Clark’s Theory (2000)
“Design is a value seeking process”
DSM (Design Structure Matrix)
NOV (Net Options Value)
Design Structure Matrix (DSM)
A B C
A
B X X
C X
Design space to be searched for valuable designs
Design Parameters: A, B, C
For modularity, dependencies across proto-modules must be broken by splitting
Other operators:SubstitutionAugmentationExclusionInversionPorting
Proto-modules
I A B C
I
A X
B X X
C X
B depends on A
Design Parameters:Data structuresAlgorithmsUser interface look-and-feelSecurity aspectsPower Usage…
Net Options Value (NOV)
Mathematical model for evaluating designs
General expression for NOV of a modular design:
V = S0 + NOV1 + NOV2 + … + NOVn (1)
NOVi = maxki {σini1/2 Q(ki) – Ci(ni)ki - Zi} (2)
Zi = Σj-sees-icinj (3)
Total Value of the
System
Value of the Unmodularized
System
NOVs of the Individual ModulesNOV of the ith
Module Cost incurred in ki experiments
Expected Benefit
Visibility Cost of Replacing the ith Module
Redesign Cost
all j modules that see the ith module
Complexity of the jth module
Contribution
Evaluate the applicability of Baldwin & Clark’s theory to inform software design
EDSM: extended DSM to also model environment variables which cannot be controlled by the designer
Case studyDSM-based analysis of KWIC
EDSM-based analysis of KWIC
NOV-based analysis of KWIC
Computer Configuration (device capacity, speed)
Corpus Properties (input size, language)
User Profile (experienced or not, interactive or offline)
EDSM for strawman modularization
X Y Z A D G J B E H K C F I L M
X – Computer .
Y – Corpus X . X
Z – User X .
A – Input Type .
D – Circ Type .
G – Alph Type .
J – Out Type .
B – Input Data X X . X X
E – Circ Data X X X . X
H – Alph Data X X X X .
K – Out Data X X .
C – Input Alg X X X X .
F – Circ Alg X X X X X .
I – Alph Alg X X X X X X X .
L – Out Alg X X X X X X .
M - Master X X X X X .
EDSM for proto-modular design
X Y Z A B C D E F G H I J K L M
X – Computer .
Y – Corpus X . X
Z – User X .
A – Input Type . X
B – Input Data X X X . X X X X X X
C – Input Alg X X X X .
D – Circ Type . X
E – Circ Data X X X X . X X X
F – Circ Alg X X X X X .
G – Alph Type . X
H – Alph Data X X X X X . X X
I – Alph Alg X X X X X X X .
J – Out Type . X
K – Out Data X X X . X
L – Out Alg X X X X X X .
M - Master X X X X X .
EDSM for information-hiding modularization
X Y Z N A D G J O P B C E F H I K L M
X – Computer .
Y – Corpus X . X
Z – User X .
N – Line Type .
A – Input Type .
D – Circ Type .
G – Alph Type .
J – Out Type .
O – Line Data X X X . X
P – Line Alg X X X X .
B – Input Data X X X . X
C – Input Alg X X X X X .
E – Circ Data X X X X . X
F – Circ Alg X X X X X .
H – Alph Data X X X X . X
I – Alph Alg X X X X X X .
K – Out Data X X X . X
L – Out Alg X X X X X .
M - Master X X X X X X .
NOV Analysis of KWIC
V for strawman design = 0.26
V for proto-modular design = 1
V for information-hiding design = 1.56
x 6
Conclusion
EDSMs have the potential tomodel the software and its environment
capture Parnas’ information hiding criterion
Compare different modularizations
NOV formula provides a quantitative value for good modular design
Information-hiding design is superior to strawman design
Questions?
My Opinion
The process of splitting modules so that they do not affect each other makes sense
Case study: KWICIt is not clear what the modules are, how they are chosen and how they are manipulated
Scalability is questionable, may be hard to utilize in practice because commercial applications are far more complex than KWIC
The use of “Hierarchy Diagrams” in designing large systems may be beneficial