Software Prototyping Model Introduction
The prototyping model starts with the communication phase. The software development team, project manager meet to define the overall objectives of the software being developed and to identify whatever requirements are know and the areas that requires additional definition and clarity. Prototyping Model is also called as Quick Design because a iteration in prototyping is planned and constructed very quickly.
Definition - What is prototyping process?
Prototyping is a process which enables the software engineer or the development team to create a working model of an information system application. The prototype developed during the process only gives general idea about the system and it neither contains all the features nor does it perform all the required functions of the final system. When the prototype is ready the customer or user evaluates it and they suggest necessary additions and modifications. As the prototype is revised every time to better meet the needs of customer prototyping process is an iterative process.
Building a prototype is less costly. One can build it using only paper and pencil or software tools.
Steps of Prototyping
1. Requirements gathering and refinement
Software engineer and the customer or user work together to define overall objectives of the software and to identify the requirements to be fulfilled.
2. Develop Working Model
Development team and user identify the data that is needed by the system as input and specify output that the application must produce. System analyst estimated the cost of prototyping and tells the management about this.
3. User Evaluation
The customer uses the prototype to evaluate its features and functions.
4. Review Prototype
The development team discusses on the prototype, review the prototype, after getting the information from user evaluation about what they liked and disliked, what modifications and additions has to made.
5. Repeat as needed
This whole process is repeated until both user and development teams come to a conclusion that all necessary features are implemented and there is no profit in further repeating the process.
Advantages of Prototyping Model
- Difficult to handle functions can be removed and missing functions can be added.
- Feasibility study by management can be done as prototyping is very quick.
- Saves time in development.
- Requires less cost to build the prototype.
Disadvantages of Prototyping Model
- The user can demand more functions after using trial version of software. Because of too often requests the development team might ignore the requests.
- The developer can make use of inappropriate algorithms to quickly implement the working prototype and in future may forget to change them.
- It is very difficult to implement the changes made suggested by the customer.
- The customer may discard his order if he/ she doesn't like the initial prototype.
- Screen Generators:This screens or user interface should show input data fields, output data fields, column headings, different colour combinations and labels to guide user to use the software appropriately. These screens should automatically validate the input data.
- Application Generators: Application generators are high level software programs. They can be used to applications that accept input data; validate that data; interact with user,with files; perform calculations on the data and produce desired output. For example - to make a game we can use Game Engines such as Unreal Engine 4, Unity etc.
- Report Generators:These are the software programs that extract some data from existing database and represent it as information.