1 / 65

SW LIFE -CYCLE MODELS

SW LIFE -CYCLE MODELS. Overview. The Product Progresses Steps, Build-and-fix (model?), Waterfall model, Rapid prototyping model, Incremental model, Synchronize-and-stabilize model, Spiral model, Object-oriented life-cycle models, Comparison of life-cycle models, Open Source ,

Télécharger la présentation

SW LIFE -CYCLE MODELS

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SW LIFE-CYCLE MODELS

  2. Overview • The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  3. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  4. The Product Progresses Phases: • כל דבר חי גדל או קמל(...וגם מוצרי תכנה, גם קבוצות עבודה...) • Requirements, • Specification, • Design, • Implementation, • Integration, • Maintenance, • Retirement ,

  5. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  6. Build and Fix (Model?) – בנה ותקן … בנה גרסה ראשונה ערוך שינויים, עד שהלקוח מרוצה הפעלה מבצעית פרישה פיתוח אחזקה

  7. Build and Fix (Model?) …

  8. Build and Fix (Model?) (Cont’d) • Problems: • No specifications, • No design, • Totally unsatisfactory, • Need life-cycle model: • “Game plan”, • Phases, • Milestones, • Good for: • Tiny programs! ,

  9. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • !Open Source, • !Extreme Programming.

  10. Waterfall Model …

  11. תכנון שינוי בדרישות שילוב דרישות אפיון מימוש תכן אימות אימות אימות אימות אישור אימות אימות Waterfall Model – מודל מפל המים … פיתוח הפעלה מבצעית אחזקה פרישה

  12. Waterfall Model (Cont’d) … • Until the early 1980s, the waterfall model was the only widely accepted life-cycle model, • Characterized by: • Feedback loops, • Documentation-driven , • Advantages: • Documentation, a lot of documentation, • Maintenance is much easier, • Clear milestones.

  13. Waterfall Model (Cont’d) • Disadvantages: • Specification documents are long, detailed, and boring, • Specifications, no prototype!. • Words VS picture, • The first time that the client sees a working product is only after the entire product has been coded, • Will you buy a product by its detailed specification? • What about a suit? • What about a house? • What about an ice-cream?

  14. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  15. Planning Rapid Prototyping Model …

  16. Three Key Points … • Do not turn prototype into product,demonstration only!, • Rapid prototyping may replace specification phase — never the design phase, • Comparison: • Waterfall model — try to get it right first time, • Rapid prototyping — frequent change, then discard!

  17. שינויבדרישות תכנון שילוב אב-טיפוס מימוש אפיון תכן אימות אימות אימות אימות אישור אימות אימות הפעלה מבצעית פרישה Rapid Prototype – מודל אב טיפוס מהיר … פיתוח אחזקה

  18. Rapid Prototyping Model (Cont’d) … • Linear model, • “Rapid”, • Phases shift is more smooth , • The existence of the rapid prototype can help the team throughout the whole development process (even gaining the “how not to do it” insight.)

  19. Rapid Prototyping Model (Cont’d) • Will you live in a rapid prototyping model?,

  20. Waterfall VS Rapid Prototyping Models • Waterfall model: • Many successes, • Client needs, • Rapid prototyping model: • Not proved, • Has own problems, • Suggestion: • Rapid prototyping for requirements phase, • Waterfall for rest of life cycle , • In waterfall, rapid prototyping models: • Operational quality complete product at end.

  21. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  22. Incremental Model …

  23. ארכיטקטורה תכנון אפיון דרישות אימות אימות אימות אימות הנדסת מערכת הקמת מבנה (build) 1,2,...,n מימוש מימוש מימוש תכן מפורט מימוש שילוב בדיקות הפעלה מבצעית מסירה פרישה Incremental Model – מודל הדרגתי א' … פיתוח אחזקה

  24. Incremental Model (Cont’d) … • Divide project into: builds_01,build_02,…build_n, • For example, the first build of a nuclear submarine control system, can be the navigation system, the second will include weapons control system and so on ,

  25. Incremental Model (Cont’d) … • The developer is free to break up the target product into builds as he or she sees fit, subject only to the constraint that as each build is integrated into the existing SW, the resulting product must be testable.

  26. Incremental Model (Cont’d) … • Advantages: • Operational quality portion of product within weeks, • Less disappointment, • Provides time for the client to adjust to the new product, • No difference between development and maintenance phase, • Smaller capital outlay, rapid return on investment , • No need to complete the product in order to get ROI.

  27. Incremental Model (Cont’d) … • Problems: • Need open architecture — maintenance implications, • Each new build is to be integrated into a working model, • Build-and-fix danger , • Vague terms: whole product VS. Build sequences.

  28. Incremental Model (Cont’d) … • More risky version — pieces may not fit.

  29. אפיון אפיון אפיון מבנה 2 תכן תכן תכן מימוש ושילוב מימוש ושילוב מימוש ושילוב מבנה n מסירה מסירה מסירה קבוצת אפיון קבוצת תכן קבוצת מימוש מודל אינקרמנטלי ב' … מבנה 1

  30. Incremental Model (Cont’d) • Advantages: • One may start implementation before system engineering is over, • Parallel teamwork , • Problems: • Risky, • Harder to manage and synchronize, • Degradation into Build-and-fix.

  31. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  32. 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.

  33. Synchronize-and Stabilize Model (Cont’d) … • At the end of the day — synchronize (test and debug), • At the end of the build — stabilize (freeze build), • Components always work together , • Developers get early insights into operation of product and might change the requirements.

  34. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  35. Spiral Model … • Motivation – reduce risks , • Possible risks: • Employees turnover, • Dependency upon HW delivery , • Lower-priced product might appear.

  36. Spiral Model (Cont’d) … • Simplified form: • Waterfall model plus risk analysis, • Precede each phase by: • Define alternatives, • Risk analysis , • Follow each phase by: • Evaluation, • Planning of next phase.

  37. Spiral Model (Cont’d) …

  38. Simplified Spiral Model … • Address the top risksat each phase (VS “solve what we already know” approach) , • If risks cannot be resolved, project is immediately terminated.

  39. Spiral Model – מודל הספירלה … תכנון planning ניתוח סיכונים risk analysis תוצרים הערכת לקוח customer evaluation הנדסה engineering

  40. a L Full Spiral Model (Next Slide) … • Radial dimension: cumulative cost to date,(L), • Angular dimension: progress through the spiral (a) ,

  41. Full Spiral Model (Cont'd) …

  42. Analysis of the Spiral Model • Strengths: • Risk driven – “Tackle the worst first”, • Emphasis on alternatives and constrains, • Easy to judge how much to test, • No distinction between development, maintenance – maintenance is simply another cycle of the spiral , • Weaknesses: • For large-scale software only (how much does it cost to perform risk analysis?), • For internal (in-house) software only (what if risk-analysis shows that project should be terminated…).

  43. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  44. Object-Oriented Life-Cycle Models • Need for iteration within and between phases: • Fountain model, • Recursive/parallel life cycle, • Round-trip gestalt, • All incorporate some form of: • Iteration, • Parallelism, • Incremental development, • Danger: • CABTAB – Code A Bit Test A Bit ,

  45. Fountain Model …

  46. Fountain model – מודל המזרקה … תחזוקה פיתוח המשך מאמץ התחזוקה קטן יותר הפעלה מבצעית כל שלב הוא איטרטיבי בעצמו שילוב מימוש התוצרים מכל שלב ניתנים לשימוש-חוזר (reuse) בכל השלבים תכן מונחה-עצמים ניתוח מונחה-עצמים דרישות “מאגר” התוכנה

  47. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

  48. Strengths Weaknesses Model Life-Cycle Models Comparison Fine for short programs that will not require any maintenance Totally unsatisfactory fornontrivial projects Build & Fix Discipline approachDocument Driven Product may not meet client’s needs Waterfall Requires focus-orientation programmers RapidPrototype Ensures that delivered product meet client’s needs Maximizes early ROIPromotes maintainability Requires open architectureMay fall into build-and-fix Increment. Future users’ needs are metEnsures components can besuccessfully integrated Synch. & Stabilize Lack of wide experience can be used only for large-scale,in house products, Developers have to be competent in risk analysis and risk resolution Incorporate features ofall the above models Spiral Object Oriented Supports iteration within phases,Parallelism between phases May degenerate into CABTAB

  49. 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, • Budget , • Best suggestion: • “Mix-and-match” life-cycle model.

  50. The Product Progresses Steps, • Build-and-fix (model?), • Waterfall model, • Rapid prototyping model, • Incremental model, • Synchronize-and-stabilize model, • Spiral model, • Object-oriented life-cycle models, • Comparison of life-cycle models, • Open Source, • Extreme Programming.

More Related