Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Zhang Shuang

Similar presentations


Presentation on theme: "Software Engineering Zhang Shuang"— Presentation transcript:

1 Software Engineering Zhang Shuang zhangs@swc.neu.edu.cn

2 Chapter 9 Software Life-cycle Models Software Life-cycle Models Zhang Shuang, Zhangs@swc.neu.edu.cn

3 Software Life-Cycle Models Life-cycle model, the series of steps through which the product progresses The life-cycle of each product is different:  Software size  Software type  Development environment & technique Use the suitable model for each product Zhang Shuang, Zhangs@swc.neu.edu.cn

4 Software Life-Cycle Models  Different life-cycle models:  Build-and-fix model  Waterfall model  Rapid prototyping model  Incremental model  Synchronize-and-stabilize model  Spiral Model  Fountain model Zhang Shuang, Zhangs@swc.neu.edu.cn

5 1. Build and Fix Model Problems  No specifications  No design Totally unsatisfactory Need a life-cycle model  “Game plan”  Phases  Milestones Zhang Shuang, Zhangs@swc.neu.edu.cn

6 2. Waterfall Model Characterized by  Feedback loops  Documentation-driven Advantages  Documentation  Maintenance easier Disadvantages  Specification document Widely used before 80s

7 3. Rapid Prototyping Model Linear model “Rapid”

8 Three Key Points Do not turn the rapid prototype into the product Rapid prototyping may replace the specification phase—never the design phase Comparison:  Waterfall model—try to get it right the first time  Rapid prototyping—frequent change, then discard Zhang Shuang, Zhangs@swc.neu.edu.cn

9 Waterfall and Rapid Prototyping Models  Waterfall model  Many successes  Client’s needs  Rapid prototyping model  Not proved  Has its own problems  Solution  Rapid prototyping for the requirements phase  Waterfall model for the rest of the life cycle Zhang Shuang, Zhangs@swc.neu.edu.cn

10 4. Incremental Model  Divide project into builds

11 4. Incremental Model  Advantages:  The complete product is divided into builds and the developer delivers the product build by build.  It reduces the traumatic effect of imposing a completely new product on the client organization.  From the client’s financial viewpoint, phased delivery requires no large capital outlay. Zhang Shuang, Zhangs@swc.neu.edu.cn

12 4. Incremental Model  Problems  Build-and-fix danger  Contradiction in terms Zhang Shuang, Zhangs@swc.neu.edu.cn

13 5. Synchronize-and-Stabilize Model  Microsoft’s life-cycle model  Requirements analysis—interview potential customers  Draw up specifications  Divide project into 3 or 4 builds  Each build is carried out by small teams working in parallel Zhang Shuang, Zhangs@swc.neu.edu.cn

14 5. Synchronize-and-Stabilize Model  At the end of the day—synchronize (test and debug)  At the end of the build—stabilize (freeze build)  Components always work together  Get early insights into the operation of the product Zhang Shuang, Zhangs@swc.neu.edu.cn

15 6. Spiral Model  Simplified form  Waterfall model plus risk analysis preceding each phase

16 Simplified Spiral Model  View of spiral

17 A Key Point of the Spiral Model  If all risks cannot be resolved, the project is immediately terminated Zhang Shuang, Zhangs@swc.neu.edu.cn

18 Full Spiral Model  Precede each phase by  Alternatives  Risk analysis  Follow each phase by  Evaluation  Planning of next phase  Radial dimension: cumulative cost to date  Angular dimension: progress through the spiral Zhang Shuang, Zhangs@swc.neu.edu.cn

19

20 Analysis of Spiral Model  Strengths  It is easy to judge how much to test  No distinction is made between development, maintenance  Weaknesses  For large-scale software only  For internal (in-house) software only Zhang Shuang, Zhangs@swc.neu.edu.cn

21 7 Fountain Model  Overlap (parallelism)  Arrows (iteration)  Smaller maintenance circle

22 Conclusions  Different life-cycle models  Each with its own strengths  Each with its 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 Zhang Shuang, Zhangs@swc.neu.edu.cn

23 9 Software Life-Cycle Models  Note that there is no  Planning Phase  Testing Phase  Documentation Phase  These are ongoing constant processes Zhang Shuang, Zhangs@swc.neu.edu.cn

24


Download ppt "Software Engineering Zhang Shuang"

Similar presentations


Ads by Google