Prototüüp on tarkvara mooduli või süsteemialgne versioon, mida saab kasutada erinevate disainivõimaluste või ideede demonstreerimiseks.
Prototüüpe on võimalik kasutada erinevates arendusfaasides- näiteks nõuete etapil nende leidmiseks ja sobivuse tuvastamiseks,
disainimisel valikuvõimaluste uurimiseks ja kasutajaliidese planeerimiseks.
Prototüüpimise tulemusel on võimalik saavutada parem kasutusmugavus, täpsem vastamine kasutaja tegelikele vajadustele, kvaliteetsem ja
lihtsamini hooldatav toode ning ka toote lõplikule arendamisele kuluv ressurss.
Prototüüpimisel on järgmised etapid:
Nõuete kogumine -
tehakse üldisemalt samajal ajal fikseerides, mis vajab kindlasti edaspidi täpsustamist.
Kiire kavandamine -
keskendutakse nähtavale osale (sisend, väljund, vormid jms) ja selle tulemuseks
on prototüüp. Klient hindab prototüüpi ning saab anda tagasisidet, kas see vastab ootustele, mida parendada
või mis osutub ebavajalikuks.
Iteratsioon parandamiseks -
parandatakse prototüüpi, kuni see rahuldab kasutajat ning vastab tema
ootustele. Samal ajal on võimalik arendajal omandada uusi teadmisi kliendi soovide kohta
arendusmudeli joonis
Prototüübi arendamisel on oluline selle loomise kiirus ning selleks kasutatakse abivahendina kiire prototüüpimise
keeli ja tööriistu. See ei pea sisaldama kõike, mis on oluline lõpp-tootes, vaid keskendutakse sellele, mida on vaja
esile tuua, et paremini mõista või näha. Prototüüp ei sisalda vigade kontrolli, see on suunatud funktsionaalsusele.
Prototüüpidel on erinevad põhimõtted:
ühekordne prototüüpimine
(throw away prototyping)
evolutsiooniline prototüüpimine
(evolutionary prototyping)
lisanduv prototüüpimine
(incremental prototyping)
Ühekordsed prototüübid likvideeritakse peale loomist, sest nad ei ole heaks aluseks tegelikule arendusele-
näiteks ei saa nende alusel täita funktsionaalseid nõudeid, selle struktuur ei sobi edasiseks arenduseks
ega vasta ka muudele kvaliteedinõuetele.
Kokkuvõttes- erinevalt koskmudelist ei koostata iteratiivsete arendusmudelite järgi esmalt suuremahulist ja kõikehõlmavat
analüüsi, mis sisaldab muutumatuid vajadusi ning kinnitatakse kliendi ja arendaja vahel range dokument, mis takistab
vajadusel plaanis muudatuste tegemist. Iteratiivsed mudelid võimaldavad vajadusel teha süsteemis muudatusi, saada kasutajatelt
pidevalt tagasisidet, testida projekti varajases järgus süsteemi ülesehituse sobivust jms.
Ei ole olemas ühte kõige paremat arendusmudelit. Otsus, milline mudel valida, sõltub konkreetsest projektist:
lõpptootest, meeskonna oskustest ja teadmistest, ajagraafikust ning kliendi vajaduse selgusest ja stabiilsusest.