Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

SDLC

Download as pdf or txt
Download as pdf or txt
You are on page 1of 42

A presentation on

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

The waterfall Model illustrates the software development


process in a linear sequential flow.

This means that any phase in the development process


begins only if the previous phase is complete.

In this waterfall model, the phases do not overlap.


Requirement Gathering and analysis Integration and Testing
All possible requirements of the system All the units are integrated into a
to be developed are captured in this system after testing of each unit.
phase and documented in a requirement
specification document.

System Design Deployment of system


System design helps in specifying The product is deployed in the
hardware and system requirements customer environment

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

This software development life cycle model is


considered a very practical one.

It divides the project into cycles with short time limits


which enables the quick delivery of a running product.
Individuals and interactions
Interactions like co-location and
pair programming.

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

In the Iterative model, the iterative process starts with a


simple implementation of a small set of software
requirements and iteratively enhances the evolving
versions until the complete system is implemented and
ready to be deployed.
The iterative process starts with a
simple implementation of a subset
of the software requirements and
iteratively enhances the evolving
versions until the full system is
implemented.

At each iteration, design


modifications are made and new
functional capabilities are added.
Pro’s
With every increment, an operational
product is delivered.
It supports changing requirements.
Parallel development can be planned.

Con’s
The end of the project may not be known
which is a risk.
More resources may be required.
Spiral Model

This Spiral model is a combination of iterative


development process model and sequential linear
development model i.e. the waterfall model with a very
high emphasis on risk analysis.

It allows incremental releases of the product or


incremental refinement through each iteration around
the spiral.
Identification

Design

Construct or Build

Evaluation and Risk Analysis


Pro’s
Changing requirements can be
accommodated.
Allows extensive use of prototypes.
Requirements can be captured more
accurately.

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

The V-shaped SDLC model is an extended waterfall


model, in which the testing (verification) and
development (validation) stages go parallelly.

This model has a strict plan and like in a waterfall model,


the next stage doesn’t begin until the previous one is
finished.
Verification Phases

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

There is the only stage - bang, which means starting the


project immediately, Even the customer requirements
are not clearly defined according to this model.

It may seem chaotic, but it works for small projects by


saving time, energy, and cost in the initial stages.
The Big Bang Model comprises of
focusing all the possible resources
in the software development and
coding, with very little or no
planning.

The requirements are understood


and implemented as they come.
Pro’s
No planning required
Few resources necessary
Is aimed at fast product delivery

Con’s
High risk of misunderstanding.
Can get very expensive if the requirements
are not clear.
Software Prototype Model

Software Prototyping refers to building software


application prototypes that display the functionality of the
product under development but may not actually hold
the exact logic of the original software.
Basic Requirement Identification

Developing the initial Prototype

Review of the Prototype

Revise and Enhance the Prototype


Pro’s
Increased user involvement in the product
even before its implementation.
Quicker user feedback is available leading
to better solutions.

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

The RAD (Rapid Application Development) model is


based on prototyping and iterative development with no
specific planning involved. The process of writing the
software itself involves the planning required for
developing the product.
A complete business analysis is performed
to find the vital information for business

The information gathered in the Business


Modelling phase is reviewed and analyzed
to form sets of data objects

Process descriptions for adding, deleting,


retrieving, or modifying a data object are
given.

The actual system is built as a prototype

The overall testing time is reduced in the


RAD model as the prototypes are
independently tested during every iteration.
Pro’s
Changing requirements can be
accommodated.
Encourages customer feedback.

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

SDLC offers a basis for project planning, scheduling, and


estimating.
It provides a framework for a standard set of activities and
deliverables.
It is a mechanism for project tracking and control.
Thank you.

You might also like