0% found this document useful (0 votes)
36 views17 pages

Falls e Lecture 6

The Spiral Model combines elements of prototyping and the waterfall model. It is used for large, expensive, complex projects. The key steps are: (1) defining requirements, (2) designing and prototyping, (3) evaluating and improving the prototype, (4) iterating until the customer is satisfied. It allows for risk analysis and handling changes throughout development. The model supports incremental and iterative development approaches.

Uploaded by

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

Falls e Lecture 6

The Spiral Model combines elements of prototyping and the waterfall model. It is used for large, expensive, complex projects. The key steps are: (1) defining requirements, (2) designing and prototyping, (3) evaluating and improving the prototype, (4) iterating until the customer is satisfied. It allows for risk analysis and handling changes throughout development. The model supports incremental and iterative development approaches.

Uploaded by

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

SOFTWARE

ENGINEERING
Lecture 6
Review
■ Waterfall
■ V Model
■ Prototyping
Spiral Model
Spiral Model

■ The Spiral Development ( or Lifecycle) Model is a systems development method used


in information technology.
■ Developed by Barry Boehm
■ It combines the features of the prototyping model and the waterfall model.
■ It is favored for large, expensive, and complicated models.
Steps of the Spiral Model
1. Define the problem with as much detail as possible by interviewing the client and
potential users of the system, as well as, studying any existing system.
2. A preliminary design is created for the new system.
3. A first prototype of the new system is constructed from the preliminary design and is
a scaled down version of the final product.
4. A second prototype is derived by the following procedure
– Evaluate the first prototype for strengths, weaknesses and risks
– Define the requirements of the 2nd prototype
– Plan and design the 2nd prototype
– Construct and test the 2nd prototype
Steps of the Spiral Model
5. At this point the customer may decide to scrap the whole project if the risk is too high.
– Development cost overruns
– Operating-cost miscalculation
– Other factors that might result in a substandard product
6. Evaluate the current prototype in the same way as the previous prototype and create
another one if needed
7. Iterate the proceeding steps until the customer is satisfied that the current prototype
represents the final product.
8. Construct the final system
9. The final system is thoroughly evaluated and tested and routine maintenance is carried
out for the life of the product.
When to use Spiral Model

■ When project is large


■ When releases are required to be frequent
■ When creation of a prototype is applicable
■ When risk and costs evaluation is important
■ For medium to high-risk projects
■ When requirements are unclear and complex
■ When changes may require at any time
■ When long term project commitment is not feasible due to changes in economic priorities
Advantages
■ 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.
■ Good for large projects: It is recommended to use the Spiral Model in large and
complex projects.
■ Flexibility in Requirements: Change requests in the Requirements at later phase can
be incorporated accurately by using this model.
■ Customer Satisfaction: Customer can see the development of the product at the early
phase of the software development and thus, they habituated with the system by using it
before completion of the total product.
Disadvantages
■ Difficulty in time and budget management: As the number of phases is unknown at
the start of the project, so time estimation is very difficult. Estimates of budget and time
are harder to judge at the beginning of the project since the requirements evolve through
the process
■ Complex: The Spiral Model is much more complex than other SDLC models.
■ Expensive: Spiral Model is not suitable for small projects as it is expensive.
■ Too much dependable on Risk Analysis: The successful completion of the project is
very much dependent on Risk Analysis. Without very highly experienced expertise, it is
going to be a failure to develop a project using this model..
Phased Development
■ Cycle time
– Time between when requirements document was written and when the system was
delivered
■ Shorter cycle time
■ Decomposed system
– System delivered in pieces
■ enables customers to have some functionality while the rest is being developed
■ Two systems functioning in parallel
– the production system (release n): currently being used
– the development system (release n+1): the next version
Phased Development (Contd.)
Phased Development (Contd.)
■ Incremental development: starts with small functional
subsystem and adds functionality with each new release
■ Incremental development develops an initial implementation,
exposes this to user comment, and evolves through several
versions
Incremental Dev. (Contd…)
Incremental Dev. (Contd…)
■ In incremental High risk and major functionalities are build first.
■ Each Release Deliver and operational Product so client can use it.
■ Requires definition of complete and functional system early to define increments

When to use:
■ When staffing is not available for complete implementation by business deadline.
■ Most of requirements are known upfront but expected to evolve over time
■ Need to get basic functionality to the market early
■ On Projects with new technology and have lengthy development schedules
Phased Development (Contd.)
■ Iterative development: starts with full system, then changes functionality of each subsystem
with each new release. In iterative model the organization start with some of the software
specification and develop the first version of the software. After the first version if there is a
need to change the software then a new version of the software is created with a new
iteration. It will repeat until deployment of the software.
■ Iterative development is a way of breaking down the software development of a large
application into smaller chunks. In iterative development,  feature code is designed,
developed and tested in repeated cycles. With each iteration, additional features can be
designed, developed and tested until there is a fully functional software application ready to
be deployed to customers.
Iterative
Model
Iterative Development (Contd.)
Advantages of Iterative model:
■ Generates working software quickly and early during the software life cycle.
■ Easier to test and debug during a smaller iteration.
■ Each iteration can be easily managed.

Disadvantages of Iterative model:


■ It is not suitable for smaller projects.
■ It is not suitable for changing major requirements.

You might also like