PROTOTYPE FOR SYSTEM DEVELOPMENT
`A prototype is an early sample, model, or release of a product built to test a concept or process.
It is a term used in a variety of contexts, including semantics, design, electronics, and software programming.
A prototype is generally used to evaluate a new design to enhance precision by system analysts and users.
Prototyping serves to provide specifications for a real, working system rather than a theoretical one.
ADVANTAGES OF PROTOTYPING
- It enables the system to be reviewed by the user during development
- May provide a final system that is better suited to the user’s needs because of user’s involvement in the development process.
- Will detect incorrect features earlier than other models
- Enable the developers to gain an early insight into how the system could be developed
- Reduces development cost
- The developers received quantifiable user feedback
- Facilitate system implementations since users feedback
- Facilitates system implementation since user knows what the system is
- Results in higher user satisfaction
- Expose developers to potential future system enhancement
Disadvantages of prototyping
- Users expect the performance of the final system to be the same as the prototype
- Developers can become too attached to their prototypes
- Prototypes can be concerted to final code that is hard to maintain
- Can lead to incomplete documentation
Stages of prototyping
- Determining the needs of your users: the requirements or need of the users will determine the development of your prototype as they will determine and refine the business objective that your system must support. This can be done through questionnaires, interviews or group discussion.
- Build The prototype: this stage involves using a high-level programming language or prototyping tool to develop the interface and reports needed by the users.
- Evaluate the prototype: after a version of the prototype is built it needs to be evaluated. The main goal is that you need to verify that the prototype needs of the users. Three basic issues must be evaluated during evaluations; what’s good about the prototype, what is bad about the prototype, and what is missing from the prototype.
- Determine if you have finished yet: if the evaluation process was successful then the prototype is evaluated if not it will be reviewed until it satisfies the needs or requirements of the users or customers.
There are three major kinds of prototyping
- “Throw away “prototyping (“rapid prototyping”) or close-end
- This refers to the creation of a system model that will eventually be discarded (thrown) rather than become part of the final delivery system.
- They are built, tested and thrown away (useful in early stage)
- Can be expensive
- Knowledge gained contributes to final/next prototype
- The prototype is used to get the specs right, then discarded
- Incremental prototype
- Final system built as separate components which are released separately and gradually integrated.
- Evolutionary prototypes or Bread-board prototype
- This refers to the creation of a system model that is constantly being improved until it becomes the final system.
- They are nor discarded but serve as basis for next iterations of the design
- Danger of initially bad designs persisting
- The prototype eventually becomes the product
- Explain the advantages and /or disadvantages of using prototyping when developing solutions. In your answer you must also include a description of what prototyping is. In this question you will be marked on your ability to use good English, to organize information clearly and to use specialist vocabulary where appropriate (7 marks)
- Outline four stages involved in prototyping (4 marks)
- List and explain two types of prototyping (4 marks)
- List three advantages of evolutionary prototyping over throw-away prototyping (3 marks)