software life cycle models schach chap2 l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Software Life-Cycle Models (Schach Chap2) PowerPoint Presentation
Download Presentation
Software Life-Cycle Models (Schach Chap2)

Loading in 2 Seconds...

play fullscreen
1 / 17

Software Life-Cycle Models (Schach Chap2) - PowerPoint PPT Presentation


  • 565 Views
  • Uploaded on

Software Life-Cycle Models (Schach Chap2) We Examine Several Life-cycle Models: Build and Fix Waterfall Rapid Prototyping Spiral Incremental Evolution-Tree Life-cycle Focus on how (if!) the Phases of Software Development are Incorporated within each model *Build and Fix Model

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Software Life-Cycle Models (Schach Chap2)' - ostinmannual


Download Now An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
software life cycle models schach chap2
Software Life-Cycle Models (Schach Chap2)
  • We Examine Several Life-cycle Models:
    • Build and Fix
    • Waterfall
    • Rapid Prototyping
    • Spiral
    • Incremental
    • Evolution-Tree Life-cycle
  • Focus on how (if!) the Phases of Software Development are Incorporated within each model
build and fix model
*Build and Fix Model
  • No specifications
  • No formal design process
waterfall model circa 1970
*Waterfall Model (circa 1970)
  • A first cut at improving "build and fix"
    • Each phase of the lifecycle represented as a discrete entity
    • Feedback loops between phases
    • Intentionally Documentation-driven
aside requirements phase schach chap 10
Aside: Requirements Phase (Schach Chap 10)

“I know you believe you understood what you think I said, but I am not sure you realize that what you heard is not what I meant!”

    • Misconception: Must determine what client wants
    • Real Goal: Must determine client’s needs

Techniques:

  • Rapid prototyping
    • Key functionality
    • What client sees
    • Experimentation and change
  • Interviewing (primary technique)
  • Forms analysis/Questionnaires
  • Scenarios
rapid prototyping as specification technique
*Rapid Prototyping as Specification Technique?

Advantages of using a Rapid Prototype:

    • speed
    • no ambiguities, omissions, contradictions
  • Should we use a Rapid Prototype instead of a specification? What are some Disadvantages of this approach?
rapid prototyping study by boehm 1984
*Rapid Prototyping Study by Boehm (1984)
  • 7 versions of same product
    • 4 specified using only a specification document,
    • 3 prototyped only (ie., used prototype as specification)
  • Prototyping vs. specification => yielded equivalent performance (run-time efficiencies). What about code size and functionality?
rapid prototyping model
Rapid Prototyping Model
  • Recall Waterfall model view of requirements—try to get it right the first time. Client does not see a version of the product until very late in the life cycle
  • Rapid prototyping view of requirements—expect frequent changes, plan to discard prototype after determining what client needs
    • Do not evolve prototype into final product
    • Rapid prototyping model replaces waterfall's requirements phase
    • Waterfall then used for the rest of life cycle
spiral model intended to help manage risks
Idea is evolutionary development, using waterfall model for each step;

Initially, don't define entire system, only the highest priority features:

Define/implement those features, then get feedback from user

Feedback distinguishes "evolutionary“ from "incremental".

With knowledge gained from feedback, go back to define and implement more features in smaller priority features.

Follow each phase by

Evaluation

Planning of next phase

Spiral Model (intended to help manage risks)
  • Precede each phase by
    • Alternatives
    • Risk analysis
analysis of spiral model
*Analysis of Spiral Model
  • Strengths
    • No distinction between development, maintenance
    • Risk-driven (focus resources where needed)
  • Weaknesses?
incremental model
Incremental Model
  • Divides project into builds, each build a subset of product.
incremental model analysis
*Incremental Model Analysis
  • Waterfall, rapid prototyping models yield Operational quality complete product only at end
  • Incremental model, typically used with OO life cycles
    • Operational quality portion of product within weeks
    • Smaller capital outlay, client can stop dev. at any time
    • An Enhancement (dev/maint) is merely another build
    • Problem: Build-and-fix danger
extreme programming
Extreme Programming
  • A lightweight methodology that has only a few rules and practices or ones which are easy to follow.
    • Emphasizes customer involvement and promotes team work.
    • User story is not complete until it has passed its acceptance tests.
evolution tree life cycle
Evolution-Tree Life-cycle
  • Closely models Real-World Software Production
  • Based on incremental model
conclusions
Conclusions
  • Different life-cycle models, each with own strengths/weaknesses
  • Criteria for choosing which Life-Cycle to follow:
    • organization
    • management
    • employees
    • product
  • Most commonly used? A variant of the incremental life-cycle (tweaked as per organization’s needs)