SDLC
SDLC
SDLC
Software
Development
Life Cycle
An Overview.
by
Harshavardhan Ambati
20449823
*SDLC - Software development life cycle
Contents
Introduction to SDLC
Phases of SDLC
Common SDLC Models
When to Use an SDLC Model
Conclusion
What is SDLC
The SDLC is a framework that describes the
activities performed at each stage of a software
development project.
Phases of SDLC
lets start building the software
Planning Phase
Identify the project's needs, objectives, and goals.
Define the problem and scope of any existing
systems
Requirements Phase
In this phase, the project team meets with the
customer to outline each requirement in detail.
Design Phase
In SDLC, the design phase is a stage where software
developers define the technical details of the product.
Depending on the project, these details can include screen
designs, databases, sketches, system interfaces, and
prototypes.
Development Phase
The Development Phase is where an organization’s
development team writes the actual code for the projects
based on the design specifications.
Testing Phase
During this phase, developers focus on investigation and
discovery to ensure that their code and programming
work according to customer requirements.
Deployment Phase
The deployment phase is when software is launched and
made available to end users.
During this phase, developers ensure that the software is
ready and available for use on a target device.
Maintenance Phase
During this phase, the software is monitored to ensure it continues to
function as it was designed to.
It ensures that the system remains running at peak performance levels
and solves any software bugs.
Common SDLC Models
Waterfall Model
Implementation Maintenance
Each unit is developed and tested Issues that come up in the client
for its functionality environment are fixed
Pro’s
Simple and easy
Clearly defined stages.
Process and results are well documented.
Con’s
Cannot accommodate changing
requirements.
No working software is produced until
the end
Poor model for long and ongoing
projects.
Agile Model
Working software
Demo working software is
considered the best, instead of just
depending on documentation.
Customer collaboration
Continuous customer interaction is
very important to get proper
product requirements.
Responding to change
Quick responses to change and
continuous development.
Pro’s
Promotes teamwork and cross-training.
Delivers early partial working solutions.
Suitable for fixed or changing requirements
Con’s
The final product cost is difficult to measure
The final product may be delivered later
than the scheduled deadline.
What to choose:
Waterfall is best suited for projects with Agile is best for requirements that are
clear requirements and fixed scope. unstable and may change frequently.
military systems
medical systems
life-control systems
Iterative Model
Con’s
The end of the project may not be known
which is a risk.
More resources may be required.
Spiral Model
Design
Construct or Build
Con’s
Management is more complex.
The end of the project may not be known
early.
Could be expensive for small projects.
V - Shaped Model
Coding Phase
Validation Phases
Pro’s
Simple and easy
Works well for smaller projects where
requirements are very well understood.
Each phase has specific deliverables and a
review process.
Con’s
Not a good model for complex and object-
oriented projects.
No working software is produced until the end
Once an application is in the testing stage, it
is difficult to go back and change functionality.
Big-Bang Model
Con’s
High risk of misunderstanding.
Can get very expensive if the requirements
are not clear.
Software Prototype Model
Con’s
The effort invested in building prototypes
may be too much if it is not monitored
properly.
Risk of insufficient requirement analysis
owing to too much dependency.
RAD Model
Con’s
Requires highly skilled developers.
Suitable for systems that are component-
based and scalable.
Suitable for projects requiring shorter
development times.
What to choose:
Big-Bang is best suited for Spiral is best suited for
The project is small and practical The customer is not sure about the
The developer team is small (one or project requirements
two software engineers) Customer feedback is essential,
especially for new product lines
What to choose:
V shaped is best suited for Iterative model is best suited for
The project is small and all the Major requirements must be defined;
requirements are clear. however, some functionalities or
The project requires thorough testing. requested enhancements may evolve
Qualified software engineers, with time.
especially testers are available Resources to be used on a contract
basis for specific iterations.
What to choose:
Prototype is best suited for RAD model is best suited for
Should be used where the
Software Prototyping is most useful in
requirements change during the
development of systems having high
project and working prototypes are to
level of user interactions such as
be presented to customer in small
online systems.
iterations of 2-3 months.
Conclusion