What is a prototyping system?
A prototyping system is a system development technique in which a working model for software or system is created, tested, and then modified as required until an acceptable prototype for the final software is obtained. This method is best suitable when all the project requirements are not known in detail.
Steps involved in prototyping
The process of creating a prototyping system involves the following steps:
Step 1: Basic requirement identification
This is the first stage in developing a prototyping system. At this point, the system's requirements, such as what input will be provided, the expected output, and other basic product requirements are collected. This information is collected by interviewing the users of the system.
Intricate details such as security, external aspects, and internal design are ignored.
Step 2: Creation of a preliminary design
At this stage, an initial design of the system is created. It is not a final design but gives an idea of how the final system would be.
Step 3: Developing the prototype
After designing the prototyping model, the actual development is done. This prototype is developed based on the requirements collected. It is typically a smaller version of the actual system.
Step 4: Prototype evaluation
The prototype is presented to the user or stakeholders for evaluation. The user uses the system and provides feedback to the developer. This feedback helps understand the strengths and weaknesses of the model and is used for future improvements.
Step 5: Revising the prototype
If the client is not satisfied with the prototype, the developer has to revise it according to the client's feedback. The developer has to create a new prototype software and present it to the client. This process continues until the client is fully satisfied with the prototype.
Once the client approves the prototype application, the developer can develop the final product.
Step 6: Final product development
This is the last stage in the prototyping technique. The developer develops the final product/ software based on the final prototype approved by the client. The final prototype is tested thoroughly and sent for production. Regular system maintenance is carried out to avoid failures and reduce downtime.
Types of prototyping systems
Four types of prototyping systems are available:
- Rapid throwaway prototype
- Evolutionary prototype
- Incremental prototype
- Extreme prototype
Rapid/ throwaway prototype
A rapid throwaway prototype is a technique in which the prototyping model is quickly developed using the basic requirements gathered from the client. It is created to show the clients how their requirements will look visually. The client's feedback helps the developers make changes to the prototype.
After the client accepts the prototype, this initial prototype is discarded. This indicates that it is not included in the final software.
Throwaway prototyping is mainly preferred due to its rapidness. This model can be created quickly, and the user's feedback can be obtained at an early stage. This reduces the cost of making changes to the software since it is in the early development phase.
Evolutionary prototype
In the evolutionary prototype technique, the initial prototype is built as per the system requirements that are well understood. Later, new requirements are added to the system as and when they are understood. This prototyping model forms the base for future prototypes and the new system. Further improvements and requirements can then be added to the system.
The evolutionary prototyping approach is best suited for projects that use a new technology not adequately understood at the beginning of the project. It can also be used for complex projects that need every feature to be checked once.
Incremental prototype
In incremental prototyping, small individual prototypes for software are created parallelly. These prototypes are first evaluated and refined individually and then combined to create the final software. This model is best for creating large software/ systems with several modules related to each other.
Extreme prototype
The extreme prototyping methodology is usually used in web development. Web applications contain a presentation layer and a services layer. The presentation layer displays content in the user's browser—the services layer deals with communication, authentication, business logic, and authorization.
The extreme prototyping method follows the following approach to create web applications:
- In the first stage, a static prototype having HTML pages is built.
- In the second stage, fully functional pages are created using a simulated services layer.
- In the final stage, the services are implemented and combined to create a final prototype.
Uses of prototyping systems
Some of the common uses of prototyping systems include:
- For developing software that demands a high level of user interactions. For instance, in building online systems.
- For building systems that require customers to fill out forms or navigate through various screens before data processing. For example, transaction processing software.
- For software that requires a large amount of data processing.
Advantages of prototyping systems
The benefits of using prototyping systems are as follows:
- Customers can provide their feedback on the product at an early stage.
- Any missing functionalities and defects can be identified easily.
- Prototypes can be reused in the future.
- Encourages communication amongst team members.
- Customers can get an idea of how the new product will work.
- Chances of the software rejection by the client get reduced.
- It makes it easy to handle complex and difficult functionalities.
- Prototypes can be discarded easily.
- It provides more design flexibility.
- Prototypes can act as the base for the final software.
Disadvantages of prototyping systems
The disadvantages of using the prototyping approach are as follows:
- The prototyping approach is a time taking process.
- The number of change requests may be very large.
- The customer requirements often change continuously. So, it is hard to maintain proper documentation.
- The client might start asking for the final delivery as soon as the prototype is presented.
- Whenever the client evaluates the product, they will demand variations.
- Customers may not prefer to participate in the development cycle for a longer period.
- If the initial prototype is not satisfactory, the client will lose interest in the final product.
Context and Applications
The topic prototyping system is an essential topic in information systems subject. The topic is covered in various graduate and post-graduate courses like:
- Bachelor of Science in Computer Science
- Bachelor of Science in information technology
- Master of Science in Computer Science
- Master of Science in information technology
Practice Problems
Q1) What does a prototyping model process start with?
- Requirement gathering
- Design Prototyping
- Prototyping effort
- Prototyping process evaluation
Answer: Option a
Explanation: The prototyping process begins with requirements identification and gathering.
Q2) What should be done to the prototyping model if the client is not satisfied with it?
- Create a new model based on the client feedback
- Throw the model and close the project
- Submit it to the client
- No changes should be done at all
Answer: Option a
Explanation: A new prototype model should be created based on the client's feedback if the client is not satisfied with the product after the first presentation.
Q3) Which of these is a type of prototyping system?
- Functional prototypes
- Incremental prototyping
- Designing prototyping
- Software Prototyping
Answer: Option b
Explanation: Incremental prototyping, extreme prototyping, rapid prototyping, and evolutionary prototyping are types of prototyping systems.
Q4) Which of these is a disadvantage of the prototyping system?
- It is cheap
- It is fast
- It is a time taking process
- It is a new technology
Answer: Option c
Explanation: One of the disadvantages of the prototyping system is that it is a time taking process.
Q5) Which prototyping system is used for web development?
- Incremental prototyping
- Extreme prototyping
- Rapid prototyping
- Software prototyping
Answer: Option b
Explanation: Extreme prototyping method is mainly used for web development.
Common Mistakes
Students should understand the differences between the four types of prototyping models and not make mistakes while using them. Each model has a specific purpose, so students should select the model based on the client's requirements and project details.
Related Concepts
- Software engineering
- Software development lifecycle
- Waterfall model
- Iterative model
Want more help with your computer science homework?
*Response times may vary by subject and question complexity. Median response time is 34 minutes for paid subscribers and may be longer for promotional offers.
Search. Solve. Succeed!
Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.
Search. Solve. Succeed!
Study smarter access to millions of step-by step textbook solutions, our Q&A library, and AI powered Math Solver. Plus, you get 30 questions to ask an expert each month.