Download - Spiral Model
Software Engineering And Project Management
Miss Shaista Raees
Members:Mahin Ahmed (B13101048)Bilal Mughal (B13101067)Saqib Ahmed (B13101121)Syed Muhammad Affan Azeem (B13101145)Syed Muhammad Bilal Imam (B13101148)
Spiral Model
Contents
• History
• What Is Spiral Model?
• Phases
• Graphical Representation
• Pros & Cons
• Comparison
• Applications
• Example
• Conclusion
History
• Barry Boehm first described the Spiral model in his 1986 paper, a Spiral
Model of Software Development and Enhancement. • In 1988 Boehm published a similar paper to a wider audience. This paper
introduced a diagram that has been reproduced in several subsequent publications discussing the spiral model.
• Boehm’s early papers use the term "Process Model" to refer to the Spiral
Model. The Spiral Model has characteristics of Incremental, Waterfall, Prototyping, and other approaches. However, the Spiral Model’s ability to analyze risk is superior to the models mentioned above.
What is Spiral Model? • The spiral model, also known as the spiral lifecycle model, is a systems
development method (SDM) used in information technology (IT).• This model of development combines the features of the prototyping model and
the waterfall model. The spiral model is intended for large, expensive, and complicated projects.
• The spiral model is similar to the incremental model, with more emphasis placed on risk analysis.
Software Project repeatedly passes through these four phases in iterations (known as spirals)The baseline spiral, starting in the planning phase, requirement are gathered and risk is assessed. Each subsequent spiral builds on the baseline spirals.
The Spiral Model has Four Phases:
i. Planning
ii. Risk analysis
iii. Engineering
iv. Evolution
Phases of Spiral Model
Planning:Purpose : Requirement Analysis
Activities Performed:- Requirements are studied and gathered.- Feasibility study.- Reviews and walkthroughs to streamline the requirements. Deliverables / Output:- Requirements understanding document.- Finalized list of requirements. Engineering And Execution:Purpose : Development & Testing Activities Performed:- Actual development and testing if the software takes place in this phase. Deliverables / Output:- Code.- Test cases and test results.- Test summary report and defect report.
Evaluation:Purpose : Customer Evaluation Activities Performed:- Customers evaluate the software and provide their feedback and approval Deliverables / Output:- Features implemented document.
Risk Analysis:Purpose :Prototype Activities Performed:- Requirements are studied and brain storming sessions are done to identify the potential risks.- Once the risks are identified , risk mitigation strategy is planned and finalized. Deliverables / Output:- Document which highlights all the risks and its mitigation plans.
Pros & Cons
• The advantage of spiral lifecycle model is that it allows for elements of the product to be added in when they become available or known. This assures that there is no conflict with previous requirements and design.
• This method is consistent with approaches that have multiple software builds and releases and allows for making an orderly transition to a maintenance activity. Another positive aspect is that the spiral model forces early user involvement in the system development effort.
• On the other side, it takes very strict management to complete such products and there is a risk of running the spiral in indefinite loop. So the discipline of change and the extent of taking change requests is very important to develop and deploy the product successfully.
Pros• Changing requirements can be
accommodated.• Allows for extensive use of prototypes• Requirements can be captured more
accurately.• Users see the system early.• Development can be divided into smaller
parts and more risky parts can be developed earlier which helps better risk management.
Cons• Management is more complex.• End of project may not be known early.• Not suitable for small or low risk projects
and could be expensive for small projects.
• Process is complex• Spiral may go indefinitely.• Large number of intermediate stages
requires excessive documentation.
The following table lists out the pros and cons of Spiral SDLC Model:
Spiral Model Using Field(Short Comparison)
Graphical Representation
Graphical Representation
Comparison Graphs
SDLC Model Comparisons
Comparison
Waterfall vs Spiral:
• The sequential nature of the waterfall model if a bug is
found or an error is incurred for a preliminary reason,
we need to start from the scratch again.
• Whereas, under spiral model every prototype is tried
and tested and hence the chances of find errors at later
stages are very rare.
• In spiral model, we can easily adjust the software
development with the required changes.
• The prototypes which are created in every stage, enables
us to roll back only a few steps.
• Waterfall model the stages are executed under a
sequential flow. Every new phase is processed only after
completing the previous phase.
Agile Vs Spiral :• Agile development includes a number of different
methodologies with specific guidance as to the steps to take to produce a software project such as Extreme Programming, Scrum, and Crystal Clear.
• The commonality between all of the agile methods is that they are iterative and incremental. The iterations in the agile methods are typically shorter - 2 to 4 weeks in most cases and each iteration ends with a working software product.
• The Spiral Model is an example of iterative development.
• A typical iteration will be somewhere between 6 months and 2 years and will include all aspects of the lifecycle - requirements analysis, risk analysis, planning, design and architecture, and then a release of either a prototype.
Incremental Vs Spiral:
• Incremental Development is a practice where the system
functionalities are sliced into increments (small portions).
• In each increment, a vertical slice of functionality is
delivered by going through all the activities of the software
development process, from the requirements to the
deployment.
• Incremental Development (adding) is often used together
with Iterative Development (redo) in software
development. This is referred to as Iterative and
Incremental Development (IID).
• The spiral model is similar to the incremental model, with
more emphases placed on risk analysis.
• A software project repeatedly passes through these phases
in iterations (called Spirals in this model). The baseline
spiral, starting in the planning phase, requirements are
gathered and risk is assessed.
.
Prototype Model Vs Spiral Model: • Prototype model is suitable when the requirement
of the client is not clear and it is supposed to be changed.It doesn’t cover any risk management.While Spiral model is an enhancement of the prototyping model with so many extra features.
• Spiral model is called a meta model. Spiral model is made with the features of Prototype model and Waterfall model. Spiral model takes special care about Risk Analysis. Where as it is not given importance in Prototype model.
• Prototype model that end when software is delivered after software deliver is not responsible for any problem of software.
• The spiral model can be adapt to apply throughout the life of computer software.
Comparison Of SDLC Models
Applications
For a typical shrink-wrap application, the spiral model might mean that you have a rough-cut of user elements (without the polished / pretty graphics) as an operable application, add features in phases, and, at some point, add the final graphics. The spiral model is used most often in large projects (by companies such as IBM, Microsoft, Patni Computer Systems and Tata Consultancy Services ) and needs constant review to stay on target. For smaller projects, the concept of agile software development is becoming a viable alternative. The US military has adopted the spiral model for its Future Combat Systems program.
Example
An example of the spiral model is the evolution of Microsoft Windows Operating system from Windows 3.1 to windows 2003. We may refer to Microsoft windows 3.1 Operating System as the first iteration in the spiral approach. The product was released and evaluated by the customers, which include the market large. After getting the feedback from customers about the windows 3.1, Microsoft planned to develop a new version of windows operating system. Windows’95 was released with the enhancement and graphical flexibility. Similarly, other versions of windows operating system were released
Conclusion
Each spiral can be termed as a loop and each loop is a separate development process in a spiral model.The four activities (Planning, Risk analysis, engineering and evaluation) form the intermediary phases of a spiral model and is repeated again for each loop.This model is very good to use for larger projects where you can develop anddeliver smaller prototypes and can enhance it to make the larger software