SDLC Models
1
Software Development Life
Cycle (SDLC) Models
What is SDLC Model?
A software life cycle model is a descriptive representation of
the software development cycle. SDLC models might have a
different approach but the basic phases and activity remain
the same for all the models.
Is a conceptual framework describing all activities in a
software development project from planning to maintenance.
This process is associated with several models, each including
a variety of tasks and activities. 2
Software Development Life
Cycle (SDLC) Models
The common SDLC models are:
1. Waterfall mode
2. Iterative Model
3. Spiral Model
4. V-Model
5. Big Bang Model
3
Software Development Life
Cycle (SDLC) Models
Waterfall Model
The waterfall model is a linear, sequential approach to the
software development lifecycle (SDLC) that is popular in
software engineering and product development. The
waterfall model uses a logical progression of SDLC steps for
a project, similar to the direction water flows over the edge
of a cliff.
4
Waterfall Model
5
Waterfall Model
When to Use The Waterfall Model?
[Link] the requirements are known, clear, and fixed.
[Link] are no ambiguous requirements.
[Link] project is short and simple.
[Link] development environment is stable.
[Link] are adequately trained and available.
[Link] necessary tools and techniques used are stable, and not
dynamic.
6
Advantages of Waterfall Model?
Easy and straightforward. Each Waterfall phase has its own review
process and deliverables.
Predictable. All the requirements, processes, timelines, deadlines and
end-product are fixed and well-documented.
The fastest project delivery in small and simple projects.
Disadvantages of Waterfall Model?
No room for changes. Waterfall is not compatible with changes in
client requirements
Never backward.
Delayed testing.
Not suitable for complex projects
7
Software Development Life
Cycle (SDLC) Models
Iterative Model
In the Iterative model, iterative process starts with a simple
implementation of a small set of the software requirements.
Development begins by specifying and implementing just part
of the software, which is then reviewed to identify further
requirements.
At each iteration, design modifications are made and new
functional capabilities are added.
Applies when there is a requirement of changes in future. 8
Iterative Model
9
Iterative Model
Advantages
Functionality can be developed quickly and early in the life cycle.
Results are obtained early and periodically.
Parallel development can be planned.
Less costly to change the scope/requirements.
Disadvantages
More resources may be required.
End of project may not be known which is a risk.
Not suitable for smaller projects
10
Software Development Life
Cycle (SDLC) Models
Spiral Model
It is a combination of waterfall model and iterative model. Spiral Model
helps to adopt software development for the software project based on
unique efficient development process.
11
Advantages of Spiral Model
Additional functionality or changes can be done at a later stage
Cost estimation becomes easy as the prototype building is done in
small fragments
Development is fast and features are added in a systematic way in
Spiral development
There is always a space for customer feedback
Disadvantages of Spiral Model
Risk of not meeting the schedule or budget
Spiral development works best for large projects only
Documentation is more as it has intermediate phases
12
When to use Spiral Model?
A Spiral model in software engineering is used when project is large
When releases are required to be frequent, spiral methodology is used
When requirements are unclear and complex, Spiral model in SDLC is
useful
When changes may be required at any time
When long term project commitment is not feasible due to changes in
economic priorities
13