260 likes | 281 Views
This chapter delves into various software life cycle models including the Build-And-Fix Model, Waterfall Model, Rapid Prototyping Model, Incremental Model, Spiral Model, and Object-Oriented Model with an analysis of their advantages, disadvantages, and applications. From the rigorous documentation-driven approach of the Waterfall Model to the iterative nature of Rapid Prototyping, each model offers unique insights into software development. By understanding these models, organizations can choose the most suitable approach based on project requirements and constraints. This comprehensive overview aims to enhance comprehension of software development life cycle strategies and their impacts on project success.
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