Post on 30-May-2018
8/14/2019 schach5-chap03-14[1]
1/26
Slide 3.1
The McGraw-Hill Companies, 2002
Object-Oriented andClassical Software
Engineering
Fifth Edition, WCB/McGraw-Hill, 2002
Stephen R. Schachsrs@vuse.vanderbilt.edu
8/14/2019 schach5-chap03-14[1]
2/26
Slide 3.2
The McGraw-Hill Companies, 2002
CHAPTER 3
SOFTWARE
LIFE-CYCLE
MODELS
8/14/2019 schach5-chap03-14[1]
3/26
Slide 3.3
The McGraw-Hill Companies, 2002
Overview
q Build-and-fix model
q Waterfall model
q Rapid prototyping model
q Incremental model
q Extreme programming
q Synchronize-and-stabilize model
q Spiral model
q Object-oriented life-cycle models
q Comparison of life-cycle models
8/14/2019 schach5-chap03-14[1]
4/26
Slide 3.4
The McGraw-Hill Companies, 2002
Software Life-Cycle Models
q Life-cycle model (formerly, process model)q The steps through which the product
progresses Requirements phase
Specification phase
Design phase
Implementation phase
Integration phase
Maintenance phase
Retirement
8/14/2019 schach5-chap03-14[1]
5/26
Slide 3.5
The McGraw-Hill Companies, 2002
Build and Fix Model
q Problems
No specifications
No design
q Totally
unsatisfactoryq Need life-cycle
model
Game plan
Phases
Milestones
8/14/2019 schach5-chap03-14[1]
6/26
Slide 3.6
The McGraw-Hill Companies, 2002
Waterfall Model (contd)
q Characterized by
Feedback loops
Documentation-driven
q Advantages
Documentation Maintenance easier
q Disadvantages
Specifications
Joe and Jane Johnson
Mark Marberry
8/14/2019 schach5-chap03-14[1]
7/26
Slide 3.7
The McGraw-Hill Companies, 2002
Rapid Prototyping Model
q Linear model
q Rapid
8/14/2019 schach5-chap03-14[1]
8/26
Slide 3.8
The McGraw-Hill Companies, 2002
Three Key Points
q Do not turn into product
q Rapid prototyping may replace specification
phasenever the design phase
q Comparison:
Waterfall modeltry to get it right first time Rapid prototypingfrequent change, then discard
8/14/2019 schach5-chap03-14[1]
9/26
Slide 3.9
The McGraw-Hill Companies, 2002
Waterfall and Rapid Prototyping Models
q Waterfall model Many successes
Client needs
q Rapid prototyping model Not proved
Has own problems
q Solution Rapid prototyping for requirements
phase
Waterfall for rest of life cycle
8/14/2019 schach5-chap03-14[1]
10/26
Slide 3.10
The McGraw-Hill Companies, 2002
Incremental Model
q Divide project
into builds
8/14/2019 schach5-chap03-14[1]
11/26
Slide 3.11
The McGraw-Hill Companies, 2002
Incremental Model (contd)
q Waterfall, rapid prototyping models
Operational quality complete product at end
q Incremental model
Operational quality portion of product within weeks
q Less traumaticq Smaller capital outlay, rapid return on investment
q Need open architecturemaintenance
implicationsq Variations used in object-oriented life cycle
8/14/2019 schach5-chap03-14[1]
12/26
Slide 3.12
The McGraw-Hill Companies, 2002
Incremental Model (contd)
q Problems
Build-and-fix danger
Contradiction in terms
8/14/2019 schach5-chap03-14[1]
13/26
Slide 3.13
The McGraw-Hill Companies, 2002
Incremental Model (contd)
q More risky versionpieces may not fit
CABTAB and its dangers
8/14/2019 schach5-chap03-14[1]
14/26
Slide 3.14
The McGraw-Hill Companies, 2002
Extreme Programming
q Somewhat controversial new approach
q Stories (features client wants)
q Estimate duration and cost of each story
q Select stories for next build
q Each build is divided into tasks
q Test cases for task are drawn up first
q Pair programming
q Continuous integration of tasks
8/14/2019 schach5-chap03-14[1]
15/26
Slide 3.15
The McGraw-Hill Companies, 2002
Unusual Features of XP
q Computers are put in center of large room
lined with cubiclesq Client representative is always presentq Cannot work overtime for 2 successive
weeksq No specializationq Refactoring
8/14/2019 schach5-chap03-14[1]
16/26
Slide 3.16
The McGraw-Hill Companies, 2002
Evaluating XP
q XP has had some successesq Good when requirements are vague or
changingq Too soon to evaluate XP
8/14/2019 schach5-chap03-14[1]
17/26
Slide 3.17
The McGraw-Hill Companies, 2002
Synchronize-and Stabilize Model
q Microsofts life-cycle model
q Requirements analysisinterview potential
customers
q Draw up specifications
q Divide project into 3 or 4 buildsq Each build is carried out by small teams
working in parallel
8/14/2019 schach5-chap03-14[1]
18/26
Slide 3.18
The McGraw-Hill Companies, 2002
Synchronize-and Stabilize Model (contd)
q At the end of the daysynchronize (test and
debug)
q At the end of the buildstabilize (freeze build)
q Components always work together
Get early insights into operation of product
8/14/2019 schach5-chap03-14[1]
19/26
Slide 3.19
The McGraw-Hill Companies, 2002
Spiral Model
q Simplified form
Waterfall model
plus risk analysis
q Precede each
phase by Alternatives
Risk analysis
q Follow each
phase by Evaluation
Planning of next
phase
8/14/2019 schach5-chap03-14[1]
20/26
Slide 3.20
The McGraw-Hill Companies, 2002
Simplified Spiral Model
q If risks
cannot be
resolved,
project is
immediatelyterminated
8/14/2019 schach5-chap03-14[1]
21/26
Slide 3.21
The McGraw-Hill Companies, 2002
Full Spiral Model
q Radial dimension: cumulative cost to date
q Angular dimension: progress through the spiral
8/14/2019 schach5-chap03-14[1]
22/26
Slide 3.22
The McGraw-Hill Companies, 2002
Full Spiral Model (contd)
8/14/2019 schach5-chap03-14[1]
23/26
Slide 3.23
The McGraw-Hill Companies, 2002
Analysis of Spiral Model
q Strengths
Easy to judge how much to test No distinction between development,
maintenance
q Weaknesses For large-scale software only
For internal (in-house) software only
8/14/2019 schach5-chap03-14[1]
24/26
Slide 3.24
The McGraw-Hill Companies, 2002
Object-Oriented Life-Cycle Models
q Need for iteration within and between phases
Fountain model
Recursive/parallel life cycle
Round-trip gestalt
Unified software development processq All incorporate some form of
Iteration
Parallelism
Incremental development
q Danger
CABTAB
8/14/2019 schach5-chap03-14[1]
25/26
Slide 3.25
The McGraw-Hill Companies, 2002
Fountain Model
q Features
q Overlap
(parallelism)
q Arrows (iteration)
q Smallermaintenance circle
8/14/2019 schach5-chap03-14[1]
26/26
Slide 3.26Conclusions
q Different life-cycle models
q Each with own strengths
q Each with own weaknesses
q Criteria for deciding on a model include
The organization
Its management
Skills of the employees
The nature of the product
q Best suggestion
Mix-and-match life-cycle model