SDLC Upload

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 38

Software Development

Life Cycle
(SDLC)
Agenda
01 What is SDLC?

Importance of SDLC 02
03 SDLC Phases
6 Basic SDLC
Methodologies 04
05 Benefits of SDLC
The software development process is normally
long and tedious.

But project managers and system analysts can


leverage software development life cycles to
outline, design, develop, test, and eventually
deploy information systems or software
products with greater regularity, efficiency,
and overall quality.
What is SDLC
• Software Development Life Cycle (SDLC)
is a process used by the software industry
to design, develop and test high quality
software’s.
• The SDLC aims to produce a high-quality
software that meets or exceeds customer
expectations, reaches completion within
times and cost estimates.
What is SDLC
• SDLC is a process followed for a
software project, within a software
organization.
• It consists of a detailed plan describing
how to develop, maintain, replace and
alter or enhance specific software.
• The life cycle defines a methodology for
improving the quality of software and the
overall development process.
Importance of SDLC

• It provides an effective framework and


method to develop software applications.

• It helps in effectively planning before


starting the actual development. SDLC
allows developers to analyze the
requirements.
Importance of SDLC
• It helps in reducing unnecessary costs
during development. During the initial
phases, developers can estimate the costs
and predict costly mistakes.
• It enables developers to design and build
high-quality software products. This is
because they follow a systematic process
that allows them to test the software
before it is rolled out.
Importance of SDLC

• It provides a basis when evaluating the


effectiveness of the software. This
further enhances the software product.
Phases
of
Software Development
Life Cycle
(SDLC)
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Planning Stage
The planning stage (also called the feasibility stage)
is exactly what it sounds like: the phase in which
developers will plan for the upcoming project.

It helps to define the problem and scope of any


existing systems, as well as determine the
objectives for their new systems.
By developing an effective outline for the
upcoming development cycle, they'll
theoretically catch problems before they
affect development.
Planning Stage
The planning stage (also called the feasibility stage)
is exactly what it sounds like: the phase in which
developers will plan for the upcoming project.

Help to secure the funding and resources they


need to make their plan happen.
Perhaps most importantly, the planning stage
sets the project schedule, which can be of key
importance if development is for a commercial
product that must be sent to market by a
certain time.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Analysis Stage
The analysis stage includes gathering all the
specific details required for a new system as well as
determining the first ideas for prototypes.
Developers may:
• Define any prototype system requirements
• Evaluate alternatives to existing prototypes
• Perform research and analysis to determine the needs of end-users
Furthermore, developers will often create a software requirement
specification or SRS document.
This includes all the specifications for software, hardware, and
network requirements for the system they plan to build. This will
prevent them from overdrawing funding or resources when working at
the same place as other development teams.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Design Stage
The design stage is a necessary before the main
development stage.

Developers will first outline the details for the overall application,
alongside specific aspects, such as its:
• User interfaces
• System interfaces
• Network and network requirements
• Databases

They’ll typically turn the SRS document they created into a more
logical structure that can later be implemented in a programming
language.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Development Stage
The development stage is the part where developers
actually write code and build the application according
to the earlier design documents and outlined
specifications.

• Product program code is built per the design document


specifications. In theory, all of the prior planning and outlined
should make the actual development phase relatively
straightforward.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Testing Stage
Building software is not the end.

• Now it must be tested to make sure that there aren’t any bugs
and that the end-user experience will not negatively be affected
at any point.

• During the testing stage, developers will go over their software


with a fine-tooth comb, noting any bugs or defects that need to
be tracked, fixed, and later retested.

• It’s important that the software overall ends up meeting the


quality standards that were previously defined in the SRS
document.
Testing Stage
Building software is not the end.

Depending on the skill of the developers, the complexity of the


software, and the requirements for the end-user, testing can
either be an extremely short phase or take a very long time.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Implementation and Integration Stage

• After testing, the overall design for the software will


come together.
• Different modules or designs will be integrated into the
primary source code through developer efforts, usually
by leveraging training environments to detect further
errors or defects.
• The information system will be integrated into its
environment and eventually installed.
• After passing this stage, the software is theoretically
ready for market and may be provided to any end-users.
Operations and
Maintenance Planning Stage
Stage

Feasibility or
Implementation Requirements of
and Integration Analysis Stage

Software Design and


Testing Stage Prototyping
Stage

Software Development Stage


Maintenance Stage
The SDLC doesn’t end when software reaches the
market. Developers must now move into a maintenance
mode and begin practicing any activities required to
handle issues reported by end-users.

• Furthermore, developers are responsible for implementing any


changes that the software might need after deployment.

• This can include handling residual bugs that were not able to be
patched before launch or resolving new issues that crop up due
to user reports. Larger systems may require longer maintenance
stages compared to smaller systems.
6 Basic SDLC Methodologies

• Waterfall Model
• Iterative Model
• Spiral Model
• V-Model
• Big Bang Model
• Agile Model
Benefits of SDLC

• Better management control over the


entire development project

• Transparency and visibility of all the


processes

• Clarity of requirements
Benefits of SDLC

• A single vision of a product for all the


parties involved

• Predictable results in terms of time,


costs, and deliverables

• Reduced risk of going off the track


Disadvantages of SDLC

• Due to assumptions made at the start of the


system development project, if different
unexpected circumstances complicate the
development process, that can lead to more
complications in the future.

For instance, if newly applied hardware is not


working appropriately, it can increase the costs
and the time required for the development.

You might also like