Prototyping Model
Prototyping Model
com/software-engineering/explain-prototyping-model
Prototyping Model in Software Engineering
BY DINESH THAKUR
The prototyping model is applied when detailed information related to input and output
requirements of the system is not available. In this model, it is assumed that all the
requirements may not be known at the start of the development of the system. It is usually
used when a system does not exist or in case of a large and complex system where there is no
manual process to determine the requirements. This model allows the users to interact and
experiment with a working model of the system known as prototype. The prototype gives the
user an actual feel of the system.
At any stage, if the user is not satisfied with the prototype, it can be discarded and an entirely
new system can be developed. Generally, prototype can be prepared by the approaches listed
below.
1. By creating main user interfaces without any substantial coding so that users can get a feel of
how the actual system will appear.
2. By abbreviating a version of the system that will perform limited subsets of functions
3. By using system components to illustrate the functions that will be included in the system to
be developed
Using the prototype, the client can get an actual feel of the system. So, this case of model is
beneficial in the case when requirements cannot be freezed initially.
This prototype is developed based on the currently known requirements. Development of the
prototype obviously undergoes design, coding, and testing, but each of these phases is not
done very formally or thoroughly.
By using this prototype, the client can get an actual feel of the system, because the interactions
with the prototype can enable the client to better understand the requirements of the desired
system.
Prototyping is an attractive idea for complicated and large systems for which there is no manual process or existing system
to help determine the requirements. Risks associated with the projects are being reduced through the use of prototyping.
The development of the prototype typically starts when the preliminary version of the requirements specification
document has been developed.
At this stage, there is a reasonable understanding of the system and its needs are unclear or
likely to change. After the prototype has been developed, the end users and clients are given
an opportunity to use the prototype.
They provide feedback to the developers regarding the prototype: what is correct, what
needs to be modified, what is missing, what is not needed, etc. Based on the feedback, the
prototype is modified to incorporate some of the suggested changes that can be done easily,
and then the users and the clients are again allowed to use the system.
This cycle repeats until, in the judgment of the prototypes and analyst. Based on the
feedback, the initial requirements are modified to produce that final requirements
specification, which is then used to develop the production quality system.
Figure Illustrates the steps carried out in the prototyping model. These steps are listed below.
Advantages Disadvantages
• 1. Provides a working model to the user• 1. If the user is not satisfied by the
early in the process, enabling early developed prototype, then a new
assessment and increasing user's prototype is developed. This process
confidence. goes on until a perfect prototype is
• 2. The developer gains experience and developed. Thus, this model is time
insight by developing a prototype there consuming and expensive.
by resulting in better implementation• 2. The developer loses focus of the real
of requirements. purpose of prototype and hence, may
• 3. The prototyping model serves to compromise with the quality of the
clarify requirements, which are not software. For example, developers may
clear, hence reducing ambiguity and use some inefficient algorithms or
improving communication between the inappropriate programming languages
developers and users. while developing the prototype.
• 4. There is a great involvement of users• 3. Prototyping can lead to false
in software development. Hence, the expectations. For example, a situation
requirements of the users are met to may be created where the user believes
the greatest extent. that the development of the system is
• 5. Helps in reducing risks associated finished when it is not.
with the software. • 4. The primary goal of prototyping is
speedy development, thus, the system
design can suffer as it is developed in
series without considering integration
of all other components.