Slide 3.1 CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS. Slide 3.2 Overview l Build-and-fix model l Waterfall model l Rapid prototyping model l Incremental model.

  • Published on
    15-Dec-2015

  • View
    212

  • Download
    0

Transcript

<ul><li>Slide 1</li></ul> <p>Slide 3.1 CHAPTER 3 SOFTWARE LIFE-CYCLE MODELS Slide 2 Slide 3.2 Overview l Build-and-fix model l Waterfall model l Rapid prototyping model l Incremental model l Extreme programming l Synchronize-and-stabilize model l Spiral model l Object-oriented life-cycle models l Comparison of life-cycle models Slide 3 Slide 3.3 Software Life-Cycle Models l Life-cycle model l The steps through which the product progresses Requirements phase Specification phase Design phase Implementation phase Integration phase Maintenance phase Retirement Slide 4 Slide 3.4 Build and Fix Model l Problems No specifications No design l Totally unsatisfactory for any reasonable size software l Need life-cycle model Game plan Phases Milestones Slide 5 Slide 3.5 Waterfall Model l The only widely-used model until the early 80s l Characterized by Feedback loops Documentation-driven Each phase needs to be approved by SQA l Advantages Enforced disciplined approach Documentation Maintenance easier l Disadvantages Specifications not easily understood by clients Example stories (read textbook) Joe and Jane Johnson (house) Mark Marberry (suit) Slide 6 Slide 3.6 Rapid Prototyping Model l Rapid prototype a working model functionally equivalent to a subset of the product Determine what the client needs When developed, the client and users try using it When they are satisfied, the process moves to the next phase l Linear model Specifications are drawn from the rapid prototype Feedback loops are not used l Rapid is the key Slide 7 Slide 3.7 Three Key Points l Do not turn a rapid prototype into product l Rapid prototyping may replace specification phasenever the design phase l Comparison: Waterfall modeltry to get it right first time Rapid prototypingfrequent changes until the client is satisfied, then discard Slide 8 Slide 3.8 Integrating Waterfall and Rapid Prototyping Models l Waterfall model Many successes Client needs may not be met l Rapid prototyping model Some success but not really proven Has own problems l Solution Rapid prototyping for requirements phase Waterfall for rest of life cycle Slide 9 Slide 3.9 Incremental Model l The product is designed, implemented, integrated and tested as a series of builds l A build consists of code pieces from various modules interacting to provide a specific functionality l Too few builds can lead to build-and-fix model l Too many builds can lead to inefficient development Slide 10 Slide 3.10 Incremental Model (contd) l Waterfall, rapid prototyping models Operational quality complete product at end l Incremental model Operational quality portion of product within weeks l Less traumatic l Smaller capital outlay, rapid return on investment l Needs open architecturemaintenance implications Slide 11 Slide 3.11 Concurrent Incremental Model l More risky versionpieces may not fit CABTAB (code a bit and test a bit) and its dangers Slide 12 Slide 3.12 Extreme Programming l Somewhat controversial new approach based on the incremental model l Development team determines stories (features client wants) l Estimate duration and cost of each story l Select stories for next build l Each build is divided into tasks l Test cases for task are drawn up first l Pair programming l Continuous integration of tasks Slide 13 Slide 3.13 Unusual Features of XP l Computers are put in center of a large room lined with cubicles l Client representative is always present l Cannot work overtime for 2 successive weeks l No specialization All members of the team work on specification, design, coding and testing l Refactoring No overall design The design is modified while the product is being developed Slide 14 Slide 3.14 Evaluating XP l XP has had some successes l Good when requirements are vague or changing l Too soon to evaluate XP Slide 15 Slide 3.15 Synchronize and Stabilize Model l Microsofts life-cycle model l Also based on the incremental model l Requirements analysisinterview potential customers l Draw up specifications l Divide project into 3 or 4 builds l Each build is carried out by small teams working in parallel Slide 16 Slide 3.16 Synchronize and Stabilize Model (contd) l At the end of the daysynchronize (test and debug) l At the end of each buildstabilize (freeze build) l Components always work together Get early insights into operation of product Slide 17 Slide 3.17 Spiral Model l Simplified Waterfall model plus risk analysis Uses rapid prototypes l Precede each phase by Alternatives Risk analysis l Follow each phase by Evaluation Planning of next phase Slide 18 Slide 3.18 Simplified Spiral Model l If risks cannot be resolved, project is immediately terminated l Potential risks Timing constraints Lack of personnel Competence of team Dependency on hardware delivery Slide 19 Slide 3.19 Full Spiral Model l Radial dimension: cumulative cost to date l Angular dimension: progress through the spiral Slide 20 Slide 3.20 Analysis of Spiral Model l Strengths Easy to judge how much to test No distinction between development, maintenance l Weaknesses For large-scale software only For internal (in-house) software only Slide 21 Slide 3.21 Object-Oriented Life-Cycle Models l Need for iteration within and between phases Fountain model [Henderson-Sellers and Edwards, 1990] Recursive/parallel life cycle [Berard, 1993] Unified software development process [Jacobson, Booch, and Rumbaugh, 1999] l All incorporate some form of Iteration Parallelism Incremental development l Danger CABTAB (undisciplined approach of s/w development, pg. 84) Slide 22 Slide 3.22 Fountain Model l Circles (phases) Overlap (parallelism) l Arrows (iteration) l Smaller maintenance circle Slide 23 Slide 3.23 Conclusions l Different life-cycle models l Each with own strengths l Each with own weaknesses l Criteria for deciding on a model include The organization Its management Skills of the employees The nature of the product l Best suggestion Mix-and-match life-cycle model </p>

Recommended

View more >