0% found this document useful (0 votes)
16 views20 pages

SDLC Explain

The Software Development Life Cycle (SDLC) is a structured process in software engineering that includes phases such as requirement analysis, planning, design, development, testing, deployment, and maintenance to ensure high-quality software delivery. Various models like Waterfall, Iterative, Incremental, Spiral, and Prototype are used within SDLC to manage and execute software projects effectively. Each model has its unique approach and is chosen based on project requirements, complexity, and risk factors.

Uploaded by

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

SDLC Explain

The Software Development Life Cycle (SDLC) is a structured process in software engineering that includes phases such as requirement analysis, planning, design, development, testing, deployment, and maintenance to ensure high-quality software delivery. Various models like Waterfall, Iterative, Incremental, Spiral, and Prototype are used within SDLC to manage and execute software projects effectively. Each model has its unique approach and is chosen based on project requirements, complexity, and risk factors.

Uploaded by

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

✅ SDLC (Software Development Life Cycle) in Software Engineering

Software Development Life Cycle (SDLC) is a systematic process used in software


engineering to design, develop, test, and deliver high-quality software. It provides a
structured approach to ensure the software meets user expectations and business
requirements.

•SDLC ensures that software development follows a structured and organized approach.
•It reduces risks, ensures quality, and helps deliver software on time and within budget.
•Following SDLC leads to effective project management and satisfied users
Phases of SDLC:
1.Requirement Analysis
• In this phase, the needs and expectations of users or clients are gathered and
analyzed.
• It involves understanding what the software should do and defining the project
goals.
• Example: Developing an e-commerce website requires login functionality,
product listings, payment gateways, and user management.

2.Planning
•Project managers create a detailed plan by estimating time, resources, and budget.
•Risk analysis and scheduling are done during this phase.
•Example: Estimating how long it will take to develop an app, assigning tasks to
developers, and managing the budget
3.Design
•The software architecture is designed in this phase.
•High-level design (HLD) and Low-level design (LLD) are created, including database structure, interface
design, and system components.
• Example: Designing the layout of an app with buttons, navigation bars, and color schemes.

4.Development
• Developers write code using appropriate programming languages and tools.
• The software is built as per the design documents.
• Example: Using Python, Java, or C++ to code different features of an application.

5. Testing
• The software undergoes rigorous testing to detect and fix bugs or errors.
• Various tests like unit testing, integration testing, and user acceptance testing (UAT) are performed.
• Example: Ensuring a payment gateway works correctly and transactions are processed without errors.
6.Deployment
• After successful testing, the software is deployed to the production environment.
• It is made available for users.
• Example: Launching a new social media app on the Google Play Store or App Store.

7.Maintenance
• After deployment, the software is monitored and maintained to fix any issues or bugs
reported by users.
• Updates and enhancements are also done in this phase.
• Example: Rolling out security updates and adding new features to a video
conferencing app.
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". Each process model follows a Series of steps
unique to its type to ensure success in the process of software development.

Following are the most important and popular SDLC models followed in the industry −
•Waterfall Model
•Iterative Model
•Spiral Model
•V-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.
• 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 approach was first SDLC Model to be used widely in Software Engineering to ensure
success of the project.
• In "The Waterfall" approach, the whole process of software development is divided into separate
phases. In this Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.
Multiple team can not work together.
Eg:- construction of house
Iterative Waterfall Model

The Iterative Waterfall Model is a software development approach that


combines the sequential steps of the traditional Waterfall Model with the
flexibility of iterative design. It allows for improvements and changes to be
made at each stage of the development process, instead of waiting until the end
of the project. The Iterative Waterfall Model provides feedback paths from
every phase to its preceding phases, which is the main difference from the
classical Waterfall Model.
When to use Iterative Waterfall Model?
1.The prerequisite of being well-defined and comprehended.
2.The development team is gaining knowledge about new technologies.
3.Certain characteristics and objectives carry a significant chance of failure in the
future.

Application of Iterative Waterfall Model


Below are some application of Iterative Waterfall Model:
1.The essential needs are established, but as time passes, the finer points may
become relevant.
2.Programmers have a learning curve to climb when they utilize new technology.
3.The resources needed to complete a large project are constrained, hence on a
smaller scale, the automation is more temporary.
4.Very high risk as the project’s objective may occasionally alter.
Incremental Process Model

The Incremental Process Model is also known as the Successive version model.
Requirements of Software are first broken down into several modules that can be
incrementally constructed and delivered.
First, a simple working system implementing only a few basic features is built and then that is
delivered to the customer. Then thereafter many successive iterations/ versions are implemented
and delivered to the customer until the desired system is released.

A, B, and C are modules of Software Products that are incrementally developed and delivered.
Phases of incremental model

1.Requirement analysis: In Requirement Analysis At any time, the plan is made just for the next
increment and not for any kind of long-term plan. Therefore, it is easier to modify the version as per the
needs of the customer.
2.Design & Development: At any time, the plan is made just for the next increment and not for any kind
of long-term plan. Therefore, it is easier to modify the version as per the needs of the customer. The
Development Team first undertakes to develop core features (these do not need services from other
features) of the system. Once the core features are fully developed, then these are refined to increase
levels of capabilities by adding new functions in Successive versions. Each incremental version is usually
developed using an iterative waterfall model of development.
3.Deployment and Testing: After Requirements gathering and specification, requirements are then split
into several different versions starting with version 1, in each successive increment, the next version is
constructed and then deployed at the customer site. in development and Testing the product is checked
and tested for the actual process of the model.
4.Implementation: In implementation After the last version (version n), it is now deployed at the client
site.
When to use the Incremental Process Model
1.Funding Schedule, Risk, Program Complexity, or need for early realization of benefits.
2.When Requirements are known up-front.
3.When Projects have lengthy development schedules.
4.Projects with new Technology.
4. Error Reduction (core modules are used by the customer from the beginning of the
phase and then these are tested thoroughly).
5. Uses divide and conquer for a breakdown of tasks.
6. Lowers initial delivery cost.
7. Incremental Resource Deployment.
5.Requires good planning and design.
6.The total cost is not lower.
7.Well-defined module interfaces are required.
Spiral Model
Spiral Model is a software development process model. This model has
characteristics of both iterative and waterfall models. This model is used in projects
which are large and complex. This model was named spiral because if we look at its
figure, it looks like a spiral, in which a long curved line starts from the center point
and makes many loops around it. The number of loops in the spiral is not decided in
advance but it depends on the size of the project and the changing requirements of the
user. We also call each loop of the spiral a phase of the software development process.
In Spiral Model the entire process of software development is described in four phases
which are repeated until the project is completed.
A software project goes through these loops again and again in iterations. After each
iteration a more and more complete version of the software is developed. The most
special thing about this model is that risks are identified in each phase and they are
resolved through prototyping. This feature is also called Risk Handling.
Since it also includes the approaches of other SDLC models, it is also called Meta
Model. It was first developed by Barry Boehm in 1986.
Prototype model
Prototype Model is an activity in which prototypes of software applications are created.
First a prototype is created and then the final product is manufactured based on that
prototype.
One problem in this model is that if the end users are not satisfied with the prototype
model, then a new prototype model is created again, due to which this model consumes a
lot of money and time.

•The prototype model was developed to overcome the


shortcomings of the waterfall model.
•This model is created when we do not know the
requirements well.
•The specialty of this model is that this model can be used
with other models as well as alone.

You might also like