Professional Documents
Culture Documents
Software Development Life Cycle Models
Software Development Life Cycle Models
▪ Defining Requirements
SDLC MODELS:
There are various software development life cycle models defined and
designed which are followed during the software development process. They are as
follows.
▪ Waterfall model
▪ Iterative model
▪ Spiral model
▪ V-model
▪ Big bang model
▪ RAD model
▪ Agile model.
WATERFALL MODEL:
Waterfall model was the first SDLC model to be used widely in software
engineering to ensure sucessfull of the project. Waterfall model is a continuous
process so that the process cannot able to modify the software by backtracking the
processs. It is a classic life cycle model. Each process is completed before next starts.
ADVANTAGES OF WATERFALL:
DISADVANTAGES OF WATERFALL:
➢ You cannot go back a step if the design phase has gone wrong, things can
get very complicated in the implementation phase.
➢ High amounts of risk and uncertainty.
➢ Not a good model for complex and object-oriented projects.
➢ Poor model for long and on-going projects.
➢ Not suitable for the projects where requirements are at a moderate to high
risk of changing.
ITERATIVE MODEL:
Iterative life cycle model starts with a simple set of software requirements and
begin to implement and after again iteratively enhances the evolving versions until
the full system is implemented.
At each iteration, design modification are made and new functional capabilities
are added. For each iteration it must review the software.
ADVANTAGES OF ITERATIVE:
➢ Some working functionality can be developed quickly and early in the life
cycle.
➢ Results are obtained early and periodically.
➢ Parallel development can be planned.
➢ Progress can be measured.
➢ Less costly to change the scope/requirements.
➢ Testing and debugging during smaller iteration is easy.
➢ Risks are identified and resolved during iteration; and each iteration is an
easily managed milestone.
➢ Easier to manage risk - High risk part is done first.
➢ With every increment, operational product is delivered.
➢ Issues, challenges and risks identified from each increment can be
utilized/applied to the next increment.
➢ Risk analysis is better.
➢ It supports changing requirements.
➢ Initial Operating time is less.
➢ Better suited for large and mission-critical projects.
➢ During the life cycle, software is produced early which facilitates customer
evaluation and feedback.
DISADVANTAGES OF ITERATIVE:
➢ Identification
➢ Design
➢ Construct and design
➢ Evaluation and risk analysis.
V-MODEL:
The V-model is an SDLC model where execution of processes happens in a
sequential manner in a V-shape. It is also known as Verification and Validation
model.
The v-model is the extension for waterfall model and is based on the
association of testing phase for each corresponding development process. This means
in development process every stages there is an associative testing process.
There are several verification phases they are
➢ Business Requirement Analysis
➢ System Design
➢ Architectural Design
➢ Module Design.
Some of the validation phases are
➢ Unit Testing
➢ Integration Testing
➢ System Testing
➢ Acceptance Testing
ADVANTAGES OF V-MODEL:
➢ This is a highly-disciplined model and Phases are completed
one at a time.
➢ Works well for smaller projects where requirements are very
well understood.
➢ Simple and easy to understand and use.
➢ Easy to manage due to the rigidity of the model. Each phase has
specific deliverables and a review process.
DISADVANTAGES OF V-MODEL:
➢ High risk and uncertainty.
➢ Not a good model for complex and object-oriented projects.
➢ Poor model for long and ongoing projects.
➢ Not suitable for the projects where requirements are at a moderate
to high risk of changing.
➢ Once an application is in the testing stage, it is difficult to go
back and change a functionality.
➢ No working software is produced until late during the life cycle.
AGILE MODEL:
Agile SDLC model is a combination of iterative and incremental process
models with focus on process adaptability and customer satisfaction by rapid delivery
of working software product. Agile Methods break the product into small incremental
builds. These builds are provided in iterations. Each iteration typically lasts from
about one to three weeks.
Agile model believes that every project needs to be handled differently and the
existing methods need to be tailored to best suit the project requirements. In Agile,
the tasks are divided to time boxes (small time frames) to deliver specific features for
a release.
Some of the various process involed in agile model are
✔ Planning
✔ Requirements Analysis
✔ Design
✔ Coding
✔ Unit Testing and
✔ Acceptance Testing.