Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach [email protected] 3OverviewSoftware Life-Cycle ModelsBuild and Fix ModelWaterfall Model (contd)Rapid Prototyping ModelThree Key PointsWaterfall and Rapid Prototyping ModelsIncremental ModelIncremental Model (contd)Slide 12Slide 13Extreme ProgrammingUnusual Features of XPEvaluating XPSynchronize-and Stabilize ModelSynchronize-and Stabilize Model (contd)Spiral ModelSimplified Spiral ModelFull Spiral ModelFull Spiral Model (contd)Analysis of Spiral ModelObject-Oriented Life-Cycle ModelsFountain ModelConclusionsSlide 3.1© The McGraw-Hill Companies, 2002Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002Stephen R. [email protected] 3.2© The McGraw-Hill Companies, 2002CHAPTER 3SOFTWARE LIFE-CYCLE MODELSSlide 3.3© The McGraw-Hill Companies, 2002OverviewBuild-and-fix modelWaterfall modelRapid prototyping modelIncremental modelExtreme programmingSynchronize-and-stabilize modelSpiral modelObject-oriented life-cycle modelsComparison of life-cycle modelsSlide 3.4© The McGraw-Hill Companies, 2002Software Life-Cycle ModelsLife-cycle model (formerly, process model)The steps through which the product progresses–Requirements phase–Specification phase–Design phase–Implementation phase–Integration phase–Maintenance phase–RetirementSlide 3.5© The McGraw-Hill Companies, 2002Build and Fix ModelProblems–No specifications–No designTotally unsatisfactoryNeed life-cycle model–“Game plan” –Phases–MilestonesSlide 3.6© The McGraw-Hill Companies, 2002Waterfall Model (contd)Characterized by–Feedback loops–Documentation-drivenAdvantages –Documentation–Maintenance easier Disadvantages–Specifications»Joe and Jane Johnson»Mark MarberrySlide 3.7© The McGraw-Hill Companies, 2002Rapid Prototyping ModelLinear model“Rapid”Slide 3.8© The McGraw-Hill Companies, 2002Three Key Points Do not turn into productRapid prototyping may replace specification phase—never the design phaseComparison:–Waterfall model—try to get it right first time–Rapid prototyping—frequent change, then discardSlide 3.9© The McGraw-Hill Companies, 2002Waterfall and Rapid Prototyping ModelsWaterfall model–Many successes–Client needsRapid prototyping model–Not proved –Has own problemsSolution–Rapid prototyping for requirements phase–Waterfall for rest of life cycleSlide 3.10© The McGraw-Hill Companies, 2002Incremental ModelDivide project into buildsSlide 3.11© The McGraw-Hill Companies, 2002Incremental 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 investmentNeed open architecture—maintenance implicationsVariations used in object-oriented life cycleSlide 3.12© The McGraw-Hill Companies, 2002Incremental Model (contd)Problems–Build-and-fix danger–Contradiction in termsSlide 3.13© The McGraw-Hill Companies, 2002Incremental Model (contd)More risky version—pieces may not fit–CABTAB and its dangersSlide 3.14© The McGraw-Hill Companies, 2002Extreme ProgrammingSomewhat controversial new approachStories (features client 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 tasksSlide 3.15© The McGraw-Hill Companies, 2002Unusual Features of XPComputers are put in center of large room lined with cubiclesClient representative is always presentCannot work overtime for 2 successive weeksNo specializationRefactoringSlide 3.16© The McGraw-Hill Companies, 2002Evaluating XPXP has had some successesGood when requirements are vague or changingToo soon to evaluate XPSlide 3.17© The McGraw-Hill Companies, 2002Synchronize-and Stabilize ModelMicrosoft’s life-cycle modelRequirements analysis—interview potential customersDraw up specificationsDivide project into 3 or 4 buildsEach build is carried out by small teams working in parallelSlide 3.18© The McGraw-Hill Companies, 2002Synchronize-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 operation of productSlide 3.19© The McGraw-Hill Companies, 2002Spiral ModelSimplified form–Waterfall model plus risk analysisPrecede each phase by–Alternatives–Risk analysisFollow each phase by–Evaluation–Planning of next phaseSlide 3.20© The McGraw-Hill Companies, 2002Simplified Spiral ModelIf risks cannot be resolved, project is immediately terminatedSlide 3.21© The McGraw-Hill Companies, 2002Full Spiral ModelRadial dimension: cumulative cost to dateAngular dimension: progress through the spiralSlide 3.22© The McGraw-Hill Companies, 2002Full Spiral Model (contd)Slide 3.23© The McGraw-Hill Companies, 2002Analysis 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 onlySlide 3.24© The McGraw-Hill Companies, 2002Object-Oriented Life-Cycle ModelsNeed for iteration within and between phases–Fountain model–Recursive/parallel life cycle–Round-trip gestalt–Unified software development processAll incorporate some form of–Iteration–Parallelism–Incremental developmentDanger–CABTABSlide 3.25© The McGraw-Hill Companies, 2002Fountain ModelFeaturesOverlap (parallelism)Arrows (iteration)Smaller maintenance circleSlide 3.26© The McGraw-Hill Companies, 2002ConclusionsDifferent 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
View Full Document