Slide 3.1CHAPTER 3SOFTWARELIFE-CYCLEMODELS
Slide 3.2OverviewBuild-and-fix modelWaterfall modelRapid prototyping modelIncremental modelExtreme programmingSynchronize-...
Slide 3.3Software Life-Cycle ModelsLife-cycle modelThe steps through which the productprogresses– Requirements phase– Spec...
Slide 3.4Build and Fix ModelProblems– No specifications– No designTotallyunsatisfactory forany reasonablesize softwareNeed...
Slide 3.5Waterfall ModelThe only widely-used modeluntil the early 80’sCharacterized by– Feedback loops– Documentation-driv...
Slide 3.6Rapid Prototyping ModelRapid prototype – a workingmodel functionally equivalent toa subset of the product– Determ...
Slide 3.7Three Key PointsDo not turn a rapid prototype into productRapid prototyping may replace specificationphase—never ...
Slide 3.8Integrating Waterfall and Rapid Prototyping ModelsWaterfall model– Many successes– Client needs may not be metRap...
Slide 3.9Incremental ModelThe product is designed,implemented, integratedand tested as a series ofbuildsA build consists o...
Slide 3.10Incremental Model (contd)Waterfall, rapid prototyping models– Operational quality complete product at endIncreme...
Slide 3.11Concurrent Incremental ModelMore risky version—pieces may not fit– CABTAB (code a bit and test a bit) and its da...
Slide 3.12Extreme ProgrammingSomewhat controversial new approach based onthe incremental modelDevelopment team determines ...
Slide 3.13Unusual Features of XPComputers are put in center of a large roomlined with cubiclesClient representative is alw...
Slide 3.14Evaluating XPXP has had some successesGood when requirements are vague orchangingToo soon to evaluate XP
Slide 3.15Synchronize and Stabilize ModelMicrosoft’s life-cycle modelAlso based on the incremental modelRequirements analy...
Slide 3.16Synchronize and Stabilize Model (contd)At the end of the day—synchronize (test anddebug)At the end of each build...
Slide 3.17Spiral ModelSimplified Waterfall modelplus risk analysis– Uses rapid prototypesPrecede each phase by– Alternativ...
Slide 3.18Simplified Spiral ModelIf risks cannot beresolved, project isimmediatelyterminatedPotential risks– Timing constr...
Slide 3.19Full Spiral ModelRadial dimension: cumulative cost to dateAngular dimension: progress through the spiral
Slide 3.20Analysis of Spiral ModelStrengths– Easy to judge how much to test– No distinction between development, maintenan...
Slide 3.21Object-Oriented Life-Cycle ModelsNeed for iteration within and between phases– Fountain model [Henderson-Sellers...
Slide 3.22Fountain ModelCircles (phases)Overlap(parallelism)Arrows (iteration)Smallermaintenance circle
Slide 3.23ConclusionsDifferent life-cycle modelsEach with own strengthsEach with own weaknessesCriteria for deciding on a ...
Upcoming SlideShare
Loading in …5
×

Edu+Presentation

219 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
219
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Edu+Presentation

  1. 1. Slide 3.1CHAPTER 3SOFTWARELIFE-CYCLEMODELS
  2. 2. Slide 3.2OverviewBuild-and-fix modelWaterfall modelRapid prototyping modelIncremental modelExtreme programmingSynchronize-and-stabilize modelSpiral modelObject-oriented life-cycle modelsComparison of life-cycle models
  3. 3. Slide 3.3Software Life-Cycle ModelsLife-cycle modelThe steps through which the productprogresses– Requirements phase– Specification phase– Design phase– Implementation phase– Integration phase– Maintenance phase– Retirement
  4. 4. Slide 3.4Build and Fix ModelProblems– No specifications– No designTotallyunsatisfactory forany reasonablesize softwareNeed life-cyclemodel– “Game plan”– Phases– Milestones
  5. 5. Slide 3.5Waterfall ModelThe only widely-used modeluntil the early 80’sCharacterized by– Feedback loops– Documentation-driven– Each phase needs to beapproved by SQAAdvantages– Enforced disciplined approach– Documentation– Maintenance easierDisadvantages– Specifications not easilyunderstood by clients– Example stories (read textbook)» Joe and Jane Johnson (house)» Mark Marberry (suit)
  6. 6. Slide 3.6Rapid Prototyping ModelRapid prototype – a workingmodel functionally equivalent toa subset of the product– Determine what the client needs– When developed, the client andusers try using it– When they are satisfied, theprocess moves to the next phaseLinear model– Specifications are drawn from therapid prototype– Feedback loops are not used“Rapid” is the key
  7. 7. Slide 3.7Three Key PointsDo not turn a rapid prototype into productRapid prototyping may replace specificationphase—never the design phaseComparison:– Waterfall model—try to get it right first time– Rapid prototyping—frequent changes until the clientis satisfied, then discard
  8. 8. Slide 3.8Integrating Waterfall and Rapid Prototyping ModelsWaterfall model– Many successes– Client needs may not be metRapid prototyping model– Some success but not really proven– Has own problemsSolution– Rapid prototyping for requirements phase– Waterfall for rest of life cycle
  9. 9. Slide 3.9Incremental ModelThe product is designed,implemented, integratedand tested as a series ofbuildsA build consists of codepieces from variousmodules interacting toprovide a specificfunctionalityToo few builds can lead tobuild-and-fix modelToo many builds can leadto inefficient development
  10. 10. Slide 3.10Incremental Model (contd)Waterfall, rapid prototyping models– Operational quality complete product at endIncremental model– Operational quality portion of product within weeksLess traumaticSmaller capital outlay, rapid return on investmentNeeds open architecture—maintenanceimplications
  11. 11. Slide 3.11Concurrent Incremental ModelMore risky version—pieces may not fit– CABTAB (code a bit and test a bit) and its dangers
  12. 12. Slide 3.12Extreme ProgrammingSomewhat controversial new approach based onthe incremental modelDevelopment team determines stories (featuresclient wants)Estimate duration and cost of each storySelect stories for next buildEach build is divided into tasksTest cases for task are drawn up firstPair programmingContinuous integration of tasks
  13. 13. Slide 3.13Unusual Features of XPComputers are put in center of a large roomlined with cubiclesClient representative is always presentCannot work overtime for 2 successiveweeksNo specialization– All members of the team work on specification,design, coding and testingRefactoring– No overall design– The design is modified while the product is beingdeveloped
  14. 14. Slide 3.14Evaluating XPXP has had some successesGood when requirements are vague orchangingToo soon to evaluate XP
  15. 15. Slide 3.15Synchronize and Stabilize ModelMicrosoft’s life-cycle modelAlso based on the incremental modelRequirements analysis—interview potentialcustomersDraw up specificationsDivide project into 3 or 4 buildsEach build is carried out by small teamsworking in parallel
  16. 16. Slide 3.16Synchronize and Stabilize Model (contd)At the end of the day—synchronize (test anddebug)At the end of each build—stabilize (freeze build)Components always work together– Get early insights into operation of product
  17. 17. Slide 3.17Spiral ModelSimplified Waterfall modelplus risk analysis– Uses rapid prototypesPrecede each phase by– Alternatives– Risk analysisFollow each phase by– Evaluation– Planning of next phase
  18. 18. Slide 3.18Simplified Spiral ModelIf risks cannot beresolved, project isimmediatelyterminatedPotential risks– Timing constraints– Lack of personnel– Competence of team– Dependency onhardware delivery
  19. 19. Slide 3.19Full Spiral ModelRadial dimension: cumulative cost to dateAngular dimension: progress through the spiral
  20. 20. Slide 3.20Analysis of Spiral ModelStrengths– Easy to judge how much to test– No distinction between development, maintenanceWeaknesses– For large-scale software only– For internal (in-house) software only
  21. 21. Slide 3.21Object-Oriented Life-Cycle ModelsNeed for iteration within and between phases– Fountain model [Henderson-Sellers and Edwards, 1990]– Recursive/parallel life cycle [Berard, 1993]– Unified software development process[Jacobson, Booch, and Rumbaugh, 1999]All incorporate some form of– Iteration– Parallelism– Incremental developmentDanger– CABTAB (undisciplined approach of s/wdevelopment, pg. 84)
  22. 22. Slide 3.22Fountain ModelCircles (phases)Overlap(parallelism)Arrows (iteration)Smallermaintenance circle
  23. 23. Slide 3.23ConclusionsDifferent life-cycle modelsEach with own strengthsEach with own weaknessesCriteria for deciding on a model include– The organization– Its management– Skills of the employees– The nature of the productBest suggestion– “Mix-and-match” life-cycle model

×