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

(Original Size) Colorful Minimalist Linear Steps Circular Diagram

SDLC methodologies in software engineering

Uploaded by

rajgupta.ckt22
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)
14 views

(Original Size) Colorful Minimalist Linear Steps Circular Diagram

SDLC methodologies in software engineering

Uploaded by

rajgupta.ckt22
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/ 8

1 SDLC

What is SDLC?

2 SDLC MODELS
How many SDLC Models are there?

SDLC
How is a software
3 WATERFALL MODEL
Developed in the 1970s by Winston W. Royce

designed and developed?

4 PROTOTYPE MODEL
Developed in the 1970s by Winston W.
Royce

5
SPIRAL MODEL
Barry boehm recognised the project risk factor into
a life cycle model, the result was the spiral model,.

6 AGILE MODEL
SDLC & ITS PHASES
SDLC is a process that describes how software is designed and delivered to the client.

In the Software Development Life Cycle (SDLC), software is developed systematically and with discipline. SDLC establishes entry and exit criteria for each
stage, enabling assessment, time and cost estimation, scheduling, and early fault detection.

Each phase of the SDLC, from requirements gathering and analysis to design, implementation, testing, deployment, and maintenance, is meticulously
planned and executed. This structured approach ensures that the final product meets the desired quality standards and aligns with user expectations.

During the requirements gathering phase, stakeholders collaborate to identify and document the functional and non-functional requirements of the
software. This phase is crucial as it sets the foundation for the entire project. Clear and comprehensive requirements help prevent scope creep and ensure
that the development team has a precise understanding of what needs to be built.

In the design phase, architects and developers create detailed software architecture and system designs. This phase involves creating models, diagrams,
and prototypes that outline the software's structure and components. Design reviews and validations are conducted to ensure that the proposed solutions
are feasible and align with the initial requirements.

The implementation phase, also known as the coding phase, is where the actual software is developed. Developers write code following the design
specifications and coding standards. This phase requires rigorous version control and continuous integration practices to manage code changes and
ensure that the software remains stable and functional.

Once the coding is complete, the software enters the testing phase. Quality assurance teams conduct various tests, including unit testing, integration
testing, system testing, and acceptance testing. These tests help identify and fix defects, ensuring that the software is reliable and performs as expected.

After successful testing, the software is deployed to the production environment in the deployment phase. This involves installing the software on end-
users' systems and configuring it for operational use. Deployment strategies, such as phased rollouts or full deployments, are planned to minimize
disruption and ensure a smooth transition.

Finally, the maintenance phase begins once the software is in use. This phase involves ongoing monitoring, support, and updates to address any issues,
improve performance, and add new features. Maintenance ensures that the software continues to meet user needs and adapts to changing requirements
over time.
SDLC MODELS
SDLC Models are frameworks that describe the processes involved in developing software applications. Each model outlines a systematic approach to
software creation, ensuring that the project is well-planned, executed, and maintained. Some of the most common SDLC models include:
1. Waterfall Model: This is a linear and sequential approach where each phase must be completed before the next one begins. It is easy to
understand and manage but can be inflexible if changes are needed later in the project.
2. Agile Model: Agile focuses on iterative development, where requirements and solutions evolve through collaboration between cross-functional
teams. It emphasizes flexibility, customer feedback, and rapid delivery of small, functional parts of the project.
3. Iterative Model: This model allows for repeated cycles of development, enabling continuous improvement and refinement of the software. Each
iteration builds upon the previous one, adding new features and functionalities until the final product is achieved.
4. Spiral Model: Combining elements of both iterative and waterfall models, the spiral model emphasizes risk management. It involves repeated
cycles (or spirals) that include planning, risk analysis, engineering, and evaluation, allowing for extensive refinement through each iteration.
5. V-Model (Validation and Verification): An extension of the waterfall model, the V-Model emphasizes verification and validation. Each
development phase is associated with a corresponding testing phase, ensuring that each step is thoroughly checked before moving forward.
6. DevOps Model: This model promotes collaboration between development and operations teams to improve the efficiency and quality of software
delivery. It integrates continuous integration and continuous delivery (CI/CD) practices, fostering a culture of automation and monitoring
throughout the software lifecycle.

