Designing software for ease of extension and contraction
D. Parnas. ICSE '78: Proceedings of the 3rd international conference on Software engineering, page 264--277. Piscataway, NJ, USA, IEEE Press, (1978)
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.
%0 Conference Paper
%1 parnas78
%A Parnas, David L.
%B ICSE '78: Proceedings of the 3rd international conference on Software engineering
%C Piscataway, NJ, USA
%D 1978
%I IEEE Press
%K evolution software
%P 264--277
%T Designing software for ease of extension and contraction
%U http://portal.acm.org/citation.cfm?id=800099.803218
%X 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.
@inproceedings{parnas78,
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.},
added-at = {2006-03-24T16:34:33.000+0100},
address = {Piscataway, NJ, USA},
author = {Parnas, David L.},
biburl = {https://www.bibsonomy.org/bibtex/2c2e26127f326a8b5b744a2a003abdffa/neilernst},
booktitle = {ICSE '78: Proceedings of the 3rd international conference on Software engineering},
citeulike-article-id = {332554},
comment = {- seems like a first crack at OO principles of encapsulation and data hiding
-},
description = {sdasda},
interhash = {d196b9f941bd76f3849bce1036d032b2},
intrahash = {c2e26127f326a8b5b744a2a003abdffa},
keywords = {evolution software},
pages = {264--277},
priority = {0},
publisher = {IEEE Press},
timestamp = {2006-03-24T16:34:33.000+0100},
title = {Designing software for ease of extension and contraction},
url = {http://portal.acm.org/citation.cfm?id=800099.803218},
year = 1978
}