A prototype is an early sample, model, or release of a product built to test a concept or process or to act as a thing to be replicated or learned from.[1] It is a term used in a variety of contexts, including semantics, design, electronics, and software programming. A prototype is generally used to evaluate a new design to enhance precision by system analysts and users.[2]
Prototyping serves to provide specifications for a real, working system rather than a theoretical one.[3] In some design workflow models, creating a prototype (a process sometimes called materialization) is the step between the formalization and the evaluation of an idea.[4]