26
UHD-CS3320-C03 1 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

Embed Size (px)

Citation preview

Page 1: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 1

SOFTWARE LIFE-CYCLE MODELS

CS 3320--Chapter 3

Page 2: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 2

MODELS• Build-And-Fix Model• Waterfall Model• Rapid Prototyping Model• Incremental Model• Spiral Model• Object-Oriented Model

Page 3: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 3

Page 4: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 4

BUILD-AND-FIX MODEL• No Specifications• No design• Reworked many times• Totally unsatisfactory

• Need life-cycle model– “Game Plan”– Phases– Milestones

Page 5: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 5

WATERFALL MODEL• First developed by Royce in early70’s• Documentation Driven• Verification/Test at each phase• Feedback loops

Page 6: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 6

Page 7: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 7

ANALYSIS OF THE WATERFALL MODEL• Advantages– Enforced discipline– documentation-driven model– testing by SQA– Maintenance easier

• Disadvantages– Requirements & Spec Analysis– graphical aids are used

Page 8: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 8

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

Page 9: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 9

Page 10: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 10

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

Page 11: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 11

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.

Page 12: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 12

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

Page 13: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 13

Page 14: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 14

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

Page 15: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 15

ANALYSIS OF THE INCREMENTAL MODELProblems:• 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

Page 16: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 16

Page 17: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 17

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)

Page 18: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 18

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

Page 19: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 19

Page 20: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 20

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

Page 21: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 21

Page 22: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 22

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.

Page 23: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 23

ANALYSIS OF SPIRAL MODELRestrictions:• 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

Page 24: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 24

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)

Page 25: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 25

Page 26: UHD-CS3320-C031 SOFTWARE LIFE-CYCLE MODELS CS 3320--Chapter 3

UHD-CS3320-C03 26

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