Tuesday, May 7, 2013

Prototyping

A prototype is a model that describes features of a "thing". In regard to software systems, we can describes “prototype” is a system that describes interfaces and features of an intended system.

In the field of software development, prototyping is very important. Most of the time customers don’t know how to express their requirements and they have no idea about how the system will affect to their business. In the other hand, customer want to get an idea about how well the software company is understand their requirement. So, the customer and the software company will come to an agreement to develop a prototype of the system that describes the features (most of the time interfaces and functions) of the actual system. So, we can say that prototyping is a requirement validation of the customer. This helps to identify and omit errors prior to develop the actual system.

In software development prototyping, normally do not involve the programing, instead create a graphical representation only.

The objectives of prototyping should be made explicit from the start of the process. The objective may be to develop the system to validate functional system requirements or it may be develop to demonstrate the feasibility of the application  to manage, etc.

There are two types of prototyping.
  1.     Throw away prototypes
  2.     Evolutionary prototypes

Throw-away Prototypes

This is the most common type of prototyping. This type of prototypes are used to validate requirements and understand the system correctly and throw away the prototype and start developing the actual system from scratch.

Advantages of Throw-Away prototypes.
  •     Both functions and non-functions are satisfied.
  •     Easy to do modifications as customer feedback
  •     Reduce the risk factor
  •     Able to create a good system specification
  •     Future maintenance is easy

Disadvantages of Throw-away prototypes.
  •     Expensive method, because you need to develop two systems.
  •     Consumes lot of time
  •     Waste of resources because you throw away the prototype

Evolutionary Prototypes

In this method, the prototype will be developed into the final system going through many stages with the customer feedback. The prototype and production processes are merged. This is important when initializing user requirements are extremely difficult.

Advantages of Evolutionary Prototypes.
  •     Accelerated delivery of the system
  •     User engagement with the system is very high

Disadvantages of Evolutionary Prototypes.
  •     Only functional requirements are satisfied
  •     Non-functional requirements such as security, reliability, performance may not be satisfied.

No comments:

Post a Comment

Important Notice!

Dear students and friends. When you commenting please do not mention your email address. Because your email address will be publicly available and visible to all. Soon, it will start sending tons of spams because email crawlers can extract your email from feed text.

To contact me directly regarding any inquiry you may send an email to info@bcslectures.website and I will reply accordingly.