DIFFERENT TYPES OF SOFTWARE DEVELOPMENT LIFE CYCLE MODELS

There are various types of Software Development Life Cycle models. The types are:

Water Fall Model

Spiral Model

V Model

Iterative Model

Water Fall Model:

The Water Fall Model has the planning, analysis, implementation and testing phase.

This model is different from traditional model in such a way that testing phase comes after the implementation phase.

In such model after the complete software is produced and implemented onto the application the testing is carried out.

Advantages:

  • All the phases are completed at one time
  • It has a rigid structure which is easy to use and each phase has review process.
  • Good for small project

  Disadvantages:

  • Future adjustments in the project are not possible.
  • No prototypes are produced
  • Not suitable for projects with moderate requirements, long projects, and for the projects which may undergo future changes.

SPIRAL MODEL: 

The spiral model has four phases planning, risk analysis, engineering and evaluation.

It emphasis more on risk analysis.

In this model the project undergoes each phases repeatedly called spirals.

The planning phase is the baseline spiral and each subsequent spiral is build on spiral model

These type of model is used in risk analyzing projects for eg in space crafts.

Advantages:

  • Importance is placed more on risk analysis
  • Software is produced in the early stage.

Disadvantages:

  • Not suitable for small projects
  • It is very costly
  • Needs expertise for such model

V MODEL:

It explains the relationship between each phase and the associated testing phase.

In this type each phase undergoes testing i.e for each phase a test deign is created and testing is carried on the corresponding designs and undergoes coding phase if defect is determined.

Since it does not follow a linear path and bends after coding phase this model is termed as V-model.

Advantages:

  • Since each phase has its own test design it can produce good results.
  • Simple and easy to use
  • It can be used for small projects and the requirements are clearly understood.

Disadvantages:

  • No prototypes are produced.
  • Do not have the clear path the problems found after each testing phase.
  • Adjustment in future is less or not possible.