In the Spiral model, the software product is developed in small modules. Let us consider the figure shown below in developing a software product X. X is built by integrating A, B, C and D.
Ra- requirements analysis of module A. Similarly with Rb, Rc, Rd.
Da – design of module A. Similarly with Db, Dc, Dd
Ca – coding of module A. Similarly with Cb, Cc, Cd
Ta – testing of module A. Similarly with Tb, Tc, Td
The module A – requirements of the module are collected first and then the module is designed. The coding of module A is done after which it is tested for defects and bugs.
The module B – once module A has been built, we start the same process for module B. But while testing module B, we test for 3 conditions –
a) Test module B
b) Test integration of module B with A
c) Test module A.
The module C – after building module A, B, we start the same process for module C. Here we test for the following conditions –
a) Test module c, b, a
b) Test for integration of C and B, C and A, A and B.
And thus the cycle continues for different modules. Thus in the above example, module B can be built only after module A has been built correctly and similarly for module C.
For the spiral model, the best example that we can consider is the MS-Excel application.
The MS-Excel sheet consists of a number of cells that are the components of an Excel sheet.
Here we have to create the cells first (module A). Then we can do operations on the cells like merge cells into two, the split cell into half (module B ). Then we can draw graphs on the excel sheet (module C).
Advantages of Spiral Model:-
- Requirement changes are allowed.
- After we develop one feature/module of the product, then only we can go on to develop the next module of the product.
Whenever the customer request for major changes in requirements in a particular module, then we change only that module and do testing of both unit and integration of units. This change in requirements comes up in a separate cycle just to do the changes.
Whenever the customer requests minor changes in the product, then the s/w team makes the minor changes along with the new module to be developed simultaneously in a single cycle. We don’t consider making the minor change in a separate cycle of the spiral model due to time and resource constraints.
The documents collected by Business analysts during the requirement collection stage is known as CRS ( Customer Requirement Specification ) or BRS ( Business Requirement Specification ) or BS ( Business Specification ). In this document, the client explains how their business works or the requirement of the s/w he needs.
The BA gathers CRS from the client and translates it into SRS ( Software Requirement Specification ).
The SRS contains how the software should be developed and is given by the BA to developers.
For a more detailed explanation of how to go about developing the s/w, the BA/developer builds another document – FS ( Functional Specification ). FS explains how each and every component should work.
Drawbacks of Spiral Model:–
- Traditional model and thus developers only did the testing job as well.
- Performing all this operation takes to much time to develop, integrate and test the entire application once fully implemented.
Applications of Spiral Model:-
– whenever there is a dependency on building the different modules of the software, then we use the Spiral Model.
– whenever the customer gives the requirements in stages, we develop the product in stages.
- Explain the spiral model with an example?
- What are the advantages and disadvantages of the spiral model?
- What kind of applications a developer can build using the spiral model?
- What is the difference between the waterfall model and the spiral model?