You are on page 1of 26

Slide 3.

Object-Oriented and
Classical Software
Engineering
Fifth Edition, WCB/McGraw-Hill, 2002

Stephen R. Schach
srs@vuse.vanderbilt.edu

© The McGraw-Hill Companies, 2002


CHAPTER 3 Slide 3.2

SOFTWARE
LIFE-CYCLE
MODELS

© The McGraw-Hill Companies, 2002


Overview Slide 3.3

● Build-and-fix model
● Waterfall model
● Rapid prototyping model
● Incremental model
● Extreme programming
● Synchronize-and-stabilize model
● Spiral model
● Object-oriented life-cycle models
● Comparison of life-cycle models

© The McGraw-Hill Companies, 2002


Software Life-Cycle Models Slide 3.4

● Life-cycle model (formerly, process model)


● The steps through which the product
progresses
– Requirements phase
– Specification phase
– Design phase
– Implementation phase
– Integration phase
– Maintenance phase
– Retirement

© The McGraw-Hill Companies, 2002


Build and Fix Model Slide 3.5

● Problems
– No specifications
– No design
● Totally
unsatisfactory
● Need life-cycle
model
– “Game plan”
– Phases
– Milestones

© The McGraw-Hill Companies, 2002


Waterfall Model (contd) Slide 3.6

● Characterized by
– Feedback loops
– Documentation-driven
● Advantages
– Documentation
– Maintenance easier
● Disadvantages
– Specifications
» Joe and Jane Johnson
» Mark Marberry

© The McGraw-Hill Companies, 2002


Rapid Prototyping Model Slide 3.7

● Linear model
● “Rapid”

© The McGraw-Hill Companies, 2002


Three Key Points Slide 3.8

● Do not turn into product


● Rapid prototyping may replace specification
phase—never the design phase
● Comparison:
– Waterfall model—try to get it right first time
– Rapid prototyping—frequent change, then discard

© The McGraw-Hill Companies, 2002


Waterfall and Rapid Prototyping Models Slide 3.9

● Waterfall model
– Many successes
– Client needs
● Rapid prototyping model
– Not proved
– Has own problems
● Solution
– Rapid prototyping for requirements
phase
– Waterfall for rest of life cycle

© The McGraw-Hill Companies, 2002


Incremental Model Slide 3.10

● Divide project
into builds

© The McGraw-Hill Companies, 2002


Incremental Model (contd) Slide 3.11

● Waterfall, rapid prototyping models


– Operational quality complete product at end
● Incremental model
– Operational quality portion of product within weeks
● Less traumatic
● Smaller capital outlay, rapid return on investment
● Need open architecture—maintenance
implications
● Variations used in object-oriented life cycle

© The McGraw-Hill Companies, 2002


Incremental Model (contd) Slide 3.12

● Problems
– Build-and-fix danger
– Contradiction in terms

© The McGraw-Hill Companies, 2002


Incremental Model (contd) Slide 3.13

● More risky version—pieces may not fit


– CABTAB and its dangers

© The McGraw-Hill Companies, 2002


Extreme Programming Slide 3.14

● Somewhat controversial new approach


● Stories (features client wants)
● Estimate duration and cost of each story
● Select stories for next build
● Each build is divided into tasks
● Test cases for task are drawn up first
● Pair programming
● Continuous integration of tasks

© The McGraw-Hill Companies, 2002


Unusual Features of XP Slide 3.15

● Computers are put in center of large room


lined with cubicles
● Client representative is always present
● Cannot work overtime for 2 successive
weeks
● No specialization
● Refactoring

© The McGraw-Hill Companies, 2002


Evaluating XP Slide 3.16

● XP has had some successes


● Good when requirements are vague or
changing
● Too soon to evaluate XP

© The McGraw-Hill Companies, 2002


Synchronize-and Stabilize Model Slide 3.17

● Microsoft’s life-cycle model


● Requirements analysis—interview potential
customers
● Draw up specifications
● Divide project into 3 or 4 builds
● Each build is carried out by small teams
working in parallel

© The McGraw-Hill Companies, 2002


Synchronize-and Stabilize Model (contd) Slide 3.18

● At the end of the day—synchronize (test and


debug)
● At the end of the build—stabilize (freeze build)
● Components always work together
– Get early insights into operation of product

© The McGraw-Hill Companies, 2002


Spiral Model Slide 3.19

● Simplified form
– Waterfall model
plus risk analysis
● Precede each
phase by
– Alternatives
– Risk analysis
● Follow each
phase by
– Evaluation
– Planning of next
phase
© The McGraw-Hill Companies, 2002
Simplified Spiral Model Slide 3.20

● If risks
cannot be
resolved,
project is
immediately
terminated

© The McGraw-Hill Companies, 2002


Full Spiral Model Slide 3.21

● Radial dimension: cumulative cost to date


● Angular dimension: progress through the spiral

© The McGraw-Hill Companies, 2002


Full Spiral Model (contd) Slide 3.22

© The McGraw-Hill Companies, 2002


Analysis of Spiral Model Slide 3.23

● Strengths
– Easy to judge how much to test
– No distinction between development,
maintenance

● Weaknesses
– For large-scale software only
– For internal (in-house) software only

© The McGraw-Hill Companies, 2002


Object-Oriented Life-Cycle Models Slide 3.24

● Need for iteration within and between phases


– Fountain model
– Recursive/parallel life cycle
– Round-trip gestalt
– Unified software development process
● All incorporate some form of
– Iteration
– Parallelism
– Incremental development
● Danger
– CABTAB

© The McGraw-Hill Companies, 2002


Fountain Model Slide 3.25

● Features
● Overlap
(parallelism)
● Arrows (iteration)
● Smaller
maintenance circle

© The McGraw-Hill Companies, 2002


Conclusions Slide 3.26

● Different life-cycle models


● Each with own strengths
● Each with own weaknesses
● Criteria for deciding on a model include
– The organization
– Its management
– Skills of the employees
– The nature of the product
● Best suggestion
– “Mix-and-match” life-cycle model

© The McGraw-Hill Companies, 2002

You might also like