0% found this document useful (0 votes)
13 views

Lec 9 (Prototyping)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Lec 9 (Prototyping)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

Prototyping Defined

Prototyping is the process of quickly putting together a


working model (a prototype) in order to test various
aspects of a design, illustrate ideas or features and
gather early user feedback.- Wikipedia

IEEE defines prototyping as “ A type of development


in which emphasis is placed on developing prototypes
early in the development process to permit early
feedback and analysis in support of the development
process.”
Need for prototyping
Enables us to explore the problem space with the
stakeholders.
 As a requirements artifact to initially envision
the system.
As a design artifact that enables us to explore the
solution space of your system.
 A vehicle for you to communicate the possible
design(s) of your system.
 A potential foundation from which to continue
developing the system
Advantages & Disadvantages of
Prototyping
Advantages Disadvantages
Users can try the system and Each iteration builds on the previous
provide constructive feedback iteration and further refines the
during development solution. This makes it difficult to
reject the initial solution as
inappropriate and start over.
An operational prototype can be Formal end-of-phase reviews do not
produced in weeks occur. Thus, its is very difficult to
contain the scope of the prototype.
Users become more positive about System documentation is often
implementing the system as they see absent or incomplete, since the
a solution emerging that will meet primary focus is on development of
their needs the prototype.
Prototyping enables early detection System backup and recovery,
of errors performance, and security issues
can be overlooked.
Reference: http://facpub.stjohns.edu/~wolfem
Journey of the Prototyping process
Functionali
ty Evaluate

Goals
Develop
Types of prototyping
Throw-away Prototyping
Evolutionary Prototyping
Low Fidelity Prototyping
High Fidelity Prototyping
Throw Away Prototype
 Throw Away Prototype is developed from the initial
requirements but is not used for the final project.

 Written specifications of the requirements

 Some developers believe that this type is a waste of time


because you don’t use it.

 Regardless if prototype is discarded or kept for production,


you must use a easy to use language.
Advantages & Disadvantages
Advantages Disadvantages

Significantly reduce project The prototype actually does


risk nothing, its just
presentational.

Has a short project timeline Only for a limited purpose

Starting become a thing of


the past. Not getting used
as much now.
Evolutionary Prototype
 Evolutionary prototyping is consider the most fundamental
form of prototyping.

 Evolutionary prototyping main concept is to build a robust


prototype and constantly improve it.

 Objective to deliver a working system to the end user.

 According to Steve McConnell, "evolutionary delivery is a


lifecycle model that straddles the ground between
evolutionary prototyping and staged delivery."
Evolutionary Delivery

Rapid Development, Taming Wild Software Schedules, by Steven McConnell, Press 1996
Evolutionary Prototyping phases
Advantages
You are always looking for new ways to improve
the system.

This model increases the chance of having the


client satisfied with the working system.

The model can be used even when the


requirements are not defined.

Quicker delivery of the system


Disadvantages
 This method can be used to avoid documenting the
requirements of the system.

 Management is required

 Long term maintenance can be expensive

 Uncertain design idea’s

 Information can be lost through so many improvement


changes
Low-fidelity Prototyping
 Low-fidelity prototyping is generally limited function,
limited interaction prototyping effort.

 They are constructed to depict concepts, design


alternatives and screen layouts. They are intended to
demonstrate general look and feel of the interface.

 They are created to educate , communicate and inform, but


not to train, test or serve as a basis for which to code.

 Low fidelity prototyping is used early in the design cycle to


show general conceptual approaches without much
investment in development.

Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
High-Fidelity Prototyping
 High-fidelity prototypes represent the core functionality of
the products user interface.

 High fidelity prototypes are fully interactive systems. Users


can enter data in entry fields, respond to messages, select
icon to open windows and interact with user interface as if it
were a real system.

 They trade-off speed for accuracy.

 Building high fidelity prototypes consume resources and


have high cost.

Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
Comparison of two prototyping
efforts

Low vs. High Fidelity Prototyping Debate, Rudd J., Stern K.,Isensee S., ACM Interactions, Jan. 1996
Prototyping-based Methodology

An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
Prototyping as methodology for
systems development
 A preliminary design of the system is built using throw-away
prototyping.

 Demonstrations to end users, as well as investigations on this prototype,


allows for the design of more precise requirements as well as the
evaluation of techniques to be used in the final system.

 Refinements on throw-away prototype concerning the requirements are


done.

 Evolutionary prototyping used to build a model prototype (an accurate


and complete description of the system). These prototypes can be
studied under various simulated conditions.

 Refinement on model prototype, concerning the actual system, is done


and final system is rolled out after testing.
An Introduction to Rapid System Prototyping, Fabrice Kordon and Luqi, IEEE Transactions on Software Engineering, Vol.28, No.9, Sep 2002
Risks in Prototyping
 Client may believe that system is real.
 Unrealistic expectations of the progress

 Implementers make poor choice


 Justified in prototype but not in real system
 Tempting to build real system same way

 Prototype is not identical to the real system


 Users may interact differently due to different
response characteristics
 Must interpret prototype experience with care
Do we need prototyping??
Two “points of interest” for companies to adopt prototyping based
methodologies are:

 Point 1: They allow us to reduce the cost and time-to-market of a


system.

 Point 2: For companies building critical systems, prototyping would


help them perform formal verification when required. These
methodologies provide high level of reliability in the system design
and implementation.
Bibliography
Baumer, B. (1996). User Interface prototyping-
Concepts, Tools, and Experience. Proceedings of ICSE ,
18, 532-541.
Hoffer, J. J. (2007). Modern Systems Analysis and
Design. Reading,MA: Prentice Hall Publishing Company.
Luqui, V. Berzins (1988).Rapidly prototyping Real-Time
System.IEEE Software, September 1998, 25-36.
SoftDevTeam. (2006). Evoutionary Prototyping Model.
Retrieved 04 12, 2008, from
http://www.softdevteam.com
Sommerville, I. (2000). Software Engineering. Pearson
publications.

You might also like