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

Software Development Life Cycle

The Software Development Life Cycle (SDLC) is a process used in software engineering projects to guide teams through each phase of software development. It includes requirements gathering, analysis, design, development, testing, deployment, and maintenance phases. The goal is to produce high-quality software that meets customer expectations, works effectively and efficiently, and is inexpensive to maintain. Common SDLC models include waterfall, spiral, V-model, prototype, agile, and hybrid approaches.

Uploaded by

Tarun Garg
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
99 views

Software Development Life Cycle

The Software Development Life Cycle (SDLC) is a process used in software engineering projects to guide teams through each phase of software development. It includes requirements gathering, analysis, design, development, testing, deployment, and maintenance phases. The goal is to produce high-quality software that meets customer expectations, works effectively and efficiently, and is inexpensive to maintain. Common SDLC models include waterfall, spiral, V-model, prototype, agile, and hybrid approaches.

Uploaded by

Tarun Garg
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Software Development Life Cycle

Software Development Life Cycle (SDLC) aims to


produce a high-quality system that meets or exceeds
customer expectations, works effectively and efficiently in
the current and planned information technology
infrastructure, and is inexpensive to maintain and cost-
effective to enhance.

Detailed Explanation:
A process followed in software projects is SDLC. Each
phase of SDLC produces deliverables required by the next
phase in the life cycle. Requirements are translated into
design. Code is produced according to the design. Testing
should be done on a developed product based on
requirement. Deployment should be done once the testing
was completed. It aims to produce a high-quality system
that meets or exceeds customer expectations, works
effectively and efficiently in the current and planned
information technology infrastructure, and is inexpensive
to maintain and cost-effective to enhance.
A typical Software Development Life Cycle (SDLC)
consists of the following phases:
Requirement Phase:
Requirement gathering and analysis is the most important
phase in software development lifecycle. Business Analyst
collects the requirement from the Customer/Client as per
the clients business needs and documents the
requirements in the Business Requirement Specification
(document name varies depends upon the Organization.
Some examples are Customer Requirement Specification
(CRS), Business Specification (BS) etc., and provides the
same to Development Team.

Analysis Phase:
Once the requirement gathering and analysis is done the
next step is to define and document the product
requirements and get them approved by the customer.
This is done through SRS (Software Requirement
Specification) document. SRS consists of all the product
requirements to be designed and developed during the
project life cycle. Key people involved in this phase are
Project Manager, Business Analysist and Senior members
of the Team. The outcome of this phase is Software
Requirement Specification.

Design Phase:
It has two steps:
HLD – High Level Design – It gives the architecture of the
software product to be developed and is done by
architects and senior developers
LLD – Low Level Design – It is done by senior developers.
It describes how each and every feature in the product
should work and how every component should work. Here,
only the design will be there and not the code
The outcome from this phase is High Level Document and
Low Level Document which works as an input to the next
phase

Development Phase:
Developers of all levels (seniors, juniors, freshers)
involved in this phase. This is the phase where we start
building the software and start writing the code for the
product. The outcome from this phase is Source Code
Document (SCD) and the developed product.
Testing Phase:
When the software is ready, it is sent to the testing
department where Test team tests it thoroughly for
different defects. They either test the software manually or
using automated testing tools depends on process
defined in STLC (Software Testing Life Cycle) and ensure
that each and every component of the software works fine.
Once the QA makes sure that the software is error-free, it
goes to the next stage, which is Implementation. The
outcome of this phase is the Quality Product and
the Testing Artifacts.

Deployment & Maintenance Phase:


After successful testing, the product is delivered/deployed
to the customer for their use. Deployment is done by the
Deployment/Implementation engineers. Once when the
customers start using the developed system then the
actual problems will come up and needs to be solved from
time to time. Fixing the issues found by the customer
comes in the maintenance phase. 100% testing is not
possible – because, the way testers test the product is
different from the way customers use the product.
Maintenance should be done as per SLA (Service Level
Agreement)

Types of Software Development Life Cycle Models:


Some of the SDLC Models are as follows:

1. Waterfall Model
2. Spiral
3. V Model
4. Prototype
5. Agile
The other related models are Agile Model, Rapid
Application Development, Rational Unified Model, Hybrid
Model etc.

 Waterfall Model: This model involves finishing each


phase completely before commencing the next one.
When each phase is completed successfully, it is
reviewed to see if the project is on track and whether
it is feasible to continue.
 V-Shaped Model: This model focuses on the
execution of processes in a sequential manner,
similar to the waterfall model but with more
importance placed on testing. Testing procedures are
written even before the commencement of writing
code. A system plan is generated before starting the
development phase.
 Incremental Model: This life cycle model involves
multiple development cycles. The cycles are divided
up into smaller iterations. These iterations can be
easily managed and go through a set of phases
including requirements, design, implementation and
testing. A working version of the software is produced
during the first iteration, so working software is
created early in the development process.

You might also like