25
Slide 3.1 © The McGraw-Hill Companies, 2002 CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS

SOFTWARE LIFE-CYCLE MODELS - SUNGSHINcs.sungshin.ac.kr/~dseo/lectures/postgrad/postgradwee… ·  · 2006-09-26Software Life-Cycle Models zLife-cycle model (formerly, ... rapid return

  • Upload
    ngohanh

  • View
    217

  • Download
    1

Embed Size (px)

Citation preview

Slide 3.1

© The McGraw-Hill Companies, 2002

CHAPTER 3

SOFTWARE LIFE-CYCLE

MODELS

Slide 3.2

© The McGraw-Hill Companies, 2002

Overview

Build-and-fix modelWaterfall modelRapid prototyping modelIncremental modelExtreme programmingSynchronize-and-stabilize modelSpiral modelObject-oriented life-cycle modelsComparison of life-cycle models

Slide 3.3

© 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.4

© The McGraw-Hill Companies, 2002

Build and Fix Model

Problems– No specifications– No design

Totally unsatisfactoryNeed life-cycle model– “Game plan”– Phases– Milestones

Slide 3.5

© The McGraw-Hill Companies, 2002

Waterfall Model (contd)

Characterized by– Feedback loops– Documentation-driven

Advantages – Documentation– Maintenance easier

Disadvantages– Specifications

» Joe and Jane Johnson» Mark Marberry

Slide 3.6

© The McGraw-Hill Companies, 2002

Rapid Prototyping Model

Linear model“Rapid”

Slide 3.7

© The McGraw-Hill Companies, 2002

Three 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 discard

Slide 3.8

© The McGraw-Hill Companies, 2002

Waterfall and Rapid Prototyping Models

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

Slide 3.9

© The McGraw-Hill Companies, 2002

Incremental Model

Divide project into builds

Slide 3.10

© 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 traumaticSmaller capital outlay, rapid return on investmentNeed open architecture—maintenance implicationsVariations used in object-oriented life cycle

Slide 3.11

© The McGraw-Hill Companies, 2002

Incremental Model (contd)

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

Slide 3.12

© The McGraw-Hill Companies, 2002

Incremental Model (contd)

More risky version—pieces may not fit– CABTAB and its dangers

Slide 3.13

© The McGraw-Hill Companies, 2002

Extreme Programming

Somewhat 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 tasks

Slide 3.14

© The McGraw-Hill Companies, 2002

Unusual Features of XP

Computers are put in center of large room lined with cubiclesClient representative is always presentCannot work overtime for 2 successive weeksNo specializationRefactoring

Slide 3.15

© The McGraw-Hill Companies, 2002

Evaluating XP

XP has had some successesGood when requirements are vague or changingToo soon to evaluate XP

Slide 3.16

© The McGraw-Hill Companies, 2002

Synchronize-and Stabilize Model

Microsoft’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 parallel

Slide 3.17

© 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 operation of product

Slide 3.18

© The McGraw-Hill Companies, 2002

Spiral Model

Simplified form– Waterfall model

plus risk analysisPrecede each phase by– Alternatives– Risk analysis

Follow each phase by– Evaluation– Planning of next

phase

Slide 3.19

© The McGraw-Hill Companies, 2002

Simplified Spiral Model

If risks cannot be resolved, project is immediately terminated

Slide 3.20

© The McGraw-Hill Companies, 2002

Full Spiral Model

Radial dimension: cumulative cost to dateAngular dimension: progress through the spiral

Slide 3.21

© The McGraw-Hill Companies, 2002

Full Spiral Model (contd)

Slide 3.22

© The McGraw-Hill Companies, 2002

Analysis of Spiral Model

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

Slide 3.23

© 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.24

© The McGraw-Hill Companies, 2002

Fountain Model

FeaturesOverlap (parallelism)Arrows (iteration)Smaller maintenance circle

Slide 3.25

© The McGraw-Hill Companies, 2002

Conclusions

Different 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 product

Best suggestion– “Mix-and-match” life-cycle model