Title: Introduction to Software Development Life Cycle: Phases & Models
1ESDS Software Solution Pvt. Ltd.
The Digital Transformation Catalyst
https//www.esds.co.in
2Section Break
Section Break
To Introduction to Software Development Life
Cycle Phases Models
https//www.esds.co.in
3SDLC stands for Software Development Life Cycle.
It is a process that gives a complete idea about
developing, designing, and maintaining a software
project by ensuring that all the functionalities
along with user requirements, objectives, and end
goals are addressed. With SDLC, the software
projects quality and the overall software
development process get enhanced.
https//www.esds.co.in
4Benefits of SDLC
- Address the goals and problems to implement the
project with the highest precision and accuracy - SDLC does not allow the project members to
proceed ahead before completion approval of the
prior stages - Installation in the project executed with SDLC
has necessary checks to be tested with precision
before entering the installation stage - With a well-defined SDLC in place, project
members can continue the software development
process without incurring any complications\ - SDLC offers optimal control with minimum
problems, allowing the project members to run the
project smoothly
https//www.esds.co.in
5Stages of SDLC
https//www.esds.co.in
6Stage 1 Requirement Gathering Analysis Phase
In an SDLC, this is the first and most crucial
phase for a software projects success. In this
phase, communication takes place between
stakeholders, end-users, and project teams, as
both functional and non-functional requirements
are gathered from customers.
https//www.esds.co.in
7The Requirement Gathering Analysis Phase of
SDLC involves the following
- Analysis of functionality and financial
feasibility - Identifying and capturing requirements of
stakeholders through customer interactions like
interviews, surveys, etc. - Clearly defining and documenting customer
requirements in an SRS (Software Resource
Specification Document) comprising of all product
requirements that need to be developed - Creating project prototypes to show the end-user
how the project will look
https//www.esds.co.in
8Stage 2 Design Phase
In the design phase of an SDLC, the architectural
design is proposed for the project based on the
SRS Document requirements.
The Designing Phase of SDLC involves the following
- Separation of hardware and software system
requirements - Designing the system architecture based on
gathered requirements - Creating Unified Modelling Language (UML)
diagrams like- use cases, class diagrams,
sequence diagrams, and activity diagrams
https//www.esds.co.in
9Stage 3 Development Phase
In the entire SDLC, the development phase is
considered to be the longest one. In this phase,
the actual project is developed and built.
The Development Phase of SDLC involves the
following
- Actual code is written
- Demonstration of accomplished work presented
before a Business Analyst for further
modification of work - Unit testing is performed, i.e., verifying the
code based on requirements
https//www.esds.co.in
10Stage 4 Testing Phase
Almost all stages of SDLC involves the testing
strategy. However, SDLCs testing phase refers to
checking, reporting, and fixing the system for
any bug/defect. In this phase, the on-going
system or project is migrated to a test
environment where different testing forms are
performed. This testing continues until the
project has achieved the quality standards, as
mentioned in the SRS document during the
requirement gathering phase.
The Testing Phase involves the following-
- Testing the system as a whole
- Performing different types of test in the system
- Reporting and fixing all forms of bugs defects
https//www.esds.co.in
11Stage 4 Deployment Maintenance Phase
In this SDLC phase, once the system testing has
been done, it is ready to be launched. The system
may be initially released for limited users by
testing it in a real business environment for UAT
or User Acceptance Testing.
The Deployment Maintenance Phase involves the
following-
- The system is ready for delivery
- The system is installed and used
- Errors are rectified that might have been
previously missed - Enhancing the system inside a data center
https//www.esds.co.in
12SDLC Models
Various SDLC models are defined and designed to
follow the software development process. These
models are also known as Software Development
Process Models. Each of these models follows a
series of steps for ensuring the complete success
of a project.
https//www.esds.co.in
13Agile Model
Rapid Action Development (RAD) Model
Some of the most popular SDLC models used for
software development include
Iterative-Incremental Model ?
Spiral Model
Waterfall Model
https//www.esds.co.in
14Waterfall Model
This model is the most commonly used SDLC model.
In this model, each phase starts only after the
previous step has been completed. This is a
linear model having no feedback loops.
https//www.esds.co.in
15Waterfall Model
Requirement
Analysis
Design
Coding
Software Product
https//www.esds.co.in
16Defines requirements stability
Software delivered towards the end of the project
only
Works well when the project Quality is important
Testing begins only after the development phase
is complete
Easy to Understand and Use
Difficult to make changes
Achievements are well-defined
It cannot match reality well
Strengths of the Waterfall Model
Weaknesses of the Waterfall Model
https//www.esds.co.in
17Iterative-Incremental Model
In this model, in the initial stages, a partial
implementation of the complete system is
constructed such that it will be present in a
deliverable form. Increased functionalities are
added and for any defects, they are fixed with
the working product delivered at the end. This
process is repeated until the product development
cycle gets completed. These repetitions of
processes are known as iterations. With each
iteration, a product increment gets delivered.
https//www.esds.co.in
18Iterative-Incremental Model
https//www.esds.co.in
19An early definition of a complete, as well as
fully functional system, is needed for allowing
increments definition
Lower initial delivery costs
Changes in requirements can be easily adjusted
Efficient design is required for including the
required functionalities
The initial delivery of the product is faster
Clear module interfaces are required
Prioritized requirements can be initially
developed
There are requirements for effective iterations
planning
Strengths of the Iterative-Incremental Model
Weaknesses of the Iterative-Incremental Model
https//www.esds.co.in
20Spiral Model
The spiral model combines risk analysis along
with RAD prototyping to the Waterfall model. Each
of the cycles has the same steps as in the case
of the Waterfall model.
https//www.esds.co.in
21Spiral Model
https//www.esds.co.in
22It may be hard to set the objectives, verifiable
milestones for indicating preparedness to go
ahead with the next iteration
An early indication of the risks can be provided,
without incurring much cost
Time spent on addressing risks can be large for
smaller low-risk involved projects
Critical high-risk functionalities are
initially developed
Users are involved in all lifecycle stages
The spiral model can be complex to understand for
new members
Users can have a look at their system early due
to rapid prototyping tools
The spiral may go on indefinitely
Strengths of the Spiral Model
Weaknesses of the Spiral Model
https//www.esds.co.in
23Agile Model
The agile model is the combination of the
iterative-incremental model that depends on
process adaptability along with customer
satisfaction through the delivery of software
products. In this model, the project is broken
down into smaller time frames for delivering
certain features during a release.
https//www.esds.co.in
24Agile Model
https//www.esds.co.in
25Regular communication takes place between
customers and developers
Functionalities can be developed quickly and
demonstrated to customers
Teams need to have the desired experience levels
for adhering method rules
Easy to accommodate changing requirements
Not ideal for handling complex dependencies
Strengths of the Agile Model
Weaknesses of the Agile Model
https//www.esds.co.in
26Rapid Application Development (RAD) Model
The RAD SDLC model is based on prototyping and
iterative development, with no involvement of a
defined planning structure. In this model,
different function modules are parallelly
developed as prototypes and then integrated to
speed up product delivery.
https//www.esds.co.in
27Rapid Application Development (RAD) Model
https//www.esds.co.in
28Reduced cycle time and enhanced productivity with
minimal team members
Customers continuous involvement ensures minimal
risks of not achieving customer satisfaction
Heavily dependent on technically strong members
for identifying business requirements
Easy to accommodate any user changes
Hard to use and implement with legacy systems
Strengths of RAD Model
Weaknesses of RAD Model
https//www.esds.co.in
29Thank You
https//www.esds.co.in