next up previous
Next: Problem Definition Up: Prelude to Dealing with Previous: Prelude to Dealing with

Concepts and Paradigms

A paradigm is a system with all its accompanying concepts, rules, prejudices, etc. The term was introduced by Thomas Kuhn[4] and popularized in computer science circles by Robert Floyd[1]. In the broad sense, paradigms are metaphors. Metaphors are concepts we use to understand a complicated, unknown idea in terms of less complicated, known ideas. We are interested in metaphors that help illuminate the software development process.

A central metaphor is the incremental development. In incremental development, one first builds the simplest system. This simplest system is debugged and tested until it is rock-solid (another metaphor). After this simplest system is acceptable, the next layer of capability is added and tested. This process does not happen haphazardly, but is planned from the outset. The construction metaphor used in Section 4.1 captures the concepts quite well.



Steve Stevenson
Wed Feb 26 10:54:45 EST 1997