0% found this document useful (0 votes)
7 views

SDLC (Software Development Life Cycle) - New

The document discusses the Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC). It defines SDLC as the process of developing software from the initial planning through maintenance. It also describes the typical phases of SDLC like planning, requirements, design, development, testing, and deployment. Additionally, it notes that STLC is a fundamental part of SDLC but only consists of the testing phases, starting after requirements are defined. The STLC yields a step-by-step process to ensure quality software.

Uploaded by

SayantanBarai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

SDLC (Software Development Life Cycle) - New

The document discusses the Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC). It defines SDLC as the process of developing software from the initial planning through maintenance. It also describes the typical phases of SDLC like planning, requirements, design, development, testing, and deployment. Additionally, it notes that STLC is a fundamental part of SDLC but only consists of the testing phases, starting after requirements are defined. The STLC yields a step-by-step process to ensure quality software.

Uploaded by

SayantanBarai
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

SDLC (Software Development Life Cycle)

❖ SDLC Cycle represents the process of developing software


❖ The life cycle defines a methodology for improving the
Why quality of software and the overall development process.
Needed? ❖ SDLC describes entry and exit criteria for each phase

A typical Software
Development Life Cycle
consists multiple
stages as shown in the
picture
SDLC (Software Development Life Cycle) Phases

Stage1: Planning and requirement analysis

• Requirement Analysis is the most important and necessary stage in SDLC.

• The senior members of the team perform it with inputs from all the
stakeholders and domain experts.

• Planning for the quality assurance requirements and identifications of the


risks associated with the projects is also done at this stage.

• Business analyst and Project organizer set up a meeting with the client to
gather all the data like what the customer wants to build, who will be the
end user, what is the objective of the product. Before creating a product, a
core understanding or knowledge of the product is very necessary.
SDLC (Software Development Life Cycle) Phases

Stage2: Defining Requirements

• Once the requirement analysis is done, the next


stage is to certainly represent and document the
software requirements and get them accepted
from the project stakeholders.

• This is accomplished through -Requirement


Specification document which contains all the
product requirements to be constructed and
developed during the project life cycle.
SDLC (Software Development Life Cycle) Phases

Stage3: Designing the Software

• The next phase is about to bring down all the knowledge of


requirements, analysis, and design of the software project. This
phase is the product of the last two, like inputs from the customer
and requirement gathering.

Stage4: Developing the project

• In this phase of SDLC, the actual development begins, and the


programming is built. The implementation of design begins
concerning writing code. Developers have to follow the coding
guidelines described by their management and programming tools
like compilers, interpreters, debuggers, etc. are used to develop and
implement the code.
SDLC (Software Development Life Cycle) Phases
Stage5: Testing
After the code is generated, it is tested against the requirements to make sure
that the products are solving the needs addressed and gathered during the
requirements stage.

During this stage, unit testing, integration testing, system testing, acceptance
testing are done.

Stage6: Deployment
Once the software is certified, and no bugs or errors are stated, then it is
deployed.

Then based on the assessment, the software may be released as it is or with


suggested enhancement in the object segment.

After the software is deployed, then its maintenance begins.


SDLC methodologies
➢ Waterfall Model

➢ Iterative Model

➢ Spiral Model

➢ V- V Model

➢ Agile Methodology

➢ Big Bang Model


SDLC: Waterfall Model
▪Classical waterfall model is the basic software
development life cycle model.

▪Classical waterfall model divides the life cycle


into a set of phases.

▪This model considers that one phase can be


started after completion of the previous phase.

▪That is the output of one phase will be the
input to the next phase.

▪Thus the development process can be


considered as a sequential flow in the waterfall.

▪Here the phases do not overlap with each
other
V and V Model
Agile model
Agile SDLC model is a combination of iterative and incremental process models
focusing on process adaptability and customer satisfaction by rapid delivery of
working software products.

Agile Methods break the product into small incremental builds. These builds are
provided in iterations. Each iteration typically lasts from about one to three weeks.
Every iteration involves cross-functional teams working simultaneously on various
areas like,

Planning
Requirements Analysis
Design
Development
Unit Testing and
Acceptance Testing
At the end of the iteration, a working product is displayed to the customer and
important stakeholders.
Agile model
Agile most popular methodologies
1.Scrum: Characterized by cycles or stages of development, known as sprints, and by
the maximization of development time for a software product.

2.Kanban: It’s a workflow management method that aims to visualize work and
maximize efficiency. It exists in a board or table that is divided into columns that show
every flow of the software product.

3.Extreme Programming (XP): This methodology values communication, simplicity,


feedback, courage and prioritizes customer satisfaction over everything else.

4.Lean Development: Focuses on seven fundamental principles: Deleting the things


that do not matter, quality development, creating knowledge, differing commitments,
fast delivery, respecting the team, and optimize the whole.

5.Crystal: This is a family of different agile methodologies that includes categories


depending on the size of teams (Crystal clear (up to an 8-person team), crystal orange
(20 to 50), and crystal red (50 to 1000) and focuses on delivering the best possible
software development process.
Scrum methodology
Agile model

The Scrum methodology has 3 key roles:

•The product owner: Represents and speaks for the business needs of
the project. They make sure that the product in development meets
the client’s requirements.

•The Scrum Master: It’s the team member responsible for leading the
team, clearing roadblocks, and supporting the progress.

•The development team: It’s built by team members with their


strengths, capabilities, and duties but capable of taking different roles
on the project.
Agile model
1. Sprint planning
These take place before each sprint starts. During these meetings, scrum teams decide
the key aspects of a project: The goals, the scope, and the tasks of the fixed sprint
backlog.

2. Daily Scrum or daily standup


Commonly known as the “stand up meeting,” – it takes place for no more than 15
minutes. The idea of these meetings is that each member shares what they completed
yesterday, what they will work on today, and the list of items they need to work on.

3. Sprint Review
Takes place at the end of each sprint and is where the dev team demonstrates to the
stakeholders the parts of the product they finished during the sprint.

4. Sprint Retrospective
After the review, here’s where the team has an internal meeting where members
discuss everything about the sprint: what went well, what didn’t work out, and what
improvements they can make for the next sprint.
Kanban methodology
Kanban methodology is an agile method that aims at continuous improvement,
flexibility in task management, and enhanced workflow. With this illustrative
approach, the progress of the whole project can be easily understood in a
glance.
Waterfall vs V-V model vs Agile
Waterfall Model V- Model Agile Methodology
Flexibility of Waterfall model is Flexibility of V-model is Little Flexibility of agile model is
Rigid. flexible. more flexible.
Waterfall model is a It is also a sequential It is a simultaneous execution
sequential execution process. execution process. process.

User involvement in Waterfall User involvement in V-model User involvement in Agile can
model is only in beginning is also only in beginning. be at all phase of the project

Waterfall model is less used V-model is widely used in Agile is an important model
now-a-days in software software engineering. and widely used now a days.
engineering.
Waterfall model’s steps move V-model’s steps don’t move in Agile model’s steps don’t
in a linear way. linear way. move in linear way.

Guarantee of success through Guarantee of success through Guarantee of success through


Waterfall model is low. V-model is high. agile is also high.
Software Testing Lifecycle
Software Testing Life Cycle (STLC) is a sequence of
different activities performed during the software
Why testing process.
Needed? Characteristics of STLC:
❖STLC is a fundamental part of SDLC but STLC
consists of only the testing phases.
❖STLC starts as soon as requirements are defined
or software requirement document is shared by
stakeholders.
❖STLC yields a step-by-step process to ensure
quality software.

You might also like