180 likes | 602 Views
SOFTWARE LIFE_CYCLE MODEL. BY NAMUNA GAUTAM Kathford International College Balkumari,Lalitpur. DIFFERENT SOFTWARE MODELS. Build and fix model Water fall model Prototyping model Spiral model. Build and Fix Model. Problems No specifications No design. Waterfall Model. Advantages
E N D
SOFTWARE LIFE_CYCLE MODEL BY NAMUNA GAUTAM Kathford International College Balkumari,Lalitpur
DIFFERENT SOFTWARE MODELS • Build and fix model • Water fall model • Prototyping model • Spiral model
Build and Fix Model • Problems • No specifications • No design
Waterfall Model • Advantages • Documentation • Maintenance easier • Disadvantages • Specifications not easily understood by clients
Rapid Prototyping Model • 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
Three Key Points • Do not turn a rapid prototype into product • Rapid prototyping may replace specification phase—never the design phase • Comparison: • Waterfall model—try to get it right first time • Rapid prototyping—frequent changes until the client is satisfied, then discard
Integrating Waterfall and Rapid Prototyping Models • Waterfall model • Many successes • Client needs may not be met • Rapid prototyping model • Some success but not really proven • Has own problems • Solution • Rapid prototyping for requirements phase • Waterfall for rest of life cycle
Incremental Model • The product is designed, implemented, integrated and tested as a series of builds • A build consists of code pieces from various modules interacting to provide a specific functionality • Too few builds can lead to build-and-fix model • Too many builds can lead to inefficient development
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 • Needs open architecture—maintenance implications
Synchronize and Stabilize Model • Microsoft’s life-cycle model • Also based on the incremental 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
Synchronize and Stabilize Model (contd) • At the end of the day—synchronize (test and debug) • At the end of each build—stabilize (freeze build) • Components always work together • Get early insights into operation of product
Spiral Model • Simplified Waterfall model plus risk analysis • Uses rapid prototypes • Precede each phase by • Alternatives • Risk analysis • Follow each phase by • Evaluation • Planning of next phase
Simplified Spiral Model • If risks cannot be resolved, project is immediately terminated • Potential risks • Timing constraints • Lack of personnel • Competence of team • Dependency on hardware delivery
Full Spiral Model • Radial dimension: cumulative cost to date • Angular dimension: progress through the spiral
Analysis of Spiral Model • Strengths • Easy to judge how much to test • No distinction between development, maintenance • Weaknesses • For large-scale software only
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
Reference • Stephen Schach, Classical and Object-Oriented Software Engineering with UML and Java,Chapter 3, McGraw-Hill, New York, USA. • http://www.mhhe.com/engcs/compsci/schach5/samplech.mhtml