You are on page 1of 10

BANKURA UNNAYANI INSTITUTE OF

ENGINEERING

Student name :- Rajesh Pandit


Department Name :- Computer Science and Engineering
University Roll No :- 10500120030
Class Roll No :- 18
Subject Name :- Object Oriented Programming
Subject Code :- PCC-CS503
Semester :- 5th
Year :- 3rd
Session :- 2022-23 (ODD)
Software Development Life Cycle (SDLC)

Definition:
The Software Development Life Cycle (SDLC) is a structured process that enables the
production of high-quality, low-cost software, in the shortest possible production time.
The goal of the SDLC is to produce superior software that meets and exceeds all
customer expectations and demands. The SDLC defines and outlines a detailed plan
with stages, or phases, that each encompass their own process and deliverables.
Adherence to the SDLC enhances development speed and minimizes project risks and
costs associated with alternative methods of production.
Why is the SDLC important?

➢ It provides a standardized framework that defines activities and


deliverables
➢ It aids in project planning, estimating, and scheduling
➢ It makes project tracking and control easier
➢ It increases visibility on all aspects of the life cycle to all
stakeholders involved in the development process
➢ It increases the speed of development
➢ It improves client relations
➢ It decreases project risks
➢ It decreases project management expenses and the overall cost of
production
The role of security in the SDLC

The initial concept and creation of the SDLC only addressed security activities as a separate
and singular task, performed as part of the testing phase. The shortcomings of this after-
the-fact approach were the inevitably high number of vulnerabilities or bugs discovered too
late in the process, or in certain cases, not discovered at all.

Today, it is understood that security is critical to a successful SDLC, and that integrating
security activities throughout the SDLC helps create more reliable software.
With modern application security testing tools, it is easy to integrate security throughout the
SDLC. In keeping with the ‘secure SDLC’ concept, it is vital that security assurance activities
such as penetration testing, threat modeling, code review, and architecture analysis are an
integral part of development efforts.

The primary advantages of pursuing a secure SDLC approach include


•More secure software as security is a continuous concern
•Awareness of security considerations by stakeholders
•Early detection of flaws in the system
•Cost reduction as a result of early detection and resolution of issues
•Overall reduction of intrinsic business risks for the organization
How does the sdlc work?

SDLC works by lowering the cost of software development while simultaneously


improving quality and shortening production time. SDLC achieves these
apparently divergent goals by following a plan that removes the typical pitfalls of
software development projects. That plan starts by evaluating existing systems for
deficiencies.
Next, it defines the requirements of the new system. It then creates the software
through the stages of analysis, planning, design, development, testing, and
deployment.
Planning phase:
The planning phase encompasses all aspects of project and product management.
This typically includes resource allocation, capacity planning, project scheduling,
cost estimation, and provisioning.
During the planning phase, the development team collects input from stakeholders
involved in the project; customers, sales, internal and external experts, and
developers.

Coding phase:
The coding phase includes system design in an integrated development
environment. It also includes static code analysis and code review for multiple
types of devices.

Building Phase:
The building phase takes the code requirements determined earlier and uses those
to begin actually building the software.

Testing Phase:
The phase entails the evaluation of the created software. The testing team
evaluates the developed product(s) in order to assess whether they meet the
requirements specified in the ‘planning’ phase.
Release Phase:
The release phase involves the team packaging, managing and deploying releases
across different environments.

Deploy Phase:
In the deployment phase, the software is officially released into the production
environment.

Operate Phase:
The operate phase entails the use of the software in the production environment.

Monitor Phase:
In the monitor phase, various elements of the software are monitored. These
could include the overall system performance, user experience, new security
vulnerabilities, an analysis of bugs or errors in the system.
SDLC models/methodologies

Waterfall Model:
Waterfall represents the oldest, simplest, and most
structured methodology. Each phase depends on the
outcome of the previous phase, and all phases run
sequentially.

Agile:
The agile methodology produces ongoing release
cycles, each featuring small, incremental changes
from the previous release. At each iteration, the
product is tested.
Iterative:
In the iterative process, each development cycle
produces an incomplete but deployable version of
the software. The first iteration implements a small
set of the software requirements, and each
subsequent version adds more requirements. The
last iteration contains the complete requirement set.

V-Shaped:
In the V-shaped model, verification phases and
validation phases are run in parallel. Each
verification phase is associated with a validation
phase, and the model is run in a V-shape, where
each phase of development has an associated phase
of testing.
Some benefits of sdlc model:
•A common vocabulary for each step
•Defined communication channels between development teams and stakeholders
•Clear roles and responsibilities among developers, designers, business analysts,
and project managers
•Clearly-defined inputs and outputs from one step to the next
•A deterministic “definition of done” that can be used to confirm whether a step is
truly complete

conclusion
SDLC shows you what’s happening, and exactly where your development process can
improve . Like many business processes, SDLC aims to analyze and improve the process
of creating software. It creates a scalable view of the project, from day-to-day coding to
managing production dates.

Thank you

You might also like