LECTURE-3 (MODULE 1) - Modified
LECTURE-3 (MODULE 1) - Modified
Prototype development:
• Prototype development starts with an initial requirements
gathering phase.
• A quick design is carried out and a prototype is built.
• The developed prototype is submitted to the customer for
evaluation.
• Based on the customer feedback, the requirements are
refined and the prototype is suitably modified.
• This cycle of obtaining customer feedback and modifying
the prototype continues till the customer approves the
prototype.
Iterative development:
• Once the customer approves the prototype, the actual
software is developed using the iterative waterfall
approach.
• In spite of the availability of a working prototype, the SRS
document is usually needed to be to be developed since the
SRS document is invaluable for carrying out traceability
analysis, verification, and test case design during later phases.
• However, for GUI parts, the requirements analysis and
specification phase becomes redundant since the working
prototype that has been approved by the customer serves as
an animated requirements specification.
• The code for the prototype is usually thrown away.
However, the experience gathered from developing the
prototype helps a great deal in developing the actual
system.
Even though the construction of a throwaway
prototype might involve incurring additional cost,
but for systems with unclear customer requirements
and for systems with unresolved technical issues, the
overall development cost usually turns out to be
lower compared to an equivalent system developed
using the iterative waterfall model from the
customer and the associated redesign costs.
By constructing the prototype and submitting it for user
evaluation, many customer requirements get properly
defined and technical issues get resolved by
experimenting with the prototype. This minimises later
change requests from the customer and the associated
redesign costs.
Strengths
Most appropriate for projects that suffer from
technical and requirements risks. A constructed
prototype helps overcome these risks.
The prototyping model is considered to be useful for the
development of GUI parts of a software, but also
Helps developers for a software project for which certain
technical issues are not clear to the development
team.
Though the construction of a throwaway prototype might
involve incurring additional cost, but the overall
development cost usually turns out to be lower
compared to an equivalent system developed using
the iterative waterfall model from the customer and
the associated redesign costs.
Prototyping Model:
Advantages:
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.
Weaknesses
The prototype model can increase the cost of
development for projects that are routine development
work and do not suffer from any significant risks.
Even when a project is susceptible to risks, the
prototyping model is effective only for those projects for
which the risks can be identified upfront before the
development starts.
Since the prototype is constructed only at the start
of the project, the prototyping model is ineffective
for risks identified later during the development
cycle.
Disadvantages:
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
Evolutionary Process Model