Skip to main content

On the Criteria to Be Used in Decomposing Systems into Modules

  • Chapter
Pioneers and Their Contributions to Software Engineering

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gauthier, Richard, and Pont, Stephen. Designing Systems Programs, (C), Prentice-Hall, Englewood Cliffs, N.J., 1970.

    Google Scholar 

  2. Hoare, C. A. R. Proof of a program, FIND. Comm. ACM 14, 1 (Jan. 1971), 39–45.

    Article  MATH  Google Scholar 

  3. Parnas, D. L. A technique for software module specification with examples. Comm. ACM 15, 5 (May, 1972), 330–336.

    Article  Google Scholar 

  4. Parnas, D. L. Information distribution aspects of desigmethodology. Tech. Rept., Depart. Computer Science, Carnegie-Mellon U., Pittsburgh, Pa., 1971. Also presented at the IFIP Congress 1971, Ljubljana, Yugoslavia.

    Google Scholar 

  5. Dijkstra, E. W. The structure of “THE”-multiprogramming system. Comm. ACM 11, 5 (May 1968), 341–346.

    Article  MATH  Google Scholar 

  6. Galler, B., and Perlis, A. J. A View of Programming Languages, Addison-Wesley, Reading, Mass., 1970.

    MATH  Google Scholar 

  7. Parnas, D. L. A course on software engineering. Proc. SIGCSE Technical Symposium, Mar. 1972.

    Google Scholar 

  8. Balzer, R. M. Dataless programming. Proc. AFIPS 1967 FJCC, Vol. 31, AFIPS Press, Montvale, N.J. pp. 535-544.

    Google Scholar 

  9. Mealy, G. H. Another look at data. Proc. AFIPS 1967 FJCC, Vol. 31, AFIPS Press, Montvale, NJ., pp. 525-534.

    Google Scholar 

  10. Wulf, W. A., Russell, D. B., and Habermann, A.N. BLISS, A language for systems programming. Comm. ACM 14, 12 (Dec. 1971), 780–790.

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1972 Association for Computing Machinery, Inc.

About this chapter

Cite this chapter

Parnas, D.L. (1972). On the Criteria to Be Used in Decomposing Systems into Modules. In: Broy, M., Denert, E. (eds) Pioneers and Their Contributions to Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-48354-7_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-48354-7_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42290-7

  • Online ISBN: 978-3-642-48354-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics