Page 60 - DCAP405_SOFTWARE_ENGINEERING
P. 60
Unit 4: Evolutionary Process Models
4.2 Prototyping Model Notes
Since waterfall model shows some constraints; we study prototyping to counter these problems.
The goal of a prototyping-based development process is to counter the first two limitations of
the waterfall model. The basic idea here is that instead of freezing the requirements before any
design or coding can proceed, a throwaway prototype is built to help understand the
requirements. 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. This results in more stable requirements
that change less frequently.
Did u know? What is the basic idea of prototyping model?
The basic idea here is that instead of freezing the requirements before a design or coding
can proceed, a throwaway prototype is built to understand the requirements.
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. In such situations, letting the
client “play” with the prototype provides invaluable and intangible inputs that help determine
the requirements for the system. It is also an effective method of demonstrating the feasibility
of a certain approach. This might be needed for novel systems, where it is not clear that constraints
can be met or that algorithms can be developed to implement the requirements. In both situations,
the risks associated with the projects are being reduced through the use of prototyping. The
process model of the prototyping approach is shown in Figure 4.2.
Figure 4.2: The Prototyping Model
Requirement
Analysis
Design Design Code Test
Code
Test
Requirement
Analysis
A development process using throwaway prototyping proceeds as follows. The development of
the prototype 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 and of which 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. Based on their experience,
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 prototypers and analysts, the benefit from further changing the system and obtaining
feedback is outweighed by the cost and time involved in making the changes and obtaining the
feedback. Based on the feedback, the initial requirements are modified to produce the final
requirements specification, which is then used to develop the production quality system.
LOVELY PROFESSIONAL UNIVERSITY 53