Software Engineering
Prototyping Model
• Used when the customers do not know
the exact project requirements
Prototypin • A prototype of the end product is first
g Model – developed
• System is partially implemented before
Software or during the analysis phase
Engineerin • Starts by interviewing the customers
and developing the incomplete high-
g level paper model
• Process continues until the user
approves the prototype
• Step 1: Requirement
Gathering and Analysis
• Step 2: Quick Design
• Step 3: Build a Prototype
Steps of • Step 4: Initial User
Prototypin Evaluation
g Model • Step 5: Refining Prototype
• Step 6: Implement Product
and Maintain
Steps of Prototyping Model
Types of Prototyping Models
• Rapid Throwaway Prototyping
• Evolutionary Prototyping
• Incremental Prototyping
• Extreme Prototyping
Advantages of Prototype Model
• customers get to see the partial product early in the life cycle
• Missing functionalities can be easily figured out.
• Errors can be detected much earlier thereby saving a lot of effort
and cost
• The developed prototype can be reused by the developer for
more complicated projects in the future
• Flexibility in design.
• used to test and validate design decisions
• bridge the gap between technical and non-technical stakeholders
Disadvantages of Prototyping Model
• Costly concerning time as well as money.
• Too much variation in requirements after each evaluation.
• Poor documentation due to continuously changing
requirements
• Difficult for developers to accommodate all changes
demanded by the customer.
• Uncertainty in determining the number of iterations required.
• Customers may demand the product too soon after seeing an
early prototype.
Disadvantages of Prototyping Model
(Contd)
• Customers may lose interest if dissatisfied with the initial
prototype.
• Prototype may not be scalable to meet future needs.
• Prototype may not accurately represent the final product.
• Focus on prototype development may shift away from the
final product.
• Prototype may give a false sense of completion.
• Prototype may not consider technical feasibility and
scalability.
Applications of Prototyping Model
• should be used when the requirements of the product are
not clearly understood
• if requirements are changing quickly
• This model can be successfully used for developing user
interfaces, high-technology software-intensive systems, and
systems with complex algorithms and interfaces..
• very good choice to demonstrate the technical feasibility of
the product