Choosing the right SDLC model depends on the specific needs, goals, and constraints of the project. Each model has its strengths and
weaknesses, and understanding them can help in selecting the most appropriate approach for successful software development.
WATERFALL MODELS
• Developed in the 1970s by Winston W. Royce.
• Inspired by manufacturing and construction processes, where each
step relies on the completion of the previous one.
• Emphasizes a linear and sequential design approach.
• Typically involves distinct phases such as requirements analysis,
system design, implementation, testing, deployment, and maintenance.
• Each phase must be completed before moving on to the next, with
minimal overlap.
• Best suited for projects with well-defined requirements and low levels
of uncertainty.
• Despite its limitations, it laid the foundation for more iterative and
flexible methodologies like Agile and Scrum.
• Still used in industries where a structured and predictable process is
crucial, such as aerospace, defense, and large-scale infrastructure
projects.
PROTOTYPE MODELS
• Most of the customer are not sure about the functionality they require from
the software, as a result the final s/w is not according to exact demand.
• It is an iterative approach, which involves developing an early working
model of the software based on the currently known requirements with
limited functionalities, low reliability and untrusted performance.
• Refining it through user feedback, and repeating the process until a
satisfactory solution is achieved.
• This method is commonly known as prototyping. Prototyping helps bridge
the gap between the initial vague requirements and the final refined product
by allowing stakeholders to visualize and interact with early versions of the
software.
• The benefits of this approach include increased user involvement, early
detection of potential issues, and the ability to make adjustments before
significant resources are invested. By continuously gathering user feedback
and iterating on the prototype, developers can ensure that the final product
closely aligns with user needs and expectations.
• Clear communication and well-defined goals for each iteration are crucial to
the success of this approach.
SPIRAL MODELS
• Barry boehm recognised the project risk factor into a life cycle model, the result was the spiral
model, which was presented in 1986.
• The radial dimensions of the model represent the cumulative costs.
• Each loop of the spiral from X-axis clockwise through 360 represent one phase,
• The Spiral Model is particularly advantageous for large, complex, and high-rsk projects due to
its iterative nature, which allows for continuous refinement and risk management throughout the
development process.
• Advantages of the Spiral Model:
⚬ Flexibility: The model accommodates changes and new requirements at any point during
the project lifecycle.
⚬ Risk Management: By addressing risks early and frequently, potential issues can be
identified and mitigated before they become critical.
⚬ Customer Feedback: Regular customer evaluation ensures that the developed product
aligns closely with user needs and expectations.
⚬ Incremental Releases: Each iteration results in a progressively more complete version of
the product, providing tangible progress and early versions for stakeholder review.
• Disadvantages of the Spiral Model:
⚬ Complexity: Managing and documenting the iterative cycles can be complex and
demanding.
⚬ Cost: The continuous risk analysis and iterations can increase the overall cost and time
required for the project.
⚬ Expertise: Effective implementation requires a high level of expertise in risk management
and iterative development processes.
AGILE MODELS
• Agile SDLC model is a combination of iterative and incremental process models with focus on process adaptability and customer
satisfaction by rapid delivery.
• The Agile model adopts Iterative development. Each incremental part is developed over an iteration.
• Instead of delivering a large project only when all parts are complete, a team breaks down a large project into smaller parts, and delivers
these completed smaller parts in regular cycles.
• This approach allows for regular feedback from the customer, enabling adjustments and improvements to be made throughout the
development process. By continuously integrating and testing the incremental parts, the team ensures that each component is functional
and aligns with the overall project goals.
• Agile emphasizes collaboration and communication, both within the team and with stakeholders. Regular meetings, such as daily stand-
ups and sprint reviews, keep everyone informed and engaged.
• The iterative nature of Agile allows for continuous improvement. Through reflection and retrospectives, teams identify areas for
enhancement and implement changes in subsequent iterations.
Raj Gupta
B.Tech(I.T.)- 6th Sem
214515
Software Engineering

You might also like