Software Life Cycle Models

Dr. Jody Paul
jody@acm.org

Primary functions of a software process model

Why are software process models important?



Life Cycle Models

Code & Fix (1950s+) [AKA: Code & Go or Cut & Run]

Difficulties



Design -- Code -- Test -- Maintenance (1960s)

Problems



Waterfall (1970+)

Model Phases

Economic Rationales:

  1. In order to achieve a successful software product, must achieve all of the subgoals within each phase at some stage anyway.

  2. Any different ordering of the phases will produce a less successful software product.
    (It costs more to remove defects later in the development cycle.)

Problems

"Much of present-day software-acquisition procedure rests upon the assumption that one can specify a satisfactory system in advance, get bids for its construction, have it built, and install it. I think this assumption is fundamentally wrong, and that many software-acquisition problems spring from that fallacy. Hence, they cannot be fixed without fundamental revision -- revision that provides for iterative development and specification of prototypes and products."  --Brooks


Intermediate Models:

       Evolutionary Development Model

       Transform Model



Spiral Model

      Model Cycles

      Major distinguishing feature:

It creates a risk-driven approach to the software process rather than a primarily document-driven or code-driven process, thereby hoping to The Spiral Development Model is a model generator (or meta-model). The risk-driven subsetting of the spiral model steps accommodate any mixture of specification-oriented, prototype-oriented, and simulation-oriented approaches to software development.


WinWin Spiral Model

      Model Cycles

      Major distinguishing feature:

Adds three activities to the front end of each spiral cycle: The additional activities account for where the elaborated objectives, constraints, and alternatives come from (a noted difficulty with the spiral model as originally proposed). This more clearly identifies the rationale involved in negotiating the "win" conditions for the product.
(See: Boehm, B. et al., "Using the WinWin Spiral Model: A Case Study." IEEE Computer, July 1998, pp. 33-44.)


Return to SWE page To Software Engineering Home Page



©1997-1999 Dr. Jody Paul