260 likes | 271 Views
SOFTWARE LIFE-CYCLE MODELS. CS 3320--Chapter 3. MODELS. Build-And-Fix Model Waterfall Model Rapid Prototyping Model Incremental Model Spiral Model Object-Oriented Model. BUILD-AND-FIX MODEL. No Specifications No design Reworked many times Totally unsatisfactory Need life-cycle model
E N D
SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3 UHD-CS3320-C03
MODELS • Build-And-Fix Model • Waterfall Model • Rapid Prototyping Model • Incremental Model • Spiral Model • Object-Oriented Model UHD-CS3320-C03
BUILD-AND-FIX MODEL • No Specifications • No design • Reworked many times • Totally unsatisfactory • Need life-cycle model • “Game Plan” • Phases • Milestones UHD-CS3320-C03
WATERFALL MODEL • First developed by Royce in early70’s • Documentation Driven • Verification/Test at each phase • Feedback loops UHD-CS3320-C03
ANALYSIS OF THE WATERFALL MODEL • Advantages • Enforced discipline • documentation-driven model • testing by SQA • Maintenance easier • Disadvantages • Requirements & Spec Analysis • graphical aids are used UHD-CS3320-C03
RAPID PROTOTYPING MODEL • Rapid Prototype used for requirements and specifications analysis. • Rapid Prototype contains a subset of the functionality of the target product • Structure of prototype not important, but speed of development process is--RAPID • Prototype can be used in requirement phase of WF model UHD-CS3320-C03
RAPID PROTOTYPING MODEL cont. • Advantages • Helps get requirements right • Good insight to estimate budget and time requirements • Help in design phase ==> less feedback loops • Disadvantages • Prototype adds to the cost (overall it may reduce cost) • Temptation to turn prototype into product UHD-CS3320-C03
RAPID PROTOTYPING MODEL cont. • Key points • Do not turn it into product • Prototype may replace requirement phase but never the design phase • Waterfall model-- try to get right the first time • Rapid Prototype-- Allows better feedback from client at earliest stage of the process. UHD-CS3320-C03
INCREMENTAL MODEL • The product is constructed step by step • The product is divided into a series of incremental builds • Each build consist of a set of module that provide a functionality • Product provided to client build by build • Each new build is integrated with previous builds and delivered to client • Production may stop at end of any build UHD-CS3320-C03
ANALYSIS OF THE INCREMENTAL MODEL • Waterfall: operational quality of complete product at end • Incremental model: deliver operational quality of portion of product in “short” time • Reduces the effect of introducing a new system on users: less traumatic • Smaller capital outlay • The process can be stopped at end of any build • Need open architecture-- good for maintenance UHD-CS3320-C03
ANALYSIS OF THE INCREMENTAL MODEL Problems: • If broken into too few builds then it degenerates into the build-and-fix model • If broken into too many builds then integration of the builds can turn out to be too costly. • Note: Requirements, Specs and Design are done for whole product. Only Implementation and Integration are incremental. • A more risky version: incremental Specs and Design UHD-CS3320-C03
SYNCHRONIZE-AND-STABILIZE MODEL • Microsoft’s life-cycle model • Requirements analysis--interview potential customers • Draw up specifications • Divide project into 3 to 4 builds • Each build carried out by small teams working in parallel • At end of each day--Synchronize (integrate modules into build, test & debug) • At end of each build-Stabilize (freeze build) UHD-CS3320-C03
SPIRAL MODEL • Simplified form • Waterfall model plus risk analysis • Precede each phase by • Alternatives • Risk analysis: performance, budget, milestones • Follow each phase by • Evaluation • Planning of next phase • Prototypes may be used to analyze risks UHD-CS3320-C03
SPIRAL MODEL • Refer to Figure • radial dimension shows cumulative cost to date • Angular dimension shows progress through the spiral • Each cycle corresponds to a phase UHD-CS3320-C03
ANALYSIS OF SPIRAL MODEL Advantages: • It is a risk-driven model • Risk analysis highlights the need to stay within budget, on schedule and quality assurance. • If risks can not be resolved, terminate project • No distinction between development and maintenance. UHD-CS3320-C03
ANALYSIS OF SPIRAL MODEL Restrictions: • Intended for internal (in-house) software • Contract software: risk analysis can not be done at each phase. • Applicable to only large-scale software • cost of risk analysis UHD-CS3320-C03
OBJECT-ORIENTED MODELS • Intended to overcome shortcomings of previous models • Emphasis on incorporating • iterations, refinement, and feedback • overlap and parallelism between phases • incremental development • Danger • Can degenerate into CABTAB (Code A Bit Test A Bit) UHD-CS3320-C03
CONCLUSION • Different life-cycle models • Build-and-Fix should be avoided • WF: well known with strengths and weaknesses • Rapid-Prototype: strengthens WF model • Incremental model • Synchronize-and-Stabilize: used with success by Microsoft • Spiral: risk analysis driven • Best suggestion: “Mix-and-match” life-cycle UHD-CS3320-C03