Date post: | 02-Jun-2018 |
Category: |
Documents |
Upload: | saiful-islam-ony |
View: | 214 times |
Download: | 0 times |
of 35
8/10/2019 vu-re-lecture-21.ppt
1/35
1
Prototyping
Lecture # 21
8/10/2019 vu-re-lecture-21.ppt
2/35
2
Prototyping
It is the technique of constructing a
partial implementation of a system so
that customers, users, or developers
can learn more about a problem or a
solution to that problem
8/10/2019 vu-re-lecture-21.ppt
3/35
3
Prototype - 1
An initial version of the system under
development, which is available early
in the development process
A prototype can be a subset of a
system, and vice versa, but they are notthe same
8/10/2019 vu-re-lecture-21.ppt
4/35
4
Prototype - 2
In hardware systems, prototypes are
often developed to test and experiment
with system designs
In software systems, prototypes are
more often used to help elicit andvalidate the system requirements.
There are other uses also
8/10/2019 vu-re-lecture-21.ppt
5/35
5
Prototype - 3
It should be easy for a prototype to be
developed quickly, so that it can be used
during the development process
Prototypes are valuable for requirements
elicitation because users can experiment
with the system and point out its strengthsand weaknesses. They have something
concrete to criticize
8/10/2019 vu-re-lecture-21.ppt
6/35
6
Types of Prototyping
Throw-away prototyping
Evolutionary prototyping
8/10/2019 vu-re-lecture-21.ppt
7/35
7
Throw-away Prototyping - 1
Intended to help elicit and develop the
system requirements
The requirements which should be
prototyped are those which cause most
difficulties to customers and which arethe hardest to understand. Little
documentation is needed
8/10/2019 vu-re-lecture-21.ppt
8/35
8
Throw-away Prototyping - 2
Determine the feasibility of arequirement
Validate that a particular function isreally necessary
Uncover missing requirements
Determine the viability of a userinterface
8/10/2019 vu-re-lecture-21.ppt
9/35
9
Throw-away Prototyping - 3
Writing a preliminary requirements
document
Implementing the prototype based on
those requirements
Achieving user experience withprototype
8/10/2019 vu-re-lecture-21.ppt
10/35
10
Throw-away Prototyping - 4
Writing the real SRS
Developing the real product
8/10/2019 vu-re-lecture-21.ppt
11/35
11
Evolutionary Prototyping - 1
Intended to deliver a workable system
quickly to the customer
The requirements which should be
supported by the initial versions of this
prototype are those which are well-understood and which can deliver
useful end-user functionality
8/10/2019 vu-re-lecture-21.ppt
12/35
12
Evolutionary Prototyping - 2
Documentation of the prototype is
needed to build upon
This process repeats indefinitely until
the prototype system satisfies all needs
and has thus evolved into the realsystem
8/10/2019 vu-re-lecture-21.ppt
13/35
13
Evolutionary Prototyping - 3
Evolutionary prototype may not be
built in a dirty fashion. The
evolutionary prototype evolves into the
final product, and thus it must exhibit
all the quality attributes of the final
product
8/10/2019 vu-re-lecture-21.ppt
14/35
14
Comparison of Prototyping - 1
Throwaway Evolutionary
Developmentapproach
Quick anddirty. No
rigor
No sloppiness.Rigorous
8/10/2019 vu-re-lecture-21.ppt
15/35
15
Comparison of Prototyping - 2
Throwaway Evolutionary
What to build Build onlydifficult parts Buildunderstood
parts first.
Build on solid
foundation
8/10/2019 vu-re-lecture-21.ppt
16/35
16
Comparison of Prototyping - 3
Throwaway Evolutionary
Design drivers Optimize
development
time
Optimize
modifiability
Ultimate goal Throw it away Evolve it
8/10/2019 vu-re-lecture-21.ppt
17/35
17
Prototyping Benefits - 1
The prototype allows users to
experiment and discover what they
really need to support their work
Establishes feasibility and usefulness
before high development costs areincurred
8/10/2019 vu-re-lecture-21.ppt
18/35
18
Prototyping Benefits - 2
Essential for developing the look and
feel of a user interface. Helps
customers in visualizing their
requirements
Forces a detailed study of therequirements which reveals
inconsistencies and omissions
8/10/2019 vu-re-lecture-21.ppt
19/35
19
Prototyping Costs
Training costs
Prototype development may require the
use of special purpose tools
Development costs
Depend on the type of prototype beingdeveloped
8/10/2019 vu-re-lecture-21.ppt
20/35
20
Prototyping Problems - 1
Extended development schedules
Developing a prototype may extend the
schedule although the prototyping time
may be recovered because rework is
avoided
8/10/2019 vu-re-lecture-21.ppt
21/35
21
Prototyping Problems - 2
Incompleteness
It may not be possible to prototype
emergent system requirements
8/10/2019 vu-re-lecture-21.ppt
22/35
22
Additional Benefits of
Prototyping Developing a system prototype is
worth the investment in time and
money Real needs of the customers will be
reflected in the requirements set
Rework will be reduced
Defect prevention
8/10/2019 vu-re-lecture-21.ppt
23/35
23
Developing Prototypes
Conventional system development
techniques usually take too long, and
prototypes are needed early in the
elicitation process to be useful
Rapid development approaches areused for prototype development
8/10/2019 vu-re-lecture-21.ppt
24/35
24
Approaches to Prototyping
Paper prototyping
Wizard of Oz prototyping
Executable prototyping
8/10/2019 vu-re-lecture-21.ppt
25/35
25
Paper Prototyping - 1
A paper mock-up of the system is
developed and used for system
experiments
This is very cheap and very effective
approach to prototype development No executable software is needed
8/10/2019 vu-re-lecture-21.ppt
26/35
26
Paper Prototyping - 2
Paper versions of the screens, which
might be presented to the user are
drawn and various usage scenarios are
planned
For interactive systems, this is veryeffective way to find users reactions
and the required information
8/10/2019 vu-re-lecture-21.ppt
27/35
27
Wizard of Oz Prototyping - 1
A person simulates the responses of thesystem in response to some user inputs
Relatively cheap as only user interfacesoftware needs to be developed
The users interact through this userinterface software and all requests arechanneled to the a person, who simulatesthe systems responses
8/10/2019 vu-re-lecture-21.ppt
28/35
28
Wizard of Oz Prototyping - 2
This is particularly useful for new
systems, which are extensions of
existing software systems, and the
users are familiar with the existing user
interface
The person simulating the system is
called Wizard of Oz
8/10/2019 vu-re-lecture-21.ppt
29/35
29
Executable Prototyping - 1
A fourth generation language or other
rapid development environment is used
to develop an executable prototype
This is an expensive option and
involves writing software to simulatethe functionality of the proposed
system
8/10/2019 vu-re-lecture-21.ppt
30/35
30
Executable Prototyping - 2
4GLs based around database systems
are useful for developing prototypes,
which involve information
management
8/10/2019 vu-re-lecture-21.ppt
31/35
31
Executable Prototyping - 3
Visual programming languages such as
Visual Basic or ObjectWorks
These languages are supported by powerfuldevelopment environments, which include
access to reusable objects and user interface
development utilities. Support for database-oriented applications is not that strong
8/10/2019 vu-re-lecture-21.ppt
32/35
32
Executable Prototyping - 4
Internet-based prototyping solutions
based on WWW browsers and
languages. Here, we a ready-made
user interface and Java applets can be
used to add functionality to the user
interface
8/10/2019 vu-re-lecture-21.ppt
33/35
33
Comments on Prototyping
Prototyping interactive applications is
easier than prototyping real-time
applications
Prototyping is used better to
understand and discover functional
requirements, as compared to non-
functional requirements
8/10/2019 vu-re-lecture-21.ppt
34/35
34
Summary
Discussed different aspects of prototyping,
its types, and how it is useful in
requirements engineering, particularlyrequirements elicitation
We also discussed approaches to
prototyping: paper prototyping, Wizard ofOz prototyping, and automated
prototyping
8/10/2019 vu-re-lecture-21.ppt
35/35
35
References
Software Engineering: A
Practitioners Approach by R.
Pressman, PH 2000
Requirements Engineering: Processes
and Techniques by G. Kotonya and I.
Sommerville, John Wiley & Sons,
1998