schach5-chap03-14[1]

download schach5-chap03-14[1]

of 26

Transcript of schach5-chap03-14[1]

  • 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. [email protected]

  • 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