8 Difference Between Spiral Model and Prototype Model In Software Engineering

SHARE

What Is Spiral Model?

Spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models such as incremental, waterfall or evolutionary prototyping. Each phase in spiral model begins with a design goal and ends with the client reviewing the progress.

Spiral Model is used in the following circumstances:

  • In cases where the software requires continuous risk assessment or evaluation.
  • When the project is huge.
  • The project requirements are complex and require continuous clarification.
  • In case where releases are required to be frequent.
  • Where software requires significant changes.
  • Where there is too much time to collect and analyze end-user experience.

Spiral Model Phases

Planning Phase

In this phase, requirements are gathered, reviewed and necessary resources and work environment identified. The output will be system requirement specification and business requirement documents.

Risk Analysis

The focus of this phase is to analyze risk and alternative solutions; the risk strategy is then drawn and finalized.

Engineering Phase

In this phase, the actual product is made and it entails development and testing. The output for the engineering phase will be source code, design documents, test cases, test summary and defect report etc.

Evaluation Phase

This phase involves the customer. The customer evaluates the product and ensures that the product meets all the requirements. It is usually important to get the feedback of the customer before releasing the product.

What Are Some Of The Advantages  Of Spiral Development Model?

  1. The process of development is fast.
  2. There is control towards all phases of development.
  3. Customer feedback is taken into consideration and changes implemented as soon as possible.
  4. Many and more features are added systematically.
  5. Most ideal for large and risky projects.
  6. Continuous assessment helps in risk management.
  7. It is the most ideal model in cases where requirements are changing more frequently.

What Are Some Of The Disadvantages Of Spiral Model?

  1. It is very much costly for smaller projects.
  2. The requirements documentation could be lengthy as it has intermediate phases.
  3. The risk analysis phase requires an expert authority to make the analysis.
  4. There is a high chance of not meeting the schedule or budget.
  5. For effective delivery, spiral model protocol ought to be followed strictly.

What Is Prototype Model?

A prototyping model is a systems development method in which a prototype (an initial approximation of a final system or product) is built, tested and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.

Prototyping model works very much well in cases whereby all the details of requirements are not known well in advance. It is majorly a trial-and-error process which works in an iterative manner. Prototype model is used:

  • In online systems and web interfaces that normally have a high amount of interaction with end users.
  • When desired system requires having a lot of interaction with end users.
  • When the system feedback is required from end users.

Steps of Prototyping Model

  1. The new system requirements or possible expectations of the system output are documented up to the last detail. This step is very intensive and involving as it may require carrying out interviews on different users representing all segments of the prevailing system.
  2. A preliminary specification design is created for the new system.
  3. From the preliminary specification design a first prototype is made. This is usually a scale-down system which temporarily gives an approximation of the desired output required.
  4. Evaluation of the first prototype (product output) by users. The developer collects and analyses the comments from users, taking into consideration the strength, weaknesses and what needs to be modified or removed.
  5. The first product output is then modified on the basis of the user comments collected by the developer and then a second product output (prototype) is developed.
  6. The second product out (prototype) is thoroughly evaluated in the same manner just like the first product output.
  7. Step 5 and 6 are repeated several times consistently until the users get satisfied with the output.
  8. The final system is eventually constructed. It is then re-evaluated and tested. Regular maintenance is then administered on a seamless basis to detect large-scale failures and reduce downtime.

What Are Some Of The Advantages Of Prototype Model?

  1. The end users are very much involved in the process of development.
  2. Functionality errors, confusion and difficulties can be identified easily.
  3. User feedback ensures that appropriate functionality solutions are incorporated.
  4. Users have an opportunity to have a better understanding of the system being developed.
  5. Through prototyping model, errors can be detected easily and appropriate modification done.

What are Some of the Disadvantages of Prototype model?

  1. Incomplete or inadequate problem analysis.
  2. Incomplete application may result to the application not being used as the fully system was designed.
  3. The model can be monotonous, because it involves back and forth of implanting and repairing way of building systems.
  4. The model may result to increased complexity of the system due to user feedback; the system may expand beyond the original design.

Also Read: Difference Between Cohesion And Coupling In Software Engineering

Difference Between Spiral Model and Prototype Model In Tabular Form

BASIS OF COMPARISON SPIRAL MODEL PROTOTYPE MODEL  
Description Spiral model is a risk-driven software development process model. Based on the unique risk patterns of a given project, the spiral model guides a team to adopt elements of one or more process models such as incremental, waterfall or evolutionary prototyping. A prototyping model is a systems development method in which a prototype (an initial approximation of a final system or product) is built, tested and then reworked as necessary until an acceptable prototype is finally achieved from which the complete system or product can now be developed.  
Alternative Name Spiral model is also referred to as meta model. Prototype mode can also be referred to as rapid or closed ended prototyping.  
Risk Analysis In spiral model, thorough risk analysis of risk and alternative solution is undertaken. Prototype mode does not give due emphasis on risk analysis and alternative solutions.
Customer Evaluation In spiral model there is no continuous customer interaction. Customer interaction comes at the tail end of the project. In prototype model, customer interaction is continuous until the prototype is approved.
Cost Cost effective quality improvement is not possible in spiral model.   In prototype model, cost effective quality improvement is very much possible.
Quality Improvement Cost Improvement of quality of the project may increase the cost of the product.   Improvement of quality does not have effects on cost of the product.
Suitability It is suitable when the customer specification requirements are clear. It is a trial-and-error kind of model, only suitable when the specification requirement of the customer are not clear and are supposed to change.

Also Read: Waterfall Vs Incremental Vs Spiral Vs RAD