Scinovex
article Open AccessTop 1% cited

On the criteria to be used in decomposing systems into modules

Communications of the ACM · 1972 · Vol. 15(12) · pp. 1053–1058
David Lorge Parnas

Abstract

This paper discusses modularization as a mechanism for improving the flexibility and comprehensibility of a system while allowing the shortening of its development time. The effectiveness of a “modularization” is dependent upon the criteria used in dividing the system into modules. A system design problem is presented and both a conventional and unconventional decomposition are described. It is shown that the unconventional decompositions have distinct advantages for the goals outlined. The criteria used in arriving at the decompositions are discussed. The unconventional decomposition, if implemented with the conventional assumption that a module consists of one or more subroutines, will be less efficient in most cases. An alternative approach to implementation which does not have this effect is sketched.

Product Development and CustomizationAdvanced Software Engineering MethodologiesSoftware Engineering ResearchModular programmingFlexibility (engineering)Computer scienceDecompositionSubroutineMathematicsProgramming language
Citations
4,641
FWCI
172.27
field-weighted impact
References
15
Percentile
100%
vs. same field & year
Citations per year
Cited by
Software Engineering
IEEE Transactions on Computers · 1976 · 540 citations
Product Development Decisions: A Review of the Literature
Management Science · 2001 · 1,721 citations
Citation Network

How this paper connects to the literature. Drag to explore, click any node to open that paper.