Sei sulla pagina 1di 15

PROTOTYPE METHODOLOGY

S OF T W AR E
DE V E L OPM E N T

This report describe the overview of prototype methodology,


which is used in mostly software development

Gulzeb Zahid
www.gulzeb7.web
s.com
00971558141631

Table of Contents
1

Introduction .................................................................................................................................. 2

Problem Statement ...................................................................................................................... 3

Characteristics .............................................................................................................................. 4

3.1

Initial Requirement................................................................................................................ 4

3.2

Pre-designed Template ....................................................................................................... 4

3.3

Reading client mind ............................................................................................................. 4

3.4

Moral support ........................................................................................................................ 5

3.5

Clear Idea of Product .......................................................................................................... 5

3.6

Base of Structure ................................................................................................................... 5

Prototype Types ............................................................................................................................ 7


4.1

Throw-away prototyping: .................................................................................................... 7

4.2

Evolutionary prototyping: .................................................................................................... 8

4.3

Low fidelity prototyping: .................................................................................................... 11

4.4

High-fidelity prototyping: ................................................................................................... 12

Reference.......................................................................................................................................... 14

1 Introduction
It is a software development life cycle methodology in which user or
customer have not any clear idea about requirement and customer may
change its requirements during the programming process. Customer is well
involved in this methodology. Customer give feed back to the developer
that he need this design of software or not and either he need more
function in software or not. Changes can be made in this methodology and
remade in order to define a clear view of software to customer. When
customer see the design then he recommend to start software procedure.
All this effort is made getting no money for developer until customer is
satisfied with design then developer analyze and start the coding and
implementation.

2 Problem Statement
Question is why developer need prototype methodology? Answers are
simple. Developer have exactly the idea of customers problem throughout
the process of prototyping process as customer may not be some time tell
all of its requirement clearly . Then developer understand it easily and also
can give good suggestion to customer for current problem solving and also
suggest him some good benefits and future using option while knowing
the problem of customer.

3 Characteristics
3.1 Initial Requirement
Another reason to choose the prototype methodology for developer that
from the beginning of software development developer have an initial
view from the requirement of customer that what kind of software
customer want to make, after a little bit changes good developer can
design the software according to client requirement.
3.2 Pre-designed Template
One good reason to use prototype methodology that developer can show
multiple pre-designed software models or prototype to customer and
customer can select from these prototypes and it make it easy for developer
to change that prototype according to customer requirement until client is
satisfied then he can start building original software by coding as he
know all requirements from customers. As there is not much effort need on
pre-built prototypes so they can modify easily and taking not more cost
for customer and saving time for developer and also client have choice to
choose from a list of different type of prototype according to his
requirement or choice.
3.3 Reading client mind
Another reason of using prototype methodology for developer is that when
developer listen and understand the client requirement then design a
prototype software for customer, developer itself know that he can solve
the problem of customer exactly or not and either he can make an actual
software for client which can solve his problem before designing an actual
software, like this it will save time for customer and developer also. If

developer can do this software actually, not in prototype, he can talk to


client about it because developer know his working depth, so he start
making the program. if developer cant understand himself enable to do
this work , he stop the client in order to save his time and client time also.
3.4 Moral support
Another good reason to use prototype is that moral of both customer and
developer is high as client know that work is doing according to his
requirement and developer is happy as he no need to waste time to build
one software and customer not agree and he have to do more work, with
the help of prototype both parties feel free and relax.
3.5 Clear Idea of Product
Another reason for developer to use prototype is to design a layout of
program in prototype, so client can easily recognize the shape and layout,
colors, effects and fonts and style of software while looking at prototype.
What happened in other methodology that developer make a good and
flawless perfect program but some time client do not like the software,
not the function but layout and developer have to do all the work again.
Client sometime like the functions of program, which solve its all of
problem but at the end, client say it is not looking cool, then developer,
have to do his coding and implementation again.
3.6 Base of Structure
One more good reason for developer is to use prototype methodology in
software development life cycle is that developer have a full knowledge of

customer requirement and have a base for start structure of his software,
continue and flawlessly.
[1]

4 Prototype Types
A good Developer can create a functional prototype to show the customer
in just some weeks depending upon client requirement. if we are looking
at other methodologies, it will take months to design a good software, like
this it will save the time and money for client as well as save time and
effort of developer while designing a functional prototype and do some
changing in it. A very good reason to use the prototype that error
detection become very much easy during prototype as developer
understand the client requirement and not doing the same mistake while
working on actual software.
There are many types of prototypes which are given below;
a)
b)
c)
d)

Throw-away prototyping
Evolutionary prototyping
Low fidelity prototyping
High fidelity prototyping

Now all types are described respectively


4.1 Throw-away prototyping:
This type of prototyping is used when only basic and uncompleted
requirement from customer, it is called raw type prototype methodology as
it is not used in final software, it is just used to take the client point of
view and understand the client requirements, when client requirements
are understood then it is thrown in garbage and start the project depend
upon analyzing the customer requirement.

This methodology is used to write the requirement of client as every time


