Topic: top-down vs. bottom-up design

topics > computer science > programming > Group: program design

decomposition of a system into levels
data-driven design
hierarchical structures
limitations of hierarchical structures
stepwise refinement
structured programming
user-centered design
Subtopic: procedural programming up

Quote: original programming paradigm was decide on procedures and find the best algorithms [»stroB5_1989]
Quote: program subroutines before the main program; subroutine definition may change and details are not known until later [»turiA3_1951]

Subtopic: bottom-up design up

Quote: successful systems on the Web are bottom-up, depending on the wisdom of crowds [»boswA10_2005]
Quote: design a programming language by understanding the structure of computation and data spaces; instead of evaluating features against their costs [»mccaJ8_1962]
Quote: lower control of UtahHand 'does what its told' with speed, strength and stability [»jacoSC4_1986]
Quote: writers begin by bottom-up thinking by building a semantic network [»smitJB6_1987]
Quote: build up complex theories from small pieces; use combination, extension, induction, and derivation [»bursRM8_1977]
Quote: generalized components are only created by bottom-up design [»jackMA_1975]
Quote: common subroutines from bottom-up design are reused; those from top-down design are for optimization [»jackMA_1975]

Subtopic: contextual design up

Quote: design from external characteristics first; helps avoid unfortunate consequences [»parnDL8_1971]

Subtopic: delayed decision up

Quote: generate SQL by random parse trees and delayed decisions; propagate state information downwards and decisions upwards [»slutD8_1998, OK]

Subtopic: top-down design up

Quote: the top-down designer creates tree structures; at a level with no shared components [»jackMA_1975]
Quote: old changes are difficult to reverse; early decisions should be least likely to change, based on universal truths [»parnDL8_1971]
Quote: limit span of attention through top-down design; only one use of each program component [»jackMA_1975]
Quote: if programs are structured as trees then always know the origin of any component [»jackMA_1975]
Quote: must divide projects into sub-projects before adding staff, but hasty decisions leads to poor usability and a weak internal structure [»parnDL8_1971]
Quote: designers should design the data processing modes, data base, execution time allocations, interfaces, processing modes, input/output processing, and operating procedures [»roycWW8_1970]
QuoteRef: rossDT_1970 ;;94 outside in design (i.e. top down)
QuoteRef: rossDT1_1977 ;;16 Structured Analysis "is concerned only with the orderly and well-structured decomposition of the subject matter.

Subtopic: hierarchical design up

Quote: design hierarchically with repetitive and alternative structures; clear organization, economical, easier debugging and maintenance [»warnJD_1974]
Quote: each level of a hierarchy represents a doubling or more in size; small and medium systems have few levels [»dijkEW10_1972]
Quote: a functional program for matrix multiply is hierarchically constructed from simpler components; without word-at-a-time programming [»backJ8_1978a]
Quote: structured analysis produces a hierarchy of diagrams, each describing a limited area; even complex subjects may be understood [»rossDT1_1977]

Subtopic: problems with bottom-up design up

Quote: if design from inside out, i.e., internals first, get a 'queen bee' system; one that requires a support team of systems programmers [»joneTC4_1979b]
Quote: if a program reuses components then the context of a statement depends on the prior execution history; requires a trace to debug [»jackMA_1975]
Quote: bottom-up programming increases functional power but lacks organization [»knutDE2_1984]

Subtopic: problems with top-down design up

Quote: top-down programming is goal oriented but final decisions not made until the end [»knutDE2_1984]
Quote: good programs need not be written top-down; even if the final result looks well structured [»greeTR_1980]
Quote: top-down design and step-wise refinement may not represent the developmental steps in the final program [»wulfWA_1977]
Quote: top-down design and step-wise refinement ignore the search for commonality; generates a tree of steps

Related Topics up

Topic: decomposition of a system into levels (49 items)
Topic: data-driven design (41 items)
Topic: hierarchical structures (46 items)
Topic: limitations of hierarchical structures (10 items)
Topic: stepwise refinement (25 items)
Topic: structured programming (27 items)
Topic: user-centered design
(65 items)

Updated barberCB 3/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.