View Related Documents

Abstract

Designers are often unsuccessful in designing for change using traditional modularity techniques. A complementary modularity technique called information transparency can improve a designer’s ability to simplify changes by exposing the interdependence of dispersed program elements that must be changed together for correctness. Information transparency represents modules via similarity and architecture, rather than locality and abstraction.With these, a programmer can create locality with a software tool, easing change in much the same way as traditional modularity. When combined with information hiding, then, more complex module structures can be represented. Information transparency techniques include naming conventions, formatting style, and ordering of code in a file. Transparency can be increased by better matching tool capabilities and programming style. We discuss applications of information transparency and introduce design principles for software designers and tool designers.

Keywords  Modularity - design - software maintenance - software evolution - programming methodology - implementation techniques

This research is supported in part by NSF grants CCR-9508745 and CCR-9970985, and California MICRO proposal 97-061 with Raytheon Systems Company.

Fulltext Preview

Image of the first page of the fulltext document