customer change its requirements, all the times its changing and rechanging are written and finally when he says its my baby or that is the
software which I have needed, then all final requirements are written in
scripts and documented so if client say later, I need more changing, he will
be treated well then ;)
It is also known as raw garbage stuff because according to some
developers point of view it is waste of precious time because it cant be
used in actual program but they forget that it will actually save the
developer at the end when client suddenly remember another requirement ,
and they have to do all work again. It might be not useful in programing
or during coding but what if need to give final touch to program and also
compare this prototype with original program and developer find
something different then clients requirement, then he will definitely focus
the prototype to make a program according to customer requirement.
One of great advantage of this prototype is that it is used to reduce the
risk of project. If client is agree on this prototype then project is safe and
project will done according to customer requirement without losing if
client attention as client cant say at the end that it is not according to
my requirement.
[2]

4.2 Evolutionary prototyping:


this type of prototype is used when client have clear requirements in mind
and he explain it and need some examples in order to fix its problems,
developer design a basic model of requirements and show to customer and

when customer agree on requirements the developer start working on this


base model and make it finalize with coding support and test it and also
in between ask the customer for its feed-back in order to carry on his
work.
It is the basic model of customer requirement which is like structure of
program and when customer finalize its structure , developer start to
make a software building on this base and make it ready according to
client requirement.

Fig 1
Main base is ready for program in this type of prototype only what is need
to do , to design and built a structure in a or more better ways in order to

10

complete it before dead line. Satisfaction of client is higher in this type of


system as he knows that he is looking at original software and other
functions are only adding into this plate-form and he is well satisfied
then throw-away prototype methodology as he know that it is only
prototype and not original software and just model and original program
is designed according to this model. But in evolutionary prototyping client
is satisfied that it is main software and work will be completed on main
this software in order to complete it. Client is happy with this prototype
because he knows when this prototype is ready then it will be delivered
soon after testing from developer.
[3]
No documentation is required In this software as all work is done on this
software base model and client interaction is already in progress until this
base model is completed. It need a good management team in order to
lesion with customer and developers and make the things easy for client
and developers. Without proper management this methodology is not
work because if developer let the meet with client then there will be some
fatigue developer or client will feel because may be some time all people
not same and may be they misunderstand each other so it is necessary to
make a management team for that purpose. There are too many changes
are done during this type of methodology and must be keep one
management team to keep track of these changes as may be customer need
these changes restore after some time and if there is no documentation
then it will be problem for clients as well as developer to track changes
and implement again.
[4]

11

4.3 Low fidelity prototyping:


this type of prototyping is used when it is required to show the customer
only layout or style of program. This type of prototype do not require any
type of coding approach. This type of prototype have a basic function for
students or clients to teach them or give them presentation of software
programing or need to communicate within software. This prototype
methodology have very limited functions and it is not the model or base of
software for client. It is like only presentation for client that your
software will be look like so it give only the concept to the client about
the software profile. One best advantage to use this methodology for
developer that he can change the style and can show multiple design of
software to client within minimum time so which one customer choose
from pre-build designs then developer can modify from these multiple
design according to client requirement. As this type of prototype need less
effort so this is the cheapest type prototype available for clients for small
type of software. Best use for this type of prototype is to design the
software for communication software. From this type of prototype
customer requirement can be easily identified. One disadvantage of this
prototype is that navigation from one screen to another or from one
function to another is less or not supported. So error cant be calculated
while using this methodology. It do not provide good enough details for
programming during coding stage.
[5]

12

4.4 High-fidelity prototyping:


this is full function prototyping for client with all function required by
the user are already installed in this prototype. Client can check this
prototype by entering the testing data in entry field and can see what
result of certain button is and can see messages of error and from the
given icon from the developer client can open the software from his
computer and use this system as it is real system with full functionality.
This prototype take more time than other types of prototypes but when
completed, user is more satisfied on this type of prototype. As it will take
more effort from developer to build this type of prototype and also
developer spend a long time to build this prototype so it is necessary for
developer to take the more money for his hard work and thats why this
type of prototype only used for big companies software as they are costly
than others. This type of prototype is not effective to gather continues
changing requirements of customer.
[6]

13

FIG 2
According to my recommendation prototype methodology should be used
for customer when his requirements are changing and he have not any
clear idea about his requirement because it will save time for developer
and save the money for client then the market rate of software
development.

14

5 Reference
[1]
http://www.umsl.edu/~sauterv/analysis/488_f01_papers/Hammer/term
_paper_body.htm visited 20 Apr, 2014
[2] http://it.toolbox.com/blogs/enterprise-solutions/prototyping-types-ofprototypes-14927 visited 21 Apr, 2014
[3] http://istqbexamcertification.com/what-is-prototype-modeladvantages-disadvantages-and-when-to-use-it/ visited 21 Apr, 2014
[4] http://arxiv.org/ftp/arxiv/papers/0803/0803.0162.pdf visited 22Apr,
2014
[5] http://www.tutorialspoint.com/sdlc/sdlc_software_prototyping.htm
visited 23 Apr, 2014
[6] http://en.wikipedia.org/wiki/Software_development_methodology
visited 24 Apr, 2014

Potrebbero piacerti anche