Requirements Gathering and Analysis: A Prototyping Model Begins With Requirements
Requirements Gathering and Analysis: A Prototyping Model Begins With Requirements
are defined in detail. The user is interviewed in order to know the requirements of the system.
2. Quick design: When requirements are known, a preliminary design or quick design for the system is created. It is not a detailed design and includes only the important aspects of the system, which gives an idea of the system to the user. A quick design helps in developing the prototype.
3. Build prototype: Information gathered from quick design is modified to form the first prototype, which represents the working model of the required system.
4. User evaluation: Next, the proposed system is presented to the user for thorough evaluation of the prototype to recognize its strengths and weaknesses such as what is to be added or removed. Comments and suggestions are collected from the users and provided to the developer.
5. Refining prototype: Once the user evaluates the prototype and if he is not satisfied, the current prototype is refined according to the requirements. That is, a new
Computer Shop Inventory Management System (CIMS) Page 1
prototype is developed with the additional information provided by the user. The new prototype is evaluated just like the previous prototype. This process continues until all the requirements specified by the user are met. Once the user is satisfied with the developed prototype, a final system is developed on the basis of the final prototype.
6. Engineer product/Developer Product: Once the requirements are completely met, the user accepts the final prototype. The final system is evaluated thoroughly followed by the routine maintenance on regular basis for preventing large-scale failures and minimizing downtime.
Various advantages and disadvantages associated with the prototyping model are listed in Table.
Advantages
Disadvantages 1. If the user is not satisfied by the developed prototype, then a new prototype is developed. This process goes on until a perfect prototype is developed. Thus, this model is time consuming and expensive. 2. The developer loses focus of the real purpose of prototype and hence, may compromise with the quality of the software. For example, developers may use some inefficient algorithms or inappropriate programming languages while developing the prototype. 3. Prototyping can lead to false expectations. For example, a situation may be created where the user believes that the development of the system is finished when it is not.
Page 2
1. Provides a working model to the user early in the process, enabling early assessment and increasing user's confidence. 2. The developer gains experience and insight by developing a prototype there by resulting in better implementation of requirements. 3. The prototyping model serves to clarify requirements, which are not clear, hence reducing ambiguity and improving communication between the developers and users. 4. There is a great involvement of users in software development. Hence, the requirements of the users are met to the greatest extent. 5. Helps in reducing risks associated with the software.
4. The primary goal of prototyping is speedy development, thus, the system design can suffer as it is developed in series without considering integration of all other components.
Page 3