Title: The Structure and Value of Modularity in Software Design
1The Structure and Value of Modularity in Software
Design
- Written by
- Kevin J. Sullivan, William G. Griswold, Yuanfang
Cai - Presented by
- Meltem Yildirim
CmpE-550 / 7.12.2005
2Outline
- General Terms
- Modularity
- Information Hiding
- Value of Modularity
- Motivation of the Paper
- Baldwin Clarks Theory
- DSM
- NOV
- Contribution of the Paper
- Conclusion
3General Terms
- Modularity the characteristic of a system that
has been divided into smaller subsystems which
interact with eachother - Information Hiding hiding details of an object
or function so that each module has the
information just needed by it - Parnas introduced information hiding in 1972
- case 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
4Motivation
- 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 Parnass work
- Explore the potential of Baldwin Clarks Theory
(2000) - Design is a value seeking process
- DSM (Design Structure Matrix)
- NOV (Net Options Value)
5Design Structure Matrix (DSM)
Design space to be searched for valuable designs
Design Parameters A, B, C
Design Parameters Data structures Algorithms User
interface look-and-feel Security aspects Power
Usage
For modularity, dependencies across proto-modules
must be broken by splitting
B depends on A
Other operators Substitution Augmentation Exclusi
on Inversion Porting
6Net Options Value (NOV)
- Mathematical model for evaluating designs
- General expression for NOV of a modular design
- V S0 NOV1 NOV2 NOVn (1)
- NOVi maxki sini1/2 Q(ki) Ci(ni)ki - Zi (2)
- Zi Sj-sees-icinj (3)
Total Value of the System
NOV of the ith Module
Cost incurred in ki experiments
Redesign Cost
Value of the Unmodularized System
Visibility Cost of Replacing the ith Module
Expected Benefit
Complexity of the jth module
all j modules that see the ith module
7Contribution
- Evaluate the applicability of Baldwin Clarks
theory to inform software design - EDSM extended DSM to also model environment
variables which cannot be controlled by the
designer - Case study
- DSM-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)
8 EDSM for strawman modularization
EDSM for proto-modular design
EDSM for information-hiding
modularization
9NOV Analysis of KWIC
- V for strawman design 0.26
- V for proto-modular design 1
- V for information-hiding design 1.56
x 6
10Conclusion
- EDSMs have the potential to
- model 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
11Questions?
12My Opinion
- The process of splitting modules so that they do
not affect each other makes sense - Case study KWIC
- It 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