| You
are here: Freetutes.com
> Systems
Analysis and Design
Prototyping Software Life Cycle Model
The goal of prototyping based development is to counter the first two limitations
of the waterfall model discussed earlier. 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. 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, since
the interactions with 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 determining the requirements.
In such situations letting the client "plan" with the prototype provides
invaluable and intangible inputs which helps in determining the requirements for
the system. It is also an effective method to demonstrate 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. The process model of the prototyping approach is shown in the
figure below.

Prototyping Model
The basic reason for little common use of prototyping is the cost involved
in this built-it-twice approach. However, some argue that prototyping need not
be very costly and can actually reduce the overall development cost. The prototype
are usually not complete systems
and many of the details are not built in the prototype. The goal is to provide
a system with overall functionality. In addition, the cost of testing and writing
detailed documents are reduced. These factors helps to reduce the cost of developing
the prototype. On the other hand, the experience of developing the prototype will
very useful for developers when developing the final system. This experience helps
to reduce the cost of development of the final system and results in a more reliable
and better designed system.
Advantages of Prototyping
-
Users are actively involved in the development
-
It provides a better system to users, as users have natural tendency to change
their mind in specifying requirements and this method of developing systems supports
this user tendency.
-
Since in this methodology a working model of the system is provided, the users
get a better understanding of the system being developed.
-
Errors can be detected much earlier as the system is mode side by side.
-
Quicker user feedback is available leading to better solutions.
Disadvantages
-
Leads to implementing and then repairing way of building systems.
- Practically, this methodology may increase the complexity of the system as
scope of the system may expand beyond original plans.
Other Software/System Development Life Cycles
<<
Previous Page | Contents
| Next Page >>
|