20100317 clark spiral

Upload: farhat514

Post on 04-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 20100317 Clark Spiral

    1/24

    SPEAKER :KAI-JIA CHANG

    ADVISER :QUINCY WU

    DATA :2010-03-17

    Spiral Model

  • 7/30/2019 20100317 Clark Spiral

    2/24

    Outline

    2

    Introduction

    The spiral model

    EvaluationConclusions

    References

  • 7/30/2019 20100317 Clark Spiral

    3/24

    Introduction

    3

    A Risk-Driven Approach

    Different idea of software development.

    How does this project affect the developers and the

    clients?How does each step in the project affect its overall

    development?

    Not used in previous development models.

    Usually code-driven or document-driven.

  • 7/30/2019 20100317 Clark Spiral

    4/24

    Introduction

    4

    Background on software process models

    1950Code-and-fix model

    1956 Stagewise model (Bengington )

    1970Waterfall model (Royce)1971 Incremental model(Mills)

    1977 Prototyping model(Bally and others)

    1988 Spiral model(Boehm)

  • 7/30/2019 20100317 Clark Spiral

    5/24

    Introduction

    5

    Code-and-fix model

    First, elementary model

    Write code now; fix it later

    No planning involvedProblems:

    Code is poorly structured.

    The software developed was usually a poor match forthe users needs.

  • 7/30/2019 20100317 Clark Spiral

    6/24

    Introduction

    6

    Waterfall model

    Introduced:

    Feedback loops across multiple stages:

    Validation and verification steps.Prototyping via a build it twice step alongside of

    requirements and design.

    Difficulties exposed even as revisions were made to the

    model. Required elaborated documents. (Document-driven)

    Led to pursuing stages of development in the wrong

    order.

  • 7/30/2019 20100317 Clark Spiral

    7/24

    The spiral model

    7

    A Typical Cycle of the spiral

    Risk Analysis

    PrototypeDesign/Validation

    Planning

    AlternativesAnd repeat

    Measure of Cumulative Cost and Progress

  • 7/30/2019 20100317 Clark Spiral

    8/24

    The spiral model

    8

    Initiating and terminating the spiral

    Four fundamental questions arise in considering thispresentation of the spiral model:

    (1) How does the spiral ever get started? (2) How do you get off the spiral when it is

    appropriate to terminate a project early?

    (3) Why does the spiral end so abruptly?

    (4) What happens to software enhancement (ormaintenance)?

  • 7/30/2019 20100317 Clark Spiral

    9/24

    The spiral model

    9

    Initiating and terminating the spiral

    Initiating the process:

    The spiral gets started by a hypothesis that aparticular operational mission (or set of missions)could be improved by a software effort.

    Terminating the process:

    The spiral process then involves a test of this

    hypothesis:At any time, if the hypothesis fails the test, the spiral isterminated.

  • 7/30/2019 20100317 Clark Spiral

    10/24

    The spiral model

    10

  • 7/30/2019 20100317 Clark Spiral

    11/24

    The spiral model

    11

  • 7/30/2019 20100317 Clark Spiral

    12/24

    The spiral model

    12

    Cycle Requirements

    Each cycle is completed by a review by thepeople concerned with the project.

    Plans for the next cycle should be introduced.

    With each succeeding level in the spiral thelevel of detail increases.

  • 7/30/2019 20100317 Clark Spiral

    13/2413

  • 7/30/2019 20100317 Clark Spiral

    14/2414

  • 7/30/2019 20100317 Clark Spiral

    15/24

    The spiral model

    15

    PrototypeThrowaway prototypingThrowaway or Rapid Prototyping refers to the creation of a model that

    will eventually be discarded rather than becoming part of the finaldelivered software.

    Evolutionary prototypingThe main goal when using Evolutionary Prototyping is to build a very

    robust prototype in a structured manner and constantly refine it.

    Incremental prototyping

    The final product is built as separate prototypes. At the end the separateprototypes are merged in an overall design.

    Extreme prototypingIt is a development process is used especially for developing web

    applications.

  • 7/30/2019 20100317 Clark Spiral

    16/24

    The spiral model

    16

    Advantages of prototyping

    Reduced time and costs

    Improved and increased user involvement

    Disadvantages of prototyping

    Insufficient analysis

    User confusion of prototype and finished system

    Developer misunderstanding of user objectivesDeveloper attachment to prototype

    Excessive development time of the prototype

    Expense of implementing prototyping

  • 7/30/2019 20100317 Clark Spiral

    17/24

    17

    Risk item Risk management techniques

    Personnel shortfalls Staffing with top talent, job matching; teambuilding;morale building; cross-training; pre-scheduling key people

    Unrealistic schedules

    and Budgets

    Detailed, multisource cost and schedule estimation;

    design to cost; incremental development; software reuse;requirements scrubbing

    Developing the wrongsoftware Functions

    Organization analysis; mission analysis; ops-conceptformulation; user surveys; prototyping; early usersmanuals

    Developing the wronguser Interface

    Task analysis; prototyping; scenarios; user characterization(functionality, style, workload)

    Gold plating Requirements scrubbing; prototyping; cost-benefit analysis;design to cost

    Continuing stream ofrequirement Changes

    High change threshold; information hiding; incrementaldevelopment (defer changes to later increments)

    Shortfalls in externally

    furnished Components

    Benchmarking; inspections; reference checking; compatibility

    analysisShortfalls in externallyperformed tasks

    Reference checking; pre-award audits; award-fee contracts;competitive design or prototyping;Teambuilding

    Real-time performanceShortfalls

    Simulation; benchmarking; modeling; prototyping;instrumentation; tuning

    Straining computer-

    science Capabilities

    Technical analysis; cost-benefit analysis; prototyping;

    reference checking

  • 7/30/2019 20100317 Clark Spiral

    18/24

    The spiral model

    18

    The Risk Management Plan

    Identify the projects top 10 risk items.

    Present a plan for resolving each risk item.Update list of top risk items, plan, and results

    monthly.

    Highlight risk-item status in monthly project reviews.Compare with previous months rankings, status.

    Initiate appropriate corrective actions.

  • 7/30/2019 20100317 Clark Spiral

    19/24

    Spiral model usage: TRW Software ProductivitySystem, Round 0.--Feasibility study.

    19

  • 7/30/2019 20100317 Clark Spiral

    20/24

    Spiral model usage: TRW Software ProductivitySystem, Round 1.--Concept of operations.

    20

  • 7/30/2019 20100317 Clark Spiral

    21/24

    Spiral model usage: TRW Software Productivity System,Round 2.--Top-level requirements specification.

    21

  • 7/30/2019 20100317 Clark Spiral

    22/24

    Evaluation

    22

    Advantages Estimates become more realistic as work progresses, because

    important issues are discovered earlier. It is more able to cope with the changes that software

    development generally entails. Software engineers can get their hands in and start working

    on a project earlier.

    Disadvantages Highly customized limiting re-usabilityApplied differently for each application Risk of not meeting budget or schedule

  • 7/30/2019 20100317 Clark Spiral

    23/24

    Conclusions

    23

    The risk-driven nature provides adaptability for a fullrange of software projects.

    The model has been successful in a large application,

    the TRW-SPS.The model is not yet fully elaborated.

    Even partial implementations of the model, such asthe risk management plan, are compatible with the

    other process models.

  • 7/30/2019 20100317 Clark Spiral

    24/24

    References

    24

    Rapid Prototyping Tools Revisited

    Alan M. Davis, "Operational Prototyping: A newDevelopment Approach. IEEE Software, September 1992.Page 70-78.

    Wikipedia: Software Prototyping

    B. Boehm, " A Spiral Model of Software Development andEnhancement, ACM SIGSOFT Software Engineering Notes,Volume 11 , Issue 4 (August 1986) Pages: 14 - 24.

    Barry Boehm et al., "Using the WinWin Spiral Model: ACase Study, IEEE Computer, July 1998 (vol. 31 no. 7) pp.33-44.