Prototype model in software engineering

What is prototype model?

  1. The prototype model is a working model for software development with limited functionality.
  2. This model is used when customers do not know its exact requirements according to this work.
  3. In the prototype model we do not develop full software but according to the customer satisfaction and after testing limited work is done in the software.
  4. We develop first a software prototype means to include some important functions in the software basically.
  5. During this developing process, the software is handover the customer and takes feedback after some time of customer using that software.
  6. After using the software from the customer then if any problem & error is found into the software then it removes by the developers according to the user experience.
  7. In this model whole the software is fully developed then according to the user’s requirements it tested and changes its functionality later.

Use of Prototype model :

  1. It is generally used in big projects where the customer is not satisfied with its requirements, and then a prototype of software is given to the customer by developers.
  2. Where requirements are not clear.
  3. A prototype model is used where a complicated project is going on to be developed.

Step for develop prototype model:-

  1. Basic Requirement analysis.
  2. Take a quick decision.
  3. Build a software prototype.
  4. Customer verification.
  5. Refining prototype.
  6. Engineer product.
prototype model
prototype model

Here we define all its process one by one:

  1. Basic requirement analysis:-

This is the first step of the prototype model, in this phase customer requirements are taken in detail. All the functions and customers desired analysis is fully covered in this stage. Other requirements as like performance and speed are ignored in this phase.

  • Take a quick decision:-

In this phase, a decision is taken by the developers according to the customer’s requirements agreements. And they make software develop plane initially.

  • Build a software prototype:-

According to the first phase requirements of the customer, a prototype is developed by the developers. In this development, only basic requirements are developed for customers and a basic interface is given for customers to interact with the software. This prototype model is actually not full software but a small version of the actual software.

  • Customer verification:- 

After the prototype software is developed then it is handover the customer for testing and takes an experience according to their need. Customers check their performance according to their projects need.

  • Refining prototype:-

After the customer testing of the software, customers share their experience and their feedback with the developers. Customers also give its suggestions to the developers.

If customers feel any error or misbehave in software then it again handover the developers and they check them and remove the error form software.

And then final software is developed based upon the customer testing and satisfaction.

  • Engineer product:-

After whole things are cover in the software and final productions of the software are done then it is going to check the performance and running time speed purpose and then they prevent all the failure of the software and finally whole the software is developed again for customers.

Types of Prototype model:- 

Mostly two types of Prototype model is used

  1. Rapid/throwaway prototypes:-
  2. Evolution prototype:-

Prototype model is generally four types:-

Rapid/throwaway prototypes:-

      This is fully based upon the preliminary requirement. In this process, the software is quickly developed based upon the customer requirement. In this technique customers, ideas, and feedback are getting by the developers, customer feedback prevents the unnecessary design and parts form built.

Evolution prototype:-

In the evolution prototype model 

A prototype is developed by the developers initially incrementally refined on the basis of customer feedback till it finally accepts, in this model time and money also saving.

This model is very useful who is using the new technology into its is a generally better approach than the Rapid prototype model.

Here next step is done in the software after checking and testing by the users.

Incremental prototype:-

In this system, a final product is developed after mixing the small prototypes of software. In this technique, a small prototype model is developed.

This is a very helpful model to take the feedback from the customer. And after an interaction at every point from the customer, better software is developed at the end.

Extreme prototype:-

The extreme prototype model is used in website/web development. This model is very helpful for web development.

Advantages of prototype model:-

  • The prototype model is very simple and easy to understand.
  • The error can be detected much earlier.
  • If the customer is not satisfied then made a new software version according to the customer’s need.
  • This model is easily managed by developers and users because the whole software is developed according to the customer’s requirements.
  • A small budget customer is easily affordable to this prototype model of software development.
  • All the stages are clearly defined by developers and all are well understood.
  • All the tasks are easily arranged.
  • After completing the software all results are documented.
  • Users are also involved in this developing series of software.
  • All the satisfactions and suggestions are given by the customers according to it’s used initially so this is a good point.
  • There is hardly any change in any software rejection.
  • Here you easily find the missing functions from the software.
  • This is used for small projects at low timing. The prototype model is a time-saving project.

Disadvantages of prototype model:-

  • There is a high amount of risk.
  • For big and complex systems this is not a good model.
  • The prototype model is a poor model for long projects.
  • If the end-user is not satisfied with the developed project’s software then he/she loses its interest from the projects.
  • It is very difficult for software developers to develop software according to the user beside they don’t know actually exact requirements of the users.
  • First, an unstable product is developed by the developers for checking and test of software; this is taking too much time.
  • All the projects fully depend upon the customer’s feedback then the next step is taken by the developers.
  • Special techniques are required for developing software by using this model.
  • The prototype model is a time-consuming process.
  • This is very hard to understand for developers.

Additional Topics

Leave a Reply