When to use Prototype model: Whenever the customer not clears about the requirement in this situation we generally go for prototype model. If it is complex project then prototype model makes clear understand the requirement. Prototyping make sure that the customer constantly work with the system and provide a feedback about the system.
Advantages of Prototype model: Customer satisfaction exists, because customer can feel the product at very early stage. If there is missing functionality can be identified easily There will be less chance of software rejection. Requirement changes are allowed. Due to customer approval we can find the errors at early stage. Disadvantages of Prototype model: There are no parallel deliverables It is a time consuming if customer ask for changes in prototype This methodology may increase the system complexity as scope of the system may expand beyond original plans.
The model is then demonstrated to the user for suggestions for improvements, which are incorporated into successive iterations until the working model proves satisfactory. Then formal user approval of the prototype's functionality is obtained.
Next, a preliminary system design document is produced. The prototype iteration phase is the heart—through scenarios provided by the working model, the user may role-play and request successive refinements to the model until all functional requirements are met. When the user approval has been obtained, the detail design is derived from the rapid prototype and the system is tuned for production use. It is within this tuning phase that the rapid prototype becomes a fully operational system instead of a partial system during the prototyping iteration loop.
A detailed design may be derived from the prototypes. The prototype then is tuned using code or external utilities, as required. The designer uses validated requirements as a basis for designing the production software.
Additional work may be needed to construct the production version: more functionality, different system resources to meet full workload, or timing constraints. Stress testing, benchmarking, and tuning follow, and then comes operation maintenance as usual.
The final phase is operation and maintenance, which reflects the activities to move the system into a production state. There is no "right" way to use the prototype approach. The result may be thrown away, used as a foundation for enhancement, or repackaged as a product, depending on the original objectives, the process used, and the desired quality. Clearly, cost and schedules benefit from evolutionary prototyping because no components are "thrown away.
When ap-plied to a suitable project, the strengths of the structured evolutionary rapid prototyping model can be seen in the following ways:. When applied to a project for which it is not suited, the weaknesses of this model can be seen in the following ways:.
If the project is cancelled, the end user will be left with only a partial system. In fact, it may have to be ported to a different platform, with different tools to accommodate size or performance issues, resulting in a different user interface. Undisciplined developers may fall into a code-and-fix cycle, leading to expensive, unplanned prototype iterations.
If it is not present, a later retrofit can be more expensive than throwing away the prototype. As users see success in requirements being met, they may have a tendency to add to the list of items to be prototyped until the scope of the project far exceeds the feasibility study. The same "real" requirements analysis, design, and attention to quality for maintainable code is necessary with prototyping, as with any other life cycle model although they may be produced in smaller increments.
A pro-ject manager may feel confident that the structured evolutionary rapid prototyping model is appropriate when several of the following conditions are met:. Rapid prototyping is well suited for user-interface intensive systems, such as display panels for control devices, interactive online systems, first-of-a-kind products, and decision support systems such as command and control or medical diagnosis, among others.
Grist Project Management Motivational current. Goalsontrack Smart Goal Setting Software. The basic idea here is that instead of freezing the requirements before a design or coding can proceed, a throwaway prototype is built to understand the requirements. This prototype is developed based on the currently known requirements. Development of the prototype obviously undergoes design, coding and testing. But each of these phases is not done very formally or thoroughly.
By using this prototype, the client can get an "actual feel" of the system, since the interactions with prototype can enable the client to better understand the requirements of the desired system. Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system to help determining the requirements. In such situations letting the client "plan" with the prototype provides invaluable and intangible inputs which helps in determining the requirements for the system.
It is also an effective method to demonstrate the feasibility of a certain approach. This might be needed for novel systems where it is not clear that constraints can be met or that algorithms can be developed to implement the requirements. The process model of the prototyping approach is shown in the figure below.
0コメント