Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations

Presentation on theme: "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."— Presentation transcript:


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

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

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

5 Slide 3.5 Waterfall Model l The only widely-used model until the early 80’s 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)

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

7 Slide 3.7 Three Key Points l Do not turn a rapid prototype into product l Rapid prototyping may replace specification phase—never the design phase l Comparison: –Waterfall model—try to get it right first time –Rapid prototyping—frequent changes until the client is satisfied, then discard

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

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

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 architecture—maintenance implications

11 Slide 3.11 Concurrent Incremental Model l More risky version—pieces may not fit –CABTAB (code a bit and test a bit) and its dangers

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

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

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

15 Slide 3.15 Synchronize and Stabilize Model l Microsoft’s life-cycle model l Also based on the incremental model l Requirements analysis—interview 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

16 Slide 3.16 Synchronize and Stabilize Model (contd) l At the end of the day—synchronize (test and debug) l At the end of each build—stabilize (freeze build) l Components always work together –Get early insights into operation of product

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

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

19 Slide 3.19 Full Spiral Model l Radial dimension: cumulative cost to date l Angular dimension: progress through the spiral

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

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)

22 Slide 3.22 Fountain Model l Circles (phases) Overlap (parallelism) l Arrows (iteration) l Smaller maintenance circle

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

Download ppt "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."

Similar presentations

Ads by Google