skip to main content
10.1145/503209.503224acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

The structure and value of modularity in software design

Authors Info & Claims
Published:01 September 2001Publication History

ABSTRACT

The concept of information hiding modularity is a cornerstone of modern software design thought, but its formulation remains casual and its emphasis on changeability is imperfectly related to the goal of creating added value in a given context. We need better explanatory and prescriptive models of the nature and value of information hiding. We evaluate the potential of a new theory---developed to account for the influence of modularity on the evolution of the computer industry---to inform software design. The theory uses design structure matrices to model designs and real options techniques to value them. To test the potential utility of the theory for software we apply it to Parnas's KWIC designs. We contribute an extension to design structure matrices, and we show that the options results are consistent with Parnas's conclusions. Our results suggest that such a theory does have potential to help inform software design.

References

  1. 1.Baldwin, C. Y. and Clark, K. B., Design Rules: The Power of Modularity, MIT Press, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2.Beck, K. Extreme Programming Explained: Embrace Change, Addison-Wesley, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.B. Boehm and K.J. Sullivan, "Software economics: a roadmap," in The Future of Software Engineering, 22nd International Conference on Software Engineering, June, 2000. pp. 319-344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4.Eppinger, S.D. "A planning method for integration of largescale engineering systems," International Conference on Engineering Design, 1997.Google ScholarGoogle Scholar
  5. 5.Favaro, J.M., K.R. Favaro and P.F. Favaro (1998), "Valuebased software reuse investment," Annals of Software Engineering 5, , pp. 5 - 52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6.Garlan, D., Kaiser, G.E., and Notkin, D., "Using tools to compose systems," IEEE Computer, vol. 25, no.6. June 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 7.Parnas, D. L., "On the criteria to be used in decomposing system into modules," Communications of the ACM, Vol. 15, No. 12, December 1972 pp. 1053-1058. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8.Shaw, M., Garlan, D., Allen, R., Klein, D., Ockerbloom, J., Scott, C. and Schumacher, M. "Candidate model problems in software architecture," Computer Science Department, Carnegie-Mellon University, Technical Report (Shaw 95-2), January, 1995.Google ScholarGoogle Scholar
  9. 9.Steward, D.V., "The Design Structure System: A Method for Managing the Design of Complex Systems." IEEE Transactions in Engineering Management, vol. 28, no. 3, 1981, pp. 71-84.Google ScholarGoogle ScholarCross RefCross Ref
  10. 10.Sullivan, K.J., P. Chalasani, S. Jha and V. Sazawal, "Software Design as an Investment Activity: A Real Options Perspective" in Real Options and Business Srategy: Applications to Decision Making, L. Trigeorgis, consulting editor, Risk Books, 1999. (Previously Sullivan et al., "Software Design Decisions as Real Options," Technical Report 97-14, University of Virginia Department of Computer Science, Charlottesville, Virginia, USA, 1997.) Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Sullivan, K.J., "Software Design: The Options Approach," 2nd International Software Architecture Workshop, Joint Proceedings of the SIGSOFT '96 Workshops, San Francisco, CA, October, 1996, pp. 15-18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12.Withey, J., "Investment Analysis of Software Assets for Product Lines," Software Engineering Institute, Carnegie Mellon University, Technical Report CMU/SEI-96-TR-10, 1996.Google ScholarGoogle Scholar

Index Terms

  1. The structure and value of modularity in software design

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
      September 2001
      329 pages
      ISBN:1581133901
      DOI:10.1145/503209
      • Conference Chairs:
      • A. Min Tjoa,
      • Volker Gruhn
      • cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 26, Issue 5
        Sept. 2001
        329 pages
        ISSN:0163-5948
        DOI:10.1145/503271
        Issue’s Table of Contents

      Copyright © 2001 ACM

      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: 1 September 2001

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      ESEC/FSE-9 Paper Acceptance Rate29of137submissions,21%Overall Acceptance Rate112of543submissions,21%

      Upcoming Conference

      FSE '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader