It’s easiest to define what software prototyping is by thinking about prototyping in general. We all pretty much have a handle on what it means to create a prototype in the real world. You have a great idea for a new gadget, and you build (or hire someone to build) a custom-made, one-off version of the gadget. It may or may not work, of course. If it doesn’t, you start tinkering or you start over.The typical development method before prototyping was one where an entire piece of software was built out in its entirety before the customer had a chance to review it. It was delivered as a finished product, and after-the-fact changes were prohibitively expensive.
Throwaway prototyping works a lot like the name suggests. In this method, the software prototype serves no function beyond proving a concept or demonstrating some aspect of the software.It has the basic functionality needed for testing, but it likely doesn’t function in any sort of complete sense.
The goal with evolutionary prototyping is to evolve your prototype into the finished product. This will happen iteratively most of the time. In first round of prototyping, customers receive a functional software prototype.