QuoteRef: parnDL5_1978

topics > all references > ThesaHelp: references p-r

references p-r
general purpose computer systems
families of programs
intermediate representation of code
uniform representation of files and sequences
program module as encapsulation
incremental testing
design for change
virtual machine
the 'uses' hierarchy for organizing systems
dependency analysis
design documentation
system builds
managing a Thesa database
information hiding


Parnas, D.L., "Designing software for ease of extension and contraction", Proceedings International Conference on Software Engineering, IEEE, pp. 264-277, May 1978. Google

Other Reference

IEEE Trans. Software Engineering, 128-137, May 1979

265 ;;Quote: a mathematician proves a general theorem instead of closely related ones; but in software, generality is too expensive for unlikely events
265 ;;Quote: a system is hard to extend or contract if too many programs assume given features
266 ;;Quote: in multi-pass programs with different intermediate formats, can not remove a pass
266 ;;Quote: should not combine simple functions into one component
266 ;;Quote: using routines from untested modules can lead to systems that only work when everything works; e.g., a task scheduler that depends on the file system
266 ;;Quote: in design for change, must anticipate change before beginning a design
267 ;;Quote: identification of modules for a program family is difficult; first find a minimal subset and then add minimal increments
267 ;;Quote: virtual machine approach--instead of writing functions, we should design software machine extensions that will be useful for many programs
268 ;;Quote: 'A uses B' if the correct functioning of A depends on a correct implementation of B
268 ;;Quote: a program may invoke a program without using it; e.g., if A's specifications only require that it invoke B on some condition
268 ;;Quote: a program may use another without invoking it; e.g., most programs depend on interrupt handlers working correctly
269 ;;Quote: each level of a 'uses' hierarchy is a testable and usable subset of the system
269+;;Quote: can test and use subsets of a level in the 'uses' hierarchy
269 ;;Quote: A uses B when it simplifies A, B doesn't use A, a useful subset includes B alone, and useful subsets with A must include B
269 ;;Quote: if A and B use each other, then split into more than one program; called sandwiching
269 ;;Quote: a program is at the right 'uses' level if it doesn't need functions above it but does need ones below it
269 ;;Quote: the design of the 'uses' hierarchy should be a major design milestone
270 ;;Quote: example of design for change in processing street addresses
274 ;;Quote: for an application, identify the programs needed from the 'uses' hierarchy and include everything else that is used
274 ;;Quote: flexibility can not be added to a software design; choice of usable subsets must be a preliminary step
274 ;;Quote: no feature or function is always needed in a system
275 ;;Quote: software is general if it can be used without change; it is flexible if it can be easily changed
275+;;Quote: generalized software is less efficient than flexible software
276 ;;Quote: in a 'uses' hierarchy, low level operations may assume a data structure, next level may allow similar data structures, and top level doesn't know

Related Topics up

ThesaHelp: references p-r (245 items)
Topic: general purpose computer systems (9 items)
Topic: families of programs (11 items)
Topic: intermediate representation of code (29 items)
Topic: uniform representation of files and sequences (14 items)
Topic: program module as encapsulation (28 items)
Topic: incremental testing (25 items)
Topic: design for change (75 items)
Topic: virtual machine (13 items)
Topic: the 'uses' hierarchy for organizing systems (18 items)
Topic: dependency analysis (31 items)
Topic: design documentation (43 items)
Topic: system builds (36 items)
Topic: managing a Thesa database (34 items)
Topic: information hiding (50 items)

Collected barberCB 1980
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.