skip to main content
article
Free access

On the criteria to be used in decomposing systems into modules

Published: 01 December 1972 Publication History

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.

References

[1]
Gauthier, Richard, and Pont, Stephen. Designing Systems Programs, (C), Prentice-Hall, Englewood Cliffs, N.J., 1970.
[2]
Hoare, C. A. R. Proof of a program, FIND. Comm. ACM 14, 1 (Jan. 1971), 39-45.
[3]
Parnas, D. L. A technique for software module specification with examples. Comm. ACM 15, 5 (May, 1972), 330-336.
[4]
Parnas, D. L. Information distribution aspects of design methodology. Tech. Rept., Depart. Computer Science, Carnegie- Mellon U., Pittsburgh, Pa., 1971. Also presented at the IFIP Congress 1971, Ljubljana, Yugoslavia.
[5]
Dijkstra, E. W. The structure of "THE"-multiprogramming system. Comm. ACM 11, 5 (May 1968), 341-346.
[6]
Galler, B., and Perlis, A. J. A View of Programming Languages, Addison-Wesley, Reading, Mass., 1970.
[7]
Parnas, D. L. A course on software engineering. Proc. SIGCSE Technical Symposium, Mar. 1972.
[8]
Parnas, D. L. On the criteria to be used in decomposing systems into modules. Tech. Rept., Depart. Computer Science, Carnegie-Mellon U., Pittsburgh, Pa., 1971.
[9]
Balzer, R. M. Dataless programming. Proc. AFIPS 1967 FJCC, Vol. 31, AFIPS Press, Montvale, N.J., pp. 535-544.
[10]
Mealy, G. H. Another look at data. Proc. AFIPS 1967 FJCC, Vol. 31, AFIPS Press, Montvale, N.J., pp. 525-534.
[11]
Wulf, W. A., Russell, D. B., and Habermann, A. N. BLISS, A language for systems programming. Comm. ACM 14, 12 (Dec. 1971), 780-790.

Cited By

View all
  • (2024)Following the Writer’s Path to the Dynamically Coalescing Reactive Chains Design PatternAlgorithms10.3390/a1702005617:2(56)Online publication date: 25-Jan-2024
  • (2024)Digital Asset Creation and Orchestration: Empirical Evidence from Industrial ManufacturingResilience Through Digital Innovation: Enabling the Twin Transition10.18690/um.fov.4.2024.2(17-32)Online publication date: 29-May-2024
  • (2024)Coordination in a Digital Platform OrganizationInformation Systems Research10.1287/isre.2023.122635:1(363-393)Online publication date: 1-Mar-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 15, Issue 12
Dec. 1972
117 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/361598
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 December 1972
Published in CACM Volume 15, Issue 12

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. KWIC index
  2. modularity
  3. modules
  4. software
  5. software design
  6. software engineering

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4,875
  • Downloads (Last 6 weeks)512
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Following the Writer’s Path to the Dynamically Coalescing Reactive Chains Design PatternAlgorithms10.3390/a1702005617:2(56)Online publication date: 25-Jan-2024
  • (2024)Digital Asset Creation and Orchestration: Empirical Evidence from Industrial ManufacturingResilience Through Digital Innovation: Enabling the Twin Transition10.18690/um.fov.4.2024.2(17-32)Online publication date: 29-May-2024
  • (2024)Coordination in a Digital Platform OrganizationInformation Systems Research10.1287/isre.2023.122635:1(363-393)Online publication date: 1-Mar-2024
  • (2024)Decomposition of Deep Neural Networks into Modules via Mutation AnalysisProceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3650212.3680390(1669-1681)Online publication date: 11-Sep-2024
  • (2024)On the comprehensibility of functional decomposition: An empirical studyProceedings of the 32nd IEEE/ACM International Conference on Program Comprehension10.1145/3643916.3644432(214-224)Online publication date: 15-Apr-2024
  • (2024)Modular Monolith: Is This the Trend in Software Architecture?Proceedings of the 1st International Workshop on New Trends in Software Architecture10.1145/3643657.3643911(10-13)Online publication date: 14-Apr-2024
  • (2024)When Large Language Models Confront Repository-Level Automatic Program Repair: How Well They Done?Proceedings of the 2024 IEEE/ACM 46th International Conference on Software Engineering: Companion Proceedings10.1145/3639478.3647633(459-471)Online publication date: 14-Apr-2024
  • (2024)Reusing Convolutional Neural Network Models through Modularization and CompositionACM Transactions on Software Engineering and Methodology10.1145/363274433:3(1-39)Online publication date: 15-Mar-2024
  • (2024)CRTypist: Simulating Touchscreen Typing Behavior via Computational RationalityProceedings of the CHI Conference on Human Factors in Computing Systems10.1145/3613904.3642918(1-17)Online publication date: 11-May-2024
  • (2024)Software Architecture Recovery from Multiple Dependency ModelsProceedings of the 39th ACM/SIGAPP Symposium on Applied Computing10.1145/3605098.3635917(1185-1192)Online publication date: 8-Apr-2024
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media