Software Prototyping is an opportunity for the manufacturer to get an idea of what the final product will look like before additional resources, such as time and money, are put into finalizing the product. It is the activity of creating prototypes of software applications, incomplete versions of the software program being developed. Prototyping gives the software publisher the opportunity to evaluate the product, ensure it’s doing what’s intended, and determine if improvements need to be made. Software Prototyping methods are in some way based on two major types: Throwaway Prototyping and Evolutionary Prototyping.