Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering...
-
Upload
cory-goodman -
Category
Documents
-
view
217 -
download
0
Transcript of Slide 3.1 © The McGraw-Hill Companies, 2002 Object-Oriented and Classical Software Engineering...
Slide 3.1
© The McGraw-Hill Companies, 2002
Object-Oriented and Classical Software
Engineering
Fifth Edition, WCB/McGraw-Hill, 2002
Stephen R. [email protected]
Slide 3.2
© The McGraw-Hill Companies, 2002
CHAPTER 3
SOFTWARE LIFE-CYCLE
MODELS
Slide 3.3
© The McGraw-Hill Companies, 2002
Overview
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
Slide 3.4
© The McGraw-Hill Companies, 2002
Software Life-Cycle Models
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
Slide 3.5
© The McGraw-Hill Companies, 2002
Build and Fix Model
Problems– No specifications– No design
Totally unsatisfactory
Need a life-cycle model– “Game plan” – Phases– Milestones
Slide 3.6
© The McGraw-Hill Companies, 2002
Waterfall Model
Characterized by– Feedback loops– Documentation-driven
Advantages – Documentation– Maintenance easier
Disadvantages– Specification document
» Joe and Jane Johnson» Mark Marberry
Slide 3.7
© The McGraw-Hill Companies, 2002
Rapid Prototyping Model
Linear model “Rapid”
Slide 3.8
© The McGraw-Hill Companies, 2002
Three Key Points
Do not turn the rapid prototype into the product Rapid prototyping may replace the
specification phase—never the design phase Comparison:
– Waterfall model—try to get it right the first time– Rapid prototyping—frequent change, then discard
Slide 3.9
© The McGraw-Hill Companies, 2002
Waterfall and Rapid Prototyping Models
Waterfall model– Many successes– Client’s needs
Rapid prototyping model– Not proved – Has its own problems
Solution– Rapid prototyping for the requirements phase– Waterfall model for the rest of the life cycle
Slide 3.10
© The McGraw-Hill Companies, 2002
Incremental Model
Divide project into builds
Slide 3.11
© The McGraw-Hill Companies, 2002
Incremental Model (contd)
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
Slide 3.12
© The McGraw-Hill Companies, 2002
Incremental Model (contd)
Problems– Build-and-fix danger– Contradiction in terms
Slide 3.13
© The McGraw-Hill Companies, 2002
Incremental Model (contd)
More risky version—pieces may not fit– CABTAB and its dangers
Slide 3.14
© The McGraw-Hill Companies, 2002
Extreme Programming
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 a task are drawn up first Pair programming Continuous integration of tasks
Slide 3.15
© The McGraw-Hill Companies, 2002
Unusual Features of XP
Computers are put in the center of a large room lined with cubicles
A client representative is always present Cannot work overtime for 2 successive
weeks No specialization Refactoring
Slide 3.16
© The McGraw-Hill Companies, 2002
Evaluating XP
XP has had some successes Good when requirements are vague or changing Too soon to evaluate XP
Slide 3.17
© The McGraw-Hill Companies, 2002
Synchronize-and Stabilize Model
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
Slide 3.18
© The McGraw-Hill Companies, 2002
Synchronize-and Stabilize Model (contd)
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 the operation of the product
Slide 3.19
© The McGraw-Hill Companies, 2002
Spiral Model
Simplified form– Waterfall model plus
risk analysis preceding each phase
Slide 3.20
© The McGraw-Hill Companies, 2002
Simplified Spiral Model
View of spiral
Slide 3.21
© The McGraw-Hill Companies, 2002
A Key Point of the Spiral Model
If all risks cannot be resolved, the project is immediately terminated
Slide 3.22
© The McGraw-Hill Companies, 2002
Full Spiral Model
Precede each phase by– Alternatives– Risk analysis
Follow each phase by– Evaluation– Planning of next phase
Radial dimension: cumulative cost to date Angular dimension: progress through the spiral
Slide 3.23
© The McGraw-Hill Companies, 2002
Full Spiral Model (contd)
Slide 3.24
© The McGraw-Hill Companies, 2002
Analysis of Spiral Model
Strengths– It is easy to judge how much to test– No distinction is made between development,
maintenance Weaknesses
– For large-scale software only – For internal (in-house) software only
Slide 3.25
© The McGraw-Hill Companies, 2002
Object-Oriented Life-Cycle Models
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
Slide 3.26
© The McGraw-Hill Companies, 2002
Fountain Model
Overlap (parallelism)
Arrows (iteration) Smaller
maintenance circle
Slide 3.27
© The McGraw-Hill Companies, 2002
Conclusions
Different life-cycle models– Each with its own strengths– Each with its 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