Object-Oriented%20and%20Classical%20Software%20Engineering%20%20Fifth%20Edition,%20WCB/McGraw-Hill,%202002%20Stephen%20R.%20Schach%20srs@vuse.vanderbilt.edu - PowerPoint PPT Presentation

About This Presentation
Title:

Object-Oriented%20and%20Classical%20Software%20Engineering%20%20Fifth%20Edition,%20WCB/McGraw-Hill,%202002%20Stephen%20R.%20Schach%20srs@vuse.vanderbilt.edu

Description:

Object-Oriented and Classical Software Engineering Fifth Edition, WCB/McGraw-Hill, 2002 Stephen R. Schach srs_at_vuse.vanderbilt.edu – PowerPoint PPT presentation

Number of Views:312
Avg rating:3.0/5.0
Slides: 27
Provided by: Steph526
Learn more at: https://www.eecs.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Object-Oriented%20and%20Classical%20Software%20Engineering%20%20Fifth%20Edition,%20WCB/McGraw-Hill,%202002%20Stephen%20R.%20Schach%20srs@vuse.vanderbilt.edu


1
Object-Oriented and Classical Software
Engineering Fifth Edition, WCB/McGraw-Hill,
2002Stephen R. Schachsrs_at_vuse.vanderbilt.edu
2
CHAPTER 3
SOFTWARE LIFE-CYCLE MODELS
3
Overview
  • Build-and-fix model
  • Waterfall model
  • Rapid prototyping model
  • Incremental model
  • Extreme programming
  • Synchronize-and-stabilize model
  • Spiral model
  • Object-oriented life-cycle models
  • Comparison of life-cycle models

4
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

5
Build and Fix Model
  • Problems
  • No specifications
  • No design
  • Totally unsatisfactory
  • Need life-cycle model
  • Game plan
  • Phases
  • Milestones

6
Waterfall Model (contd)
  • Characterized by
  • Feedback loops
  • Documentation-driven
  • Advantages
  • Documentation
  • Maintenance easier
  • Disadvantages
  • Specifications
  • Joe and Jane Johnson
  • Mark Marberry

7
Rapid Prototyping Model
  • Linear model
  • Rapid

8
Three Key Points
  • Do not turn into product
  • Rapid prototyping may replace specification
    phasenever the design phase
  • Comparison
  • Waterfall modeltry to get it right first time
  • Rapid prototypingfrequent change, then discard

9
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

10
Incremental Model
  • Divide project into builds

11
Incremental Model (contd)
  • Waterfall, rapid prototyping models
  • Operational quality complete product at end
  • Incremental model
  • Operational quality portion of product within
    weeks
  • Less traumatic
  • Smaller capital outlay, rapid return on
    investment
  • Need open architecturemaintenance implications
  • Variations used in object-oriented life cycle

12
Incremental Model (contd)
  • Problems
  • Build-and-fix danger
  • Contradiction in terms

13
Incremental Model (contd)
  • More risky versionpieces may not fit
  • CABTAB and its dangers

14
Extreme Programming
  • Somewhat controversial new approach
  • Stories (features client wants)
  • Estimate duration and cost of each story
  • Select stories for next build
  • Each build is divided into tasks
  • Test cases for task are drawn up first
  • Pair programming
  • Continuous integration of tasks

15
Unusual Features of XP
  • Computers are put in center of large room lined
    with cubicles
  • Client representative is always present
  • Cannot work overtime for 2 successive weeks
  • No specialization
  • Refactoring

16
Evaluating XP
  • XP has had some successes
  • Good when requirements are vague or changing
  • Too soon to evaluate XP

17
Synchronize-and Stabilize Model
  • Microsofts life-cycle model
  • Requirements analysisinterview potential
    customers
  • Draw up specifications
  • Divide project into 3 or 4 builds
  • Each build is carried out by small teams working
    in parallel

18
Synchronize-and Stabilize Model (contd)
  • At the end of the daysynchronize (test and
    debug)
  • At the end of the buildstabilize (freeze build)
  • Components always work together
  • Get early insights into operation of product

19
Spiral Model
  • Simplified form
  • Waterfall model plus risk analysis
  • Precede each phase by
  • Alternatives
  • Risk analysis
  • Follow each phase by
  • Evaluation
  • Planning of next phase

20
Simplified Spiral Model
  • If risks cannot be resolved, project is
    immediately terminated

21
Full Spiral Model
  • Radial dimension cumulative cost to date
  • Angular dimension progress through the spiral

22
Full Spiral Model (contd)
23
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

24
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

25
Fountain Model
  • Features
  • Overlap (parallelism)
  • Arrows (iteration)
  • Smaller maintenance circle

26
Conclusions
  • Different life-cycle models
  • Each with own strengths
  • Each with own weaknesses
  • Criteria 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
Write a Comment
User Comments (0)
About PowerShow.com