• DocumentCode
    750067
  • Title

    Designing Software for Ease of Extension and Contraction

  • Author

    Parnas, David L.

  • Author_Institution
    Information Systems Staff, Communications Sciences Division, Naval Research Laboratory
  • Issue
    2
  • fYear
    1979
  • fDate
    3/1/1979 12:00:00 AM
  • Firstpage
    128
  • Lastpage
    138
  • Abstract
    Designing software to be extensible and easily contracted is discussed as a special case of design for change. A number of ways that extension and contraction problems manifest themselves in current software are explained. Four steps in the design of software that is more flexible are then discussed. The most critical step is the design of a software structure called the " uses" relation. Some criteria for design decisions are given and illustrated using a small example. It is shown that the identification of minimal subsets and minimal extensions can lead to software that can be tailored to the needs of a broad variety of users.
  • Keywords
    Contractibility; extensibility; modularity; software engineering; subsets; supersets; Computer industry; Computer science; Data structures; Information systems; Job shop scheduling; Processor scheduling; Programming profession; Software design; Software engineering; Software systems; Contractibility; extensibility; modularity; software engineering; subsets; supersets;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.1979.234169
  • Filename
    1702607