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

Lecture 7

Uploaded by

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

Lecture 7

Uploaded by

heyfur4
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 21

Software Engineering

CS-251
Lecture 7

Course Instructor: Sajid Khattak


1
What is Spiral Model in Software Engineering

•The Spiral Model is one of the most important Software Development Life
Cycle models. It is a combination of the waterfall model and the iterative
mode and also provides support for Risk Handling. The Spiral Model was
first proposed by Barry Boehm.
•It provides a systematic and iterative approach to software development. In
its diagrammatic representation, looks like a spiral with many loops. The exact
number of loops of the spiral is unknown and can vary from project to project.
Each loop of the spiral is called a phase of the software development process.
2
What is Spiral Model in Software Engineering

•Some Key Points regarding the phase of a Spiral Model:


1. The exact number of phases needed to develop the product can be varied by the
project manager depending upon the project risks.
2. As the project manager dynamically determines the number of phases, the project
manager has an important role in developing a product using the spiral model.
3. It is based on the idea of a spiral, with each iteration of the spiral representing a
complete software development cycle, from requirements gathering and analysis
to design, implementation, testing, and maintenance.

3
What are the Phases of the Spiral Model?

The Spiral Model is a risk-driven model, meaning that the focus is on managing risk
through multiple iterations of the software development process. It consists of the
following phases:
1. Objectives Defined: In the first phase of the spiral model, we clarify what the project
aims to achieve, including functional and non-functional requirements.
2. Risk Analysis: In the risk analysis phase, the risks associated with the project are
identified and evaluated.
3. Engineering: In the engineering phase, the software is developed based on the
requirements gathered in the previous iteration.
4
What are the Phases of the Spiral Model?

4. Evaluation: In the evaluation phase, the software is evaluated to determine


if it meets the customer’s requirements and if it is of high quality.
5. Planning: The next iteration of the spiral begins with a new planning phase,
based on the results of the evaluation.
•The Spiral Model is often used for complex and large software development
projects, as it allows for a more flexible and adaptable approach to software
development. It is also well-suited to projects with significant uncertainty or
high levels of risk.
5
The Radius of the spiral at any point represents the expenses (cost) of the project so far, and the angular
dimension represents the progress made so far in the current phase.
6
What are the Phases of the Spiral Model?
•Each phase of the Spiral Model is divided into four quadrants as shown in the above figure.
The functions of these four quadrants are discussed below:
1. Objectives determination and identify alternative solutions: Requirements are
gathered from the customers and the objectives are identified, elaborated, and analyzed at
the start of every phase. Then alternative solutions possible for the phase are proposed in
this quadrant.
2. Identify and resolve Risks: During the second quadrant, all the possible solutions are
evaluated to select the best possible solution. Then the risks associated with that solution
are identified and the risks are resolved using the best possible strategy. At the end of this
quadrant, the Prototype is built for the best possible solution.
7
What are the Phases of the Spiral Model?

3. Develop the next version of the Product: During the third quadrant, the
identified features are developed and verified through testing. At the end
of the third quadrant, the next version of the software is available.
4. Review and plan for the next Phase: In the fourth quadrant, the
Customers evaluate the so-far developed version of the software. In the
end, planning for the next phase is started.

8
Risk Handling in Spiral Model

•A risk is any adverse situation that might affect the successful completion of a software
project. The most important feature of the spiral model is handling these unknown risks after
the project has started. Such risk resolutions are easier done by developing a prototype.
1. The spiral model supports coping with risks by providing the scope to build a prototype at
every phase of software development.
2. The Prototyping Model also supports risk handling, but the risks must be identified
completely before the start of the development work of the project.
3. But in real life, project risk may occur after the development work starts, in that case, we
cannot use the Prototyping Model.
9
Risk Handling in Spiral Model

4. In each phase of the Spiral Model, the features of the product dated
and analyzed, and the risks at that point in time are identified and are
resolved through prototyping.
5. Thus, this model is much more flexible compared to other SDLC
models.

10
Why is Spiral Model called Meta Model?

•The Spiral model is called a Meta-Model because it includes all the other SDLC
models. For example, a single loop spiral actually represents the Iterative Waterfall
Model.
1. The spiral model incorporates the stepwise approach of the Classical Waterfall
Model.
2. The spiral model uses the approach of the Prototyping Model by building a
prototype at the start of each phase as a risk-handling technique.
3. Also, the spiral model can be considered as supporting the Evolutionary model –
the iterations along the spiral can be considered as evolutionary levels through
which the complete system is built. 11
Example of Spiral Model

• Real-Life Example of Spiral Model: Developing an E-Commerce


Website
 First Spiral – Planning and Requirements: The initial phase involves gathering basic
requirements for the e-commerce website, like product listing, shopping cart, and
payment options. The team analyzes any risks, such as security or scalability, and creates
a small prototype.
o Example: The team builds a simple homepage with a basic product catalog to see
how users interact with it and identify any design flaws.

12
Real-Life Example of Spiral Model: Developing an E-Commerce Website

 Second Spiral – Risk Analysis and Refining the Design: After gathering feedback
from the prototype, the next spiral focuses on adding more features and fixing early
issues. The team addresses security risks, such as secure payment processing, and tests
how well the site handles increasing user traffic.
o Example: A basic shopping cart and user registration system are added. The
payment system is also tested with dummy transactions to ensure security.

13
Real-Life Example of Spiral Model: Developing an E-Commerce
Website

 Third Spiral – Detailed Implementation: With more feedback, the team further refines
the design, adding advanced features like order tracking, customer reviews, and search
functionality. Risks like scalability (handling many users) are re-evaluated, and more
testing is conducted.
o Example: The website now supports user profiles, product reviews, and real-time
inventory updates. The team tests how the system handles large volumes of orders
during peak times.

14
Real-Life Example of Spiral Model: Developing an E-Commerce
Website

 Final Spiral – Full Deployment: The final phase involves full


implementation, thorough testing, and launching the e-commerce website
to the public. Ongoing risks like system crashes or user feedback are
monitored and addressed as needed.
o Example: The website goes live with all features, including secure
payments, product listings, and order tracking, ready for users to shop
online.

15
Advantages of the Spiral Model

1. Risk Handling: The projects with many unknown risks that occur as the development proceeds,
in that case, Spiral Model is the best development model to follow due to the risk analysis and
risk handling at every phase.
2. Good for large projects: It is recommended to use the Spiral Model in large and complex
projects.
3. Flexibility in Requirements: Change requests in the Requirements at a later phase can be
incorporated accurately by using this model.
4. Customer Satisfaction: Customers can see the development of the product at the early phase of
the software development and thus, they familiar with the system by using it before completion of
the total product.
16
Advantages of the Spiral Model

5. Iterative and Incremental Approach: The Spiral Model provides an iterative and
incremental approach to software development, allowing for flexibility and adaptability in
response to changing requirements or unexpected events.
6. Emphasis on Risk Management: The Spiral Model places a strong emphasis on risk
management, which helps to minimize the impact of uncertainty and risk on the software
development process.
7. Improved Communication: The Spiral Model provides for regular evaluations and
reviews, which can improve communication between the customer and the development team.
8. Improved Quality: The Spiral Model allows for multiple iterations of the software
development process, which can result in improved software quality and reliability
17
Disadvantages of the Spiral Model

1. Complex: The Spiral Model is much more complex than other SDLC models.
2. Expensive: Spiral Model is not suitable for small projects as it is expensive.
3. Too much dependability on Risk Analysis: The successful completion of the
project is very much dependent on Risk Analysis. Without very highly
experienced experts, it is going to be a failure to develop a project using this
model.
4. Difficulty in time management: As the number of phases is unknown at the
start of the project, time estimation is very difficult.
18
Disadvantages of the Spiral Model

5. Complexity: The Spiral Model can be complex, as it involves multiple iterations of


the software development process.
6. Time-Consuming: The Spiral Model can be time-consuming, as it requires
multiple evaluations and reviews.
7. Resource Intensive: The Spiral Model can be resource-intensive, as it requires a
significant investment in planning, risk analysis, and evaluations.
The most serious issue we face in traditional model is that taking a long length to finish the item,
and the product becomes obsolete. To tackle this issue, we have another methodology, which is
known as the Winding model or spiral model. The winding model is otherwise called the cyclic
model.
19
When To Use the Spiral Model?

1. When a project is huge in software engineering, a spiral model is utilized.


2. A spiral approach is utilized when frequent releases are necessary.
3. When it is appropriate to create a prototype
4. When evaluating risks and costs is key
5. The spiral approach is beneficial for projects with moderate to high risk.
6. The SDLC’s spiral model is helpful when requirements are complicated and ambiguous.
7. If modifications are possible at any moment
8. When committing to a long-term project is impractical owing to shifting economic priorities.
20
Conclusion

• Spiral Model is a valuable choice for software development projects


where risk management is a high priority. Spiral Model delivers high-
quality software by promoting risk identification, iterative development
and continuous client feedback. When a project is vast in software
engineering, a spiral model is utilized.

21

You might also like