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

SDLC

software development life cycle
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

SDLC

software development life cycle
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

What is SDLC?

The software development lifecycle (SDLC) is the cost-


effective and time-efficient process that development teams
use to design and build high-quality software. The goal of
SDLC is to minimize project risks through forward planning so
that software meets customer expectations during production
Why is SDLC important?

Software development can be challenging to manage due to changing


requirements, technology upgrades, and cross-functional
collaboration. The software development lifecycle (SDLC) methodology
provides a systematic management framework with specific
deliverables at every stage of the software development process.

Here are some benefits of SDLC:

•Increased visibility of the development process for all stakeholders


involved
•Efficient estimation, planning, and scheduling
•Improved risk management and cost estimation
•Systematic software delivery and better customer satisfaction
How does SDLC work?

The software development


lifecycle (SDLC) outlines several
tasks required to build a software
application. The development
process goes through several
stages as developers add new
features and fix bugs in the
software.
SDLC Phases:
•Requirement gathering and analysis
•Design
•Implementation or coding
•Testing
•Deployment
•Maintenance
• Requirement Gathering and Analysis

All the relevant information is collected from the customer to develop a product as per
their expectation. Business analyst and Project Manager set up a meeting with the
customer to gather all the information like what the customer wants to build, who will be
the end-user, what is the purpose of the product. Before building a product a core
understanding or knowledge of the product is very important.

For Example,
A customer wants to have an application which involves money transactions. In this case,
the requirement has to be clear like what kind of transactions will be done, how it will be
done, in which currency it will be done, etc.

Once the requirement gathering is done, an analysis is done to check the feasibility of
the development of a product. In case of any ambiguity, a call is set up for further
discussion.

Once the requirement is clearly understood, the SRS (Software Requirement


Specification) document is created. This document should be thoroughly understood by
the developers and also should be reviewed by the customer for future reference.
• Design
SRS is the reference for product architects to come out with the best architecture for the
product to be developed. Based on the requirements specified in SRS, usually more than one
design approach for the product architecture is proposed and documented in a DDS - Design
Document Specification.

This DDS is reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time constraints, the
best design approach is selected for the product.

• Implementation or Coding

Actual development starts and the product is built. The programming code is
generated as per DDS during this stage. If the design is performed in a detailed
and organized manner, code generation can be accomplished without much
hassle.

Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to
generate the code. Different high level programming languages such as C, C++,
Pascal, Java and PHP are used for coding. The programming language is chosen
with respect to the type of software being developed.
• Testing
The development team combines automation and manual testing
to check the software for bugs. Quality analysis includes testing
the software for errors and checking if it meets customer
requirements. Because many teams immediately test the code
they write, the testing phase often runs parallel to the
development phase.
• Deployment
Once the product is tested and ready to be deployed it is released
formally in the appropriate market. Sometimes product
deployment happens in stages as per the business strategy of that
organization. The product may first be released in a limited
segment and tested in the real business environment (UAT- User
acceptance testing).

• Maintenance
After the deployment of a product on the production environment,
maintenance of the product i.e. if any issue comes up and needs
to be fixed or any enhancement is to be done is taken care by the
developers
SDLC Models

There are various software development life cycle models defined and
designed which are followed during the software development process.
These models are also referred as Software Development Process
Models".

•Waterfall Model
•Iterative Model
•Spiral Model
•V-Model
• Waterfall
Model
Waterfall Model

The Waterfall Model was the first Process Model to be introduced. It is also
referred to as a linear-sequential life cycle model. It is very simple to
understand and use. In a waterfall model, each phase must be completed
before the next phase can begin and there is no overlapping in the phases.

The Waterfall model is the earliest SDLC approach that was used for software
development.

The waterfall Model illustrates the software development process in a linear


sequential flow. This means that any phase in the development process
begins only if the previous phase is complete. In this waterfall model, the
phases do not overlap.
Waterfall Model - Application

Every software developed is different and requires a suitable SDLC


approach to be followed based on the internal and external factors. Some
situations where the use of Waterfall model is most appropriate are −

•Requirements are very well documented, clear and fixed.


•Product definition is stable.
•Technology is understood
•There are no ambiguous requirements.
•The project is short.
Waterfall Model - Advantages

Some of the major advantages of the Waterfall Model are as follows −

•Simple and easy to understand and use


•Easy to manage due to the rigidity of the model. Each phase has specific
deliverables and a review process.
•Phases are processed and completed one at a time.
•Works well for smaller projects where requirements are very well
understood.
•Clearly defined stages.
•Well understood milestones.
•Easy to arrange tasks.
•Process and results are well documented.
Waterfall Model -
Disadvantages
The disadvantage of waterfall development is that it does not allow much
reflection or revision. Once an application is in the testing stage, it is very
difficult to go back and change something that was not well-documented or
thought upon in the concept stage.

The major disadvantages of the Waterfall Model are as follows −

•No working software is produced until late during the life cycle.
•High amounts of risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a moderate to high risk
of changing. So, risk and uncertainty is high with this process model.
•It is difficult to measure progress within stages.
•Cannot accommodate changing requirements.

You might also like