Software Fundamentals Collected Papers by Parnas
On the Criteria to Be Used in Decomposing Systems into Modules December 1972 On the Criteria to Be Used in Decomposing Systems into Modules Introduction by Weiss Idea: module is a work assignment. Hides a design decision: information hiding. Idea: at run-time, one might not be able to distinguish what criteria were used to decompose the system into modules. A module may be a design-time entity or a load-time entity or an entity created at some other time.
Weiss Idea: Every information hiding module should have an interface. AOP, a current vogue in programming technique, appears to be a rediscovery of the use of binding time in creating modular designs. Idea: Every information hiding module should have an interface. Idea: To evaluate a modular decomposition: changes it accomodates. Compare business goals with easily accommodated changes: startegic software engineering.
Weiss Idea: Hierarchical structuring and modular decomposition are two different concepts. Modular decomposition leads to hierarchy: but only one of many. Implicit is the idea of using different design structures to separate different concerns.