Designing Software for Ease of Extension and Contraction
- 1 March 1979
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Software Engineering
- Vol. SE-5 (2), 128-138
- https://doi.org/10.1109/tse.1979.234169
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
This publication has 11 references indexed in Scilit:
- Design and Specification of the Minimal Subset of an Operating System FamilyIEEE Transactions on Software Engineering, 1976
- On the Design and Development of Program FamiliesIEEE Transactions on Software Engineering, 1976
- The use of abstract data types to simplify program modificationsPublished by Association for Computing Machinery (ACM) ,1976
- Use of the concept of transparency in the design of hierarchically structured systemsCommunications of the ACM, 1975
- A structured specification of a hierarchical operating systemPublished by Association for Computing Machinery (ACM) ,1975
- HYDRACommunications of the ACM, 1974
- A technique for software module specification with examplesCommunications of the ACM, 1972
- On the Criteria to Be Used in Decomposing Systems into ModulesPublished by Springer Nature ,1972
- The nucleus of a multiprogramming systemCommunications of the ACM, 1970
- The structure of the “THE”-multiprogramming systemCommunications of the ACM, 1968