# Modular Decomposition

Module boundaries should hide design decisions that are likely to change <span class="citation" cites="parnas1972">([Parnas 1972](#ref-parnas1972))</span>. Combining that principle with literate programming <span class="citation" cites="knuth1984">([Knuth 1984](#ref-knuth1984))</span> yields documentation that tracks the modular structure of the code.

This page lives one directory deep under `user-guide/`, yet the same project-level `bibliography:` key resolves its citations -- no depth-dependent per-page path is required.

This page deliberately adds *no* manual References heading: Quarto generates the section automatically and titles it from the document language (here, the English "References").


## References


Knuth, Donald E. 1984. "Literate Programming." *The Computer Journal* 27 (2): 97-111.


Parnas, David L. 1972. "On the Criteria to Be Used in Decomposing Systems into Modules." *Communications of the ACM* 15 (12): 1053-58.
