26
CHAPTER 1
Introduction to Software Engineering
Table 1.3
Comparison of Prototyping Strategies
Traditional Engineering
Software Practices
Disadvantages
*
Proof of concept prototype
is used to test some
aspect of the intended
design without attempting
to exactly simulate the
visual appearance, choice
of materials, or intended
manufacturing process.
Rapid prototyping
refers to the creation
of a model that
will eventually be
discarded rather
than becoming part
of the final delivered
software.
Working prototypes
continually are tweaked,
enhanced, and incorporated
into the final product.
Form study prototype allows
designers to explore the
basic size, look, and feel of
a product without simulating
the actual function or exact
visual appearance of the
product.
Evolutionary
prototyping
constructs a very
robust prototype in a
structured manner and
constantly refines it.
Evolutionary prototyping
acknowledges that the
requirements are not well
understood and pays
attention only to those that
are well comprehended.
Visual prototype will capture
the intended design aesthetic
and simulate the appearance,
color, and surface textures
of the intended product but
will not actually embody
the function(s) of the final
product.
The final product
is built as separate
prototypes and the
separate prototypes
are merged in an
overall design.
Overall software architecture
does not exist and product
performance cannot
be ascertained until the
prototypes are integrated
and tested.
The full-scale prototype and
the ultimate test of concept
is the engineers’ final check
for design flaws and allows
last-minute improvements
to be made before larger
production runs are ordered.
The focus on a limited
prototype can distract
developers from properly
analyzing the complete
project. This can lead
to overlooking better
solutions, preparation of
incomplete specifications,
or the conversion of limited
prototypes into poorly
engineered final projects that
are hard to maintain.
User experience model
invites active human
interaction and is primarily
used to assess how potential
users interact with various
elements, motions, and
actions of a design concept.
Prototyping is supposed to
be done quickly. Developers
may try to develop a
prototype that is too
complex. Users can vacillate
over details of the prototype,
holding up the development
team and impeding
development progress.
*See
http://en.wikipedia.org/wiki/Software_prototyping
.
Do'stlaringiz bilan baham: |