1 / 12

The Structure and Value of Modularity in Software Design

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

cicada
Download Presentation

The Structure and Value of Modularity in Software Design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • General Terms • Modularity • Information Hiding • Value of Modularity • Motivation of the Paper • Baldwin & Clark’s Theory • DSM • NOV • Contribution of the Paper • Conclusion

  3. General 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

  4. 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)

  5. Proto-modules Design 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 Exclusion Inversion Porting

  6. NOVs of the Individual Modules 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 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

  7. 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 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

  9. 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

  10. Conclusion • 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

  11. Questions?

  12. My 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

More Related