a) Prototyping/ Heuristic development
This refers to the process of creating a system through trial and error. This approach uses faster development tools such as 4th generation languages (4GLs) that allow a user to see a high level view of the workings of the proposed system within a short period of time. The initial emphasis during development of the prototype is usually placed on the reports and screens, which are the system aspects most used, end users.
Contribution of prototyping to the resolution of complexity of information systems development:
1. Prototyping simplifies the process of systems analysis.
Through the use of prototypes, the task of getting user requirements such as reports requirements and screen requirements is very easy as prototypes (preliminary working versions of an information system used for demonstration and evaluation) could be used to capture all user requirements.
2. Prototyping simplifies systems design
In throwaway prototyping (Approach to prototyping wherethe final version of the prototype is discarded and a new system developed using a high level language), the throwaway prototype forms the basis for system designs. The systems designers only need to produce a system design that can be implemented using a high-level programming language.
3. Prototyping guarantees acceptance testing
The process of presenting a prototype version to the end user for evaluation is a form of acceptance testing. This process is carried out with every version of the prototype cycle. Thus, prototyping assures that the system is acceptable to the end user because it involves rigorous acceptance testing. Since the end user was involved in the implementation, then it follows that he‘ll accept the program