Wednesday, October 6, 2010


PrPrototype Model
         Developers build a prototype during the requirements phase
         Prototype is evaluated by end users
         Users give corrective feedback
         Developers further refine the prototype
         When the user is satisfied, the prototype code is brought up to the standards needed for a final product.

In scenario where there is an absence of detailed information regarding the input to the system, the processing needs and the output requirements, the prototyping model may be employed. This model allows the client to interact and experiment with a working representation of the product. The developmental process only continues once the client is satisfied with the functioning of the prototype. At that stage the developer determines the specifications of the client’s real needs. 

Advantages

1        The software designer and implementer can obtain feedback from the users early in the project
2                 The client and the contractor can compare if the software made matches the software specification, according to which the software program is built
3                 It also allows the software engineer some insight into the accuracy of initial project estimates and whether the deadlines and milestones proposed can be successfully met

Disadvantages

·        Often clients expect that a few minor changes to the prototype will more than suffice their needs. They fail to realise that no consideration was given to the overall quality of the software in the rush to develop the prototype.
·        The developers may lose focus on the real purpose of the prototype and compromise the quality of the product. For example, they may employ some of the inefficient algorithms or inappropriate programming languages used in developing the prototype. This mainly due to laziness and an over reliance on familiarity with seemingly easier methods.
·         A prototype will hardly be acceptable in court in the event that the client does not agree that the developer has discharged his/her obligations. For this reason using the prototype as the software specification is normally reserved for software development within an organization.

When to use such model?

·        Prototyping is very effective in the analysis and design of on-line systems.
·        Systems with little user interaction, such as batch processing or systems that mostly do calculations, benefit little from prototyping. Sometimes, the coding needed to perform the system functions may be too intensive and the potential gains that prototyping could provide are too small.
·        Prototyping is especially good for designing good human-computer interfaces. “One of the most productive uses of rapid prototyping to date has been as a tool for iterative user requirements engineering and human-computer interface design.”

No comments:

Post a Comment