21
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

Embed Size (px)

Citation preview

Page 1: 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)

Page 2: Spiral Model

Spiral Model

Page 3: Spiral Model

Contents

• History

• What Is Spiral Model?

• Phases

• Graphical Representation

• Pros & Cons

• Comparison

• Applications

• Example

• Conclusion

Page 4: Spiral Model

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.

Page 5: Spiral Model

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

Page 6: Spiral Model

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.

Page 7: Spiral Model

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.

Page 8: Spiral Model

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:

Page 9: Spiral Model

Spiral Model Using Field(Short Comparison)

Page 10: Spiral Model

Graphical Representation

Page 11: Spiral Model

Graphical Representation

Page 12: Spiral Model

Comparison Graphs

Page 13: Spiral Model

SDLC Model Comparisons

Page 14: Spiral Model

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.

Page 15: Spiral Model

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.

Page 16: Spiral Model

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.

.

Page 17: Spiral Model

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.

Page 18: Spiral Model

Comparison Of SDLC Models

Page 19: Spiral Model

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.

Page 20: Spiral Model

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

Page 21: Spiral Model

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