1.1 Definition and objectives
A prototype is a functional model that works similar to the component of the product. In most cases, the client only has the general perspective of what is expected from the product of software. In such a situation where there is no detailed information concerning the system input, processing requirements and the output requirements, the prototyping model can be used. Prototyping has a number of objectives. First, it is employed in order to overcome the possible client misinterpretation and also to test technical feasibility of the proposed design and its purpose. Next is that it is meant to answer the questions concerning the feasibility of the product design or its suitability through the production of limited version of the product. Third is that they are used for the purpose of providing a better impression of experience for the user as compare to what simple descriptions can do. It also provides away of selecting the best product option out of the available alternatives. They are thus a way of ensuring that users are given the opportunity to evaluate the software product. Prototyping are used as a requirements technique and as a means of getting product specification. Other objectives include the need to increase flexibility of the development process by permitting the client to interact and experiment with a functional representation of the product (Sommerville, 2006, Wiley, 2002).
There are therefore two types of prototypes namely version1 and version 2 which are used as requirements techniques and as specifications respectively. The version1 prototype makes use of prototype as a way of fast determination of the client needs. It is then discarded as long as the specifications are agreed upon. The importance of version1 prototype is to represent the features of the software that will be visible to the client or user. The visible features are like inputs approaches and formats of outputs. It does not really matter in this case whether the prototype is working or not. In the case whereby the first version of prototype fails to meet the needs of the client, then it is rapidly converted in to the second version where the prototype is used as the specifications for the design stage. The version2 of prototyping has an advantage in that it is fast and accurate since no time is used in drawing up the specifications although it has some difficulties such as incompleteness, ambiguities and contradictions (Sommerville, 2006).
1.2 Merits of using low fidelity prototypes
Low fidelity prototypes helps the developers get the most appropriate requirements from the clients or users. It speeds up the research of visual control algorithms thus helps in the design and implementation of software design for quick prototyping. Low fidelity prototype also provides an outline of the software product. It is designed to offer the user with the idea of what the real software may appear or look like. It is thus advantageous in that it gives a software idea at the early stages of the design. In addition, low fidelity prototypes can be used to form the foundation of high fidelity prototype by the software design team. Consequently, this kind of prototyping helps the designers to produce or generate software that better fits the needs of the user (de Sá, et al. 2011, de Souz, Ferreira & Maurer, 2013).
