Hall of FameDavid L. Parnas197221 min readpaperintermediate
On the Criteria To Be Used in Decomposing Systems into Modules
Summary
Parnas argues that effective modularization depends on the criteria used to split a system, not just on grouping subroutines. He illustrates conventional vs. responsibility‑based decompositions on a KWIC index, showing how different criteria affect changeability, understandability, and implementation cost.
- Define module boundaries by responsibility and changeability, not merely by subroutine grouping.
- Different decomposition criteria affect documentation, maintenance, and flexibility more than runtime behavior.
- A master control module can coordinate sequencing while keeping other modules independent.
- Unconventional modularizations may improve development speed but may need alternative implementation approaches to avoid inefficiency.
Software engineers designing large systems should consider responsibility‑based modular criteria to improve maintainability and flexibility.
6/10


