PROTOTYPING
We know from the world of engineering that a manufacturer will develop a prototype model before mass producing the final product. So why not apply this concept to the development of a software product? This is what the pioneers of prototyping have set out to achieve by attempting to demonstrate how a system or a component of a computer-based information system will function in its environment.
Users find such demonstrations very helpful in visualising what proposed systems will do for them. They often find it difficult to accurately access what they are getting from a system by reading large requirements specifications.
Prototyping can result in a set of requirements that are better understood by the user and is more likely to be complete and accurate. Its advantages are that it is dynamic, flexible and provides a collaborative methodology that both aid the end user of the product and the development team.
Some benefits of developing a prototype
• Misunderstandings between software developers and users may be identified as the system functions are demonstrated.
• Missing user services may be detected.
• Difficult to use or confusing user services may be identified and refined.
• Software development staff may find incomplete and/or inconsistent requirements as the prototype is developed.
• A working, albeit limited, system is available quickly to demonstrate the feasibility and usefulness of the application to management.
• The prototype serves as a basis for writing the specification for a production quality system.
Ince and Hekmatpour stated other uses:
• It can be used for training users before the production-quality system has been delivered.
• It can be used during system testing. The same tests can be applied to the prototype and the final system and results compared.
Boehm specified four stages in the prototype development:
• Establish prototype objectives.
• Select functions