[DSRP Evidence](https://dsrpevidence.org/)

# On the criteria to be used in decomposing systems into modules

## Details

**Authors** Parnas, D. L.

**Year** 1972

**Publisher** Communications of the ACM

**Kind of work** article

**Discipline** Computer Science & AI

**Secondary disciplines** Engineering

**Applied** false

[Read it at the publisher](https://doi.org/10.1145/361598.361623) 
10.1145/361598.361623

## In authors' words

### What they set out to do (purpose)

To show that the criteria used to divide a system into modules determine its flexibility, comprehensibility and development time.

### Who or what was studied (sample)

One sample system design problem, decomposed in two ways.

### How they did it (methods)

Comparison of a conventional decomposition with an unconventional one, followed by discussion of the criteria behind the latter and its implementation cost.

### What they found (results)

The unconventional decomposition is better suited to flexibility, comprehensibility and shorter development time than the conventional one. Implementing modules as subroutines tends to reduce efficiency, and an alternative implementation approach is sketched.

## Commentary

### In short

A comparison of two ways of dividing a software system into modules, showing that where the boundaries are drawn determines how easily the system can be understood and changed.

### Response

The paper shows that how a whole is divided into parts changes outcomes, which fits systems (decomposition into modules) and distinctions (where module boundaries are drawn). The comparison of two decompositions of one problem is an effect finding. Caveats: only a publisher-level summary of the abstract was read, quantitative results are not reported, and relationships between modules and perspective are not claimed here.

**Patterns it shows** D, S

Shows it makes a difference

**Added** 2026-10-26

**How to cite this** Parnas, D. L. (1972). On the criteria to be used in decomposing systems into modules. Communications of the ACM.
