5 SDLC Model Prototype Model
5 SDLC Model Prototype Model
Cycle Models
By
Manjiri Tatke
Software Development Life Cycle Models
• Waterfall Model • RAD Model
• V Model • Big Bang Model
• Iterative Model • Fish Model
• Incremental Model • Hybrid Model
• Prototype Model • JAD Model
• Spiral Model • Agile Model
What is Prototype Model?
Prototyping Model is a software development model in which
prototype is built, tested, and reworked until an acceptable
prototype is achieved. It also creates base to produce the final
system or software. It works best in scenarios where the project’s
requirements are not known in detail. It is an iterative, trial and
error method which takes place between developer and client.
This model introduced in 1977 by Bally and others.
What is Prototype?
A prototype is a toy implementation of the system. A prototype
usually turns out to be a very crude version of the actual system,
possible exhibiting
-> limited functional capabilities,
-> low reliability, and
-> inefficient performance
as compared to actual software.
Requirement Gathering & Analysis
A prototyping model starts with requirement analysis. In this
phase, the requirements of the system are defined in detail.
During the process, the users of the system are interviewed
to know what is their expectation from the system.
Quick Design
The second phase is a preliminary design or a quick design.
In this stage, a simple design of the system is created.
However, it is not a complete design. It gives a brief idea of
the system to the user. The quick design helps in developing
the prototype.
Build a Prototype
In this phase, an actual prototype is designed based on the
information gathered from quick design. It is a small working
model of the required system.
The initial Prototype is developed in this stage, where the
very basic requirements are showcased and user
interfaces are provided.
Customer evaluation of prototype
In this stage, the proposed system is presented to the client
for an initial evaluation. It helps to find out the strength and
weakness of the working model. Comment and suggestion
are collected from the customer and provided to the
developer.
Refining Prototype
The feedback and the review comments are discussed
during this stage and some negotiations happen with the
customer based on factors like – time and budget
constraints and technical feasibility of the actual
implementation. The changes accepted are again
incorporated in the new Prototype developed and the
cycle repeats until the customer expectations are met.
Refining Prototype
Prototypes can have horizontal or vertical dimensions.
A Horizontal prototype displays the user interface for the
product and gives a broader view of the entire system,
without concentrating on internal functions.
A Vertical prototype on the other side is a detailed
elaboration of a specific function or a sub system in the
product.
Build Software
Once the customer accept the final prototype , The
actual system is developed using the iterative waterfall
approach.
Types of Prototyping Model
• Rapid Throwaway prototypes
• Evolutionary prototype
• Incremental prototype
• Extreme prototype
Rapid Throwaway Prototype
Throwaway prototyping is also called as rapid or close
ended prototyping. This type of prototyping uses very
little efforts with minimum requirement analysis to build
a prototype. Once the actual requirements are
understood, the prototype is discarded and the actual
system is developed with a much clear understanding of
user requirements.
Evolutionary Prototype
Evolutionary prototyping also called as breadboard
prototyping is based on building actual functional
prototypes with minimal functionality in the beginning.
The prototype developed forms the heart of the future
prototypes on top of which the entire system is built. By
using evolutionary prototyping, the well-understood
requirements are included in the prototype and the
requirements are added as and when they are
understood.
Incremental Prototyping
In incremental Prototyping, the final product is decimated
into different small prototypes and developed individually.
Eventually, the different prototypes are merged into a single
product. This method is helpful to reduce the feedback time
between the user and the application development team.
Extreme Prototyping
Extreme prototyping method is mostly used for web
development. It is consists of three sequential phases.
1.Basic prototype with all the existing page is present in the
HTML format.
2.You can simulate data process using a prototype services layer.
3.The services are implemented and integrated into the final
prototype.
Advantages of Prototype model
• Increased user involvement in the product even before its
implementation.
• Since a working model of the system is displayed, the users
get a better understanding of the system being developed.
• Reduces time and cost as the defects can be detected much
earlier.
• Quicker user feedback is available leading to better
solutions.
• Missing functionality can be identified easily.
• Confusing or difficult functions can be identified.
Disadvantages of Prototype model
• Risk of insufficient requirement analysis owing to too much
dependency on the prototype.
• Users may get confused in the prototypes and actual
systems.
• Practically, this methodology may increase the complexity of
the system as scope of the system may expand beyond
original plans.
• Developers may try to reuse the existing prototypes to build
the actual system, even when it is not technically feasible.
• The effort invested in building prototypes may be too much
if it is not monitored properly.
Example
• In Online Shopping , screens are presented to customer such as login
page, product pages, cart page , checkout page and so on
• Their basic flow and communication.
• It is presented on most of the time with paper pencil, or
presentation , or animated 3d video (prototype ).
• It is reviewed , suggestions are taken and prototype is refined.
• This cycle is done till customer accepts.
• Once accepted by customer, actual web site is developed using
iterative waterfall model