Software life cycle comparison

Preview:

DESCRIPTION

 

Citation preview

SOFTWARE LIFECYCLE MODELS AND COMPARISON

Introduction

What is Software Lifecycle? Series of stages in the development of

software Often used in Software Engineering E.g. analysis, designs, implementation,

tests, maintenance

Software Lifecycle Models

Waterfall Model Prototype Model Spiral Model Agile Model

Waterfall Model

Simplest software model Sequential design process Clear project objectives Stable project requirements. Concrete and clear approach to software

development Amount of resources required is very

minimal i.e. cheaper

Waterfall Model

Strengths of Waterfall Model Minimizes planning overhead since it can

be done up front. Structure minimizes wasted effort, so it

works well for technically weak or inexperienced staff.

Waterfall Model

Weaknesses of Waterfall Model Inflexible Only the final phase produces a non

documentation deliverable Backing up to address mistakes is difficult.

Prototype Model

Overcomes limitations of Waterfall model Prototype is made which is further

modified as per the requirement of the customer

Prototype Model

Strengths of Prototype Model Early functionality. Provides a process to perfect the

requirements definition. Provides risk control. Documentation focuses on the end product

not the evolution of the product.

Prototype Model

Weaknesses of Prototype Model Less applicable to existing systems than to new,

original development. Bad reputation among conservatives as a "quick

and dirty" method. Suffers from bad documentation Sometimes produces a system with poor

performance. Tendency for difficult problems to be pushed to

the future so that the initial promise of the prototype is not met by subsequent products plans.

Spiral Model

combines elements of both design and protoypein-stages

Agile Model

It is an enhanced development software, not a alternative option.

It is a distinct software development method.

Its an iterative method.

Agile Model

Advantages Agile by definition would naturally refer to

something which is quick and easy to do. They are test-driven software

development. It provides advice for how to be effective

as a modeler.

Agile Model

Disadvantages Difficult to apply where there are large

team members. May increase the complexity of the system

as scope of the system may expand beyond original plan.

It does not define detailed procedures for how to create a given type of model.

Recommended