The prototyping approaches in software process are as follows-
. Evolutionary Prototyping :
This prototype approach is based on the idea of developing an initial implementation, exposing user commentary, and going through several stages until a sufficient system has been developed as shown in figure.
The advantages to adopting this approach to software development are-
- [a]. Accelerated Delivery of the System –
Software change is required in the change of business speed. Fast delivery and usability is more important than description of long-term software maintainability functionality.
- [b]. User Engagement with the System –
The users involvement with the development process is not only to meet their needs, but also means that the system has made a commitment to it and probably wants it to work.
There are some problems with evolutionary prototyping which are particularly important when large, long -lifetime systems are to be developed.
- Management Problems :
Software management is the key structure for large organizations to deal with software process models that generate regular delivery to assess progress.
- Maintenance Problems :
This type of problems means that it is difficult to understand anyone other than the original developers.
- Contractual Problems :
The contructual model between a customer and a software developer is based around a system specification. without system specification, it becomes difficult to design contracts for system development. Developers are unlikely to accept a fixed price contract and cannot control the changes requested by the end-users.
- Management Problems :
. Throw-away Prototyping :
This type of approach extends the process of requirements analysis by reducing overall life-cycle costs. The main function of the prototype is to clarify the requirements and provide additional information for managers to assess process risks. This prototype is not used for further system development based on its evaluation. The software process model, based on the initial throw-away prototyping stage is shown in figure.
There are some problems with this approach as follows-
- Important features are left out of the prototype to simplify the rapid implementation. It is not possible to prototype some of the important parts of the system such as safety-critical functions.
- An implementation does not have any legal contract between customer and contractor.
- The non-functional requirements which concern reliability, robustness and safety can not be adequately tested in prototype implementation.