Professional Documents
Culture Documents
Softverski Uzori Prototip - Mersiha Grabus
Softverski Uzori Prototip - Mersiha Grabus
Softverski Uzori Prototip - Mersiha Grabus
8. ZAKLJUČAK .................................................................................................... 10
1. UVOD
Prototipiranje je vitalni dio razvoja weba i aplikacija. Sastoji se od različitih faza
razvoja sa svojim odgovarajućim skupom funkcionalnosti. Pristup softverskim prototipima
omogućava korisnicima da iskuse faze proizvoda sa ograničenim funkcionalnostima tokom
procesa razvoja. To su početni modeli koji pružaju ograničeni funkcionalni i vizuelni izgled
cjelokupnog web dizajna ili proizvoda.
1
2. SOFTVERSKI PROTOTIPI
Softverski prototipi su aktivnosti kreiranja prototipa softverskih aplikacija, tj.
nepotpune verzije softvera koji se razvija. To je aktivnost koja se može pojaviti u razvoju
softvera i može se usporediti s prototipima kao što je poznato iz drugih područja, kao što su
mašinstvo ili proizvodnja. Prototip tipično simulira samo nekoliko aspekata i može biti
potpuno različit od konačnog proizvoda. Prototipiranje ima nekoliko prednosti: softverski
dizajner i implementator mogu dobiti vrijedne povratne informacije od korisnika početkom
projekta. Klijent i izvođač mogu da uporede da li je softver koji je napravljen odgovara
softverskoj specifikaciji, prema kojoj je softverski program izgrađen. Također omogućava
softverskom inžinjeru da stekne uvid u tačnost početnih projektnih procjena i da li se mogu
uspješno ispuniti predloženi rokovi i prekretnice. Stepen kompletnosti i tehnike koje se koriste
u izradi prototipa su u razvoju i debati od njegovog prijedloga početkom 1970-ih. Svrha
prototipa je omogućiti korisnicima softvera da procijene prijedloge programera za dizajn
eventualnog proizvoda tako što će ih zapravo isprobati, umjesto da moraju interpretirati i
ocjenjivati dizajn na temelju opisa. Softverski prototipi pružaju razumijevanje funkcija
softvera i potencijalnih prijetnji ili problema. Prototipi se također mogu koristiti od strane
krajnjih korisnika da opišu i dokažu zahtjeve koji nisu razmatrani, a koji mogu biti ključni
faktor u komercijalnim odnosima između programera i njihovih klijenata. Dizajn interakcije
posebno čini upotrebu prototipa tim ciljem. Ovaj proces je u kontrastu sa monolitnim
razvojnim ciklusom iz 1960-ih i 1970-ih, koji je prvo izgradio cijeli program, a zatim otkrio
bilo kakve nedosljednosti između dizajna i implementacije, što je dovelo do većih troškova
softvera i loše procjene vremena i troškova. Pristup je nazvan "Ubijanje (softverske) Dragon"
tehnike, budući da pretpostavlja da je softverski dizajner i programer jedan heroj koji mora da
ubije samog zmaja sam. Prototipi također mogu da izbjegnu veliki trošak i poteškoće u
promijeni gotovog softverskog proizvoda. Rani primjer velikih softverskih prototipa bio je
implementacija NYU Ada / ED prevodioca za programski jezik Ada. Implementiran je u
SETL-u s namjerom proizvodnje izvršnog semantičkog modela za Ada jezik, naglašavajući
jasnoću dizajna i korisničkog sučelja u odnosu na brzinu i učinkovitost. NYU Ada / ED
sistem bio je prva validirana Ada implementacija, certificirana 11. aprila 1983. godine.
2
3. PREGLED PROCESA IZRADE PROTOTIPA
Proces izrade prototipa uključuje sljedeće korake:
1. Identificirajte osnovne zahtjeve - Odredite osnovne zahtjeve, uključujući željene
ulazne i izlazne informacije. Detalji, kao što je bezbijednost, obično se mogu
zanemariti.
2. Razviti početni prototip - Razvijen je početni prototip koji uključuje samo korisnička
sučelja.
3. Pregled - Kupci, uključujući krajnje korisnike, ispituju prototip i daju povratne
informacije o mogućim dodacima ili promjenama.
4. Revidirati i poboljšati prototip - Koristeći povratne informacije mogu se poboljšati i
specifikacije i prototip. Pregovaranje o tome šta je u okviru ugovora / proizvoda može
biti neophodno. Ako se uvedu promjene, možda će biti potrebno ponavljanje koraka #
3 i # 4.
4. DIMENZIJE PROTOTIPA
3
5. TIPOVI PROTOTIPA
Softverski prototipi imaju mnogo varijanti. Međutim, sve metode su na neki način
zasnovane na dva glavna oblika izrade prototipa: prototipa bacanja i evolutivnih prototipa.
5.1. PROTOTIPIRANJE
4
prototipa niskog vjernog bacanja je prototipiranje papira. Prototip je implementiran
upotrebom papira i olovke, i tako oponaša funkciju stvarnog proizvoda, ali ne izgleda kao da
je sve to. Još jedan način da se lako izgrade prototipi za vraćanje visoko vjernosti je da se
koristi GUI Builder i kreira dummy klik, prototip koji izgleda kao ciljni sistem, ali ne pruža
nikakvu funkcionalnost. Upotreba storyboards-a, animacije ili crteža nije sasvim ista kao
prototipiranje, ali svakako spada u istu porodicu. To su nefunkcionalne implementacije, ali
pokazuju kako će sistem izgledati. U ovom pristupu prototip je konstruisan sa idejom da će
biti odbačen i konačni sistem će biti izgrađen od nule. Koraci u ovom pristupu su:
Napišite preliminarne zahtjeve
Dizajnirajte prototip
Korisnik doživljava / koristi prototip, specificira nove zahtjeve
Ponovite ako je potrebno
Napišite konačne zahtjeve
5
U evolutivnim prototipima, programeri mogu da se fokusiraju na razvoj dijelova sistema koje
razumiju umjesto da rade na razvoju cijelog sistema. Da bi se rizik sveo na najmanju moguću
mjeru, programer ne implementira slabo razumljive dijelove. Djelimični sistem se šalje na
lokacije korisnika. Kako korisnici rade sa sistemom, oni otkrivaju mogućnosti za nove
funkcije i daju zahtjeve za tim mogućnostima programerima. Programeri zatim uzimaju ove
zahtjeve za poboljšanje zajedno sa svojim vlastitim i koriste praksu upravljanja zvukom kako
bi promijenili specifikaciju softverskih zahtjeva, ažurirali dizajn, rekodirali i ponovo testirali.
Ekstremni prototipi kao razvojni proces koriste se posebno za razvoj web aplikacija.
U osnovi, on razlaže web razvoj na tri faze, svaka bazirana na prethodnoj. Prva faza je statički
prototip koji se uglavnom sastoji od HTML stranica. U drugoj fazi, ekrani su programirani i
potpuno funkcionalni koristeći simulirani sloj usluga. U trećoj fazi, usluge se sprovode.
Proces se naziva ekstremna izrada prototipa kako bi se skrenula pažnja na drugu fazu procesa,
gdje se potpuno funkcionalan korisnički interfejs razvija sa vrlo malo pažnje na usluge koje
nisu njihovi ugovori.
6.1. PREDNOSTI
Postoje mnoge prednosti korištenja prototipa u razvoju softvera - neke opipljive,
neke apstraktne. Smanjeno vrijeme i troškovi: Prototipiranje može poboljšati kvalitetu
zahtjeva i specifikacija koje su dane programerima. Budući da su promjene trošak
eksponencijalno više implementirati kako se kasnije otkrivaju u razvoju, rano određivanje
onoga što korisnik zaista želi može rezultirati bržim i jeftinijim softverom. Poboljšano i
6
povećano uključivanje korisnika: Prototipiranje zahtjeva uključivanje korisnika i omogućava
im da vide i komuniciraju sa prototipom koji im omogućava da pruže bolje i potpunije
povratne informacije i specifikacije. Prisustvo prototipa koji ispituje korisnik sprečava mnoge
nesporazume i nesporazume koji se javljaju kada svaka strana veruje da drugi razumije ono
što su rekli. Budući da korisnici bolje poznaju domenu problema od bilo koga u razvojnom
timu, povećana interakcija može rezultirati konačnim proizvodom koji ima veći opipljiv i
neopipljiv kvalitet. Konačni proizvod će vjerovatno zadovoljiti želju korisnika za izgledom,
osjećajem i performansom.
6.2. NEDOSTACI
7
napravili pretpostavke o opsegu korisničkih zahtjeva. Ako je programer obavezao isporuku
prije nego što su zahtjevi korisnika pregledani, programeri se nalaze između stijene i tvrdog
mjesta, pogotovo ako upravljanje korisnicima proizvede neku prednost zbog neuspjeha u
provedbi zahtjeva. Prilog razvojnog programera prototipu: Programeri se mogu priključiti i
prototipima koje su proveli mnogo truda u proizvodnji; to može dovesti do problema, kao što
je pokušaj pretvaranja ograničenog prototipa u konačni sistem kada nema odgovarajuću
temeljnu arhitekturu. (Ovo može da sugeriše da se prototipi bacanja, a ne evolutivni prototipi,
trebaju koristiti.) Pretjerano vrijeme razvoja prototipa: Ključno svojstvo za izradu prototipa je
činjenica da se to treba obaviti brzo. Ako developeri izgube iz vida ovu činjenicu, oni vrlo
dobro mogu pokušati razviti prototip koji je previše složen. Kada prototip bude odbačen,
precizno razvijeni zahtjevi koje on pruža možda neće dovesti do dovoljnog povećanja
produktivnosti da bi se nadoknadilo vrijeme provedeno u razvoju prototipa. Korisnici se mogu
zaglaviti u debatama o detaljima prototipa, držeći razvojni tim i odlažući konačni proizvod.
Troškovi implementacije prototipa: Početni troškovi za izgradnju razvojnog tima fokusiranog
na prototipe mogu biti visoki. Mnoge kompanije imaju razvijene metodologije, a njihovo
mijenjanje može značiti prekvalifikaciju, obnavljanje ili oboje. Mnoge kompanije imaju
tendenciju da jednostavno počnu sa izradom prototipa, a da ne uznemiravaju svoje radnike
koliko bi trebalo. Uobičajen problem kod usvajanja tehnologije za izradu prototipa su visoka
očekivanja u pogledu produktivnosti sa nedovoljnim naporom iza krivulje učenja. Pored
obuke za upotrebu tehnike izrade prototipa, često se previđa potreba za razvojem korporativne
i projektno specifične strukture koja podržava tehnologiju. Kada se ova temeljna struktura
izostavi, može rezultirati niža produktivnost.
8
7. NAJBOLJI PROJEKTI ZA UPOTREBU PROTOTIPA
Tvrdilo se da bi se prototipi, u nekom ili drugom obliku, trebali koristiti svo vrijeme.
Međutim, izrada prototipa je najkorisnija u sistemima koji će imati mnogo interakcija sa
korisnicima. Utvrđeno je da je izrada prototipa veoma efikasna u analizi i dizajnu on-line
sistema, posebno za obradu transakcija, gde je upotreba dijaloga na ekranu mnogo više
dokazana. Što je veća interakcija između računara i korisnika veća je korist od toga što se
može dobiti izgradnjom brzog sistema i puštanjem korisnika u igru. Sistemi sa malom
interakcijom korisnika, kao što su grupna obrada ili sistemi koji uglavnom rade izračunavanja,
imaju malo koristi od izrade prototipa. Ponekad, kodiranje potrebno za izvođenje funkcija
sistema može biti previše intenzivno i potencijalni dobici koje bi prototipi mogli pružiti su
premali. Prototipiranje je posebno dobro za dizajniranje dobrih interfejsa između ljudi i
računara. Jedna od najproduktivnijih upotreba brzih prototipa do sada je bila alat za iterativno
inžinjerstvo korisničkih zahtjeva i dizajn interfejsa čovjek-računar.
9
8. ZAKLJUČAK
Prototip je radni model softvera sa ograničenom funkcionalnošću. Prototip ne sadrži
uvijek tačnu logiku koja se koristi u stvarnoj softverskoj aplikaciji i predstavlja dodatni napor
da se razmotri u okviru procjene napora. Prototipiranje se koristi kako bi se omogućilo
korisnicima da procijene prijedloge programera i isprobaju ih prije implementacije. Također
pomaže da se razumiju zahtjevi koji su specifični za korisnika i da ih programer nije
razmatrao tokom dizajna proizvoda.
.
10
LITERATURA
Popis korištene literature:
Tekstovi s interneta:
1. https://www.tutorialspoint.com/sdlc/sdlc_software_prototyping.htm
(08.08.2019.)
2. https://www.quora.com/What-is-a-software-prototype (08.08.2019.)
3. https://www.mockplus.com/blog/post/software-prototyping-tools
(08.08.2019.)
4. https://www.geeksforgeeks.org/software-engineering-prototyping-model/
(08.08.2019.)
5. https://www.dcslsoftware.com/need-software-prototype/ (08.08.2019.)
6. https://t4tutorials.com/software-prototypes-software-engineering/
(08.08.2019.)
11