Softverski Uzori Prototip - Mersiha Grabus

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

SVEUČILIŠTE/UNIVERZITET „VITEZ“ VITEZ

FAKULTET INFORMACIONE TEHNOLOGIJE

STUDIJ I CIKLUSA; GODINA STUDIJA: I CIKLUS: IV GODINA

SMIJER: INFORMACIJSKE TEHNOLOGIJE

SOFTVERSKI UZORI PROTOTIP


SEMINARSKI RAD

IZJAVA: Ja Mersiha Grabus student Sveučilišta/Univerziteta „Vitez“


Vitez, Indeks broj: 0332-15/RIIT odgovorno i uz moralnu i akademsku odgovornost
izjavljujem da sam ovaj rad izradio potpuno samostalno uz korištenje citirane
literature i pomoć profesora odnosno asistenata.

Potpis studenta: _________________

STUDENT: Mersiha Grabus


PREDMET: Softverski uzori
PROFESOR: Prof. Dr. Zoran Avramović
ASISTENT: MA. V.ass. Dragan Mlakić
SADRŽAJ
1. UVOD .................................................................................................................. 1

2. SOFTVERSKI PROTOTIPI ................................................................................ 2

3. PREGLED PROCESA IZRADE PROTOTIPA .................................................. 3

4. DIMENZIJE PROTOTIPA .................................................................................. 3

4.1. HORIZONTALNI PROTOTIP ......................................................................... 3

4.2. VERTIKALNI PROTOTIP .............................................................................. 3

5. TIPOVI PROTOTIPA .......................................................................................... 4

5.1. PROTOTIPIRANJE .......................................................................................... 4

5.2. EVOLUCIJSKA IZRADA PROTOTIPA......................................................... 5

5.3. INKREMENTALNI PROTOTIPI .................................................................... 6

5.4. EKSTREMNA IZRADA PROTOTIPA ........................................................... 6

6. PREDNOSTI I NEDOSTACI IZRADE PROTOTIPA ....................................... 6

6.1. PREDNOSTI ..................................................................................................... 6

6.2. NEDOSTACI .................................................................................................... 7

7. NAJBOLJI PROJEKTI ZA UPOTREBU PROTOTIPA ..................................... 9

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

4.1. HORIZONTALNI PROTOTIP


Uobičajeni termin za prototip korisničkog interfejsa je horizontalni prototip. On
pruža širok pogled na čitav sistem ili podsistem, fokusirajući se na interakciju korisnika više
od funkcionalnosti niskog nivoa sistema, kao što je pristup bazi podataka. Horizontalni
prototipi su korisni za:
 Potvrda zahtjeva korisničkog sučelja i opsega sistema,
 Demonstraciona verzija sistema za dobijanje učešća u poslovanju,
 Razviti preliminarne procjene vremena razvoja, troškova i napora.

4.2. VERTIKALNI PROTOTIP

Vertikalni prototip je poboljšana kompletna izrada jednog podsistema ili funkcije.


Korisno je za dobivanje detaljnih zahtjeva za određenu funkciju, sa sljedećim prednostima:
 Dizajn baze podataka za usavršavanje,
 Pribavljanje informacija o količinama podataka i potrebama sistemskog interfejsa, za
dimenzioniranje mreže i inženjerstvo performansi,
 Pojasnite složene zahtjeve bušenjem do stvarne funkcionalnosti sistema

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

Također se zove prototipiranje zatvorenog tipa. Hrabro ili brzo prototipiranje se


odnosi na stvaranje modela koji će na kraju biti odbačen, a ne postati dio konačnog
isporučenog softvera. Nakon prikupljanja preliminarnih uslova, konstruisan je jednostavan
radni model sistema koji vizuelno pokazuje korisnicima kakvi su njihovi zahtjevi kada se
implementiraju u gotov sistem. To je takođe brza izrada prototipa. Brza izrada prototipa
podrazumijeva kreiranje radnog modela različitih dijelova sistema u vrlo ranoj fazi, nakon
relativno kratke istrage. Metoda koja se koristi u izgradnji obično je prilično neformalna, a
najvažniji faktor je brzina kojom se model nudi. Model tada postaje polazna tačka iz koje
korisnici mogu preispitati svoja očekivanja i razjasniti njihove zahtjeve. Kada je ovaj cilj
postignut, prototipni model se „odbacuje“, a sistem je formalno razvijen na osnovu
identifikovanih zahteva. Najočigledniji razlog za korištenje prototipa je da se to može uraditi
brzo. Ako korisnici mogu dobiti brze povratne informacije o svojim zahtjevima, mogli bi ih
rano rafinirati u razvoju softvera. Unošenje promjena u ranom životnom ciklusu razvoja je
izuzetno isplativo, jer u tom trenutku ne postoji ništa što bi se moglo ponoviti. Ako se
projekat promijeni nakon što se uradi znatna količina posla, male promjene mogu zahtijevati
velike napore da se provedu jer softverski sistemi imaju mnogo zavisnosti. Brzina je presudna
u implementaciji prototipa za bacanje, jer se uz ograničen budžet vremena i novca malo može
potrošiti na prototip koji će biti odbačen. Još jedna snaga prototipa za odbacivanje je njegova
sposobnost da konstruiše interfejse koje korisnici mogu testirati. Korisnički interfejs je ono
što korisnik vidi kao sistem, i kada ga vidi ispred sebe, mnogo je lakše shvatiti kako će sistem
funkcionirati. Tvrdi se da je revolucionarna brza izrada prototipa efikasniji način za rješavanje
problema vezanih za korisničke zahtjeve, a time i veće poboljšanje ukupne produktivnosti
softvera. Zahtjevi se mogu identifikovati, simulirati i testirati mnogo brže i jeftinije kada se
zanemare pitanja evoluabilnosti, održivosti i softverske strukture. To, zauzvrat, dovodi do
precizne specifikacije zahtjeva i naknadne konstrukcije valjanog i upotrebljivog sistema iz
perspektive korisnika, putem konvencionalnih modela razvoja softvera.
Prototipi se mogu klasificirati prema vjernosti s kojom su slični
stvarnom proizvodu u smislu izgleda, interakcije i tajminga. Jedan od načina stvaranja

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.2. EVOLUCIJSKA IZRADA PROTOTIPA

Evolucijska izrada prototipa (poznata i kao prototipiranje) je prilično različita od


prototipa. Glavni cilj prilikom upotrebe evolutivnih prototipa je da se napravi vrlo robustan
prototip na strukturiran način i stalno ga se usavršava. Razlog za ovaj pristup je da evolutivni
prototip, kada je izgrađen, formira srce novog sistema, a zatim će biti izgrađena poboljšanja i
dodatni zahtjevi. Prilikom razvoja sistema koji koristi evolutivne prototipe, sistem se
neprestano usavršava i obnavlja. Ova tehnika omogućava razvojnom timu da doda
karakteristike, ili da napravi promjene koje se ne mogu zamisliti tokom faze zahtjeva i
dizajna. Da bi sistem bio koristan, on se mora razvijati kroz upotrebu u svom predviđenom
operativnom okruženju. Proizvod nikada nije "učinjen"; on uvijek sazrijeva kada se promeni
okruženje upotrebe ... često pokušavamo da definišemo sistem koristeći naš najpoznatiji
referentni okvir - gdje se sada nalazimo. Mi pravimo pretpostavke o tome načinu poslovanja i
tehnološku bazu na kojoj će se poslovanje realizovati. Usvojen je plan da se razvije
sposobnost, i, prije ili kasnije, isporučuje se nešto slično zamišljenom sistemu.
Evolucijski prototipi imaju prednost u odnosu na prototipe koji se vraćaju, jer su funkcionalni
sistemi. Iako oni možda nemaju sve karakteristike koje su korisnici planirali, mogu se koristiti
na privremenoj osnovi dok se ne dostavi konačni sistem. U okruženju za izradu prototipa nije
neobično da korisnik stavi početni prototip u praktičnu upotrebu dok čeka na razvijeniju
verziju ... Korisnik može odlučiti da je pogrešan sistem bolji nego da uopšte nema sistema.

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.

5.3. INKREMENTALNI PROTOTIPI

Finalni proizvod je izgrađen kao poseban prototip. Na kraju, odvojeni prototipi su


spojeni u ukupnom dizajnu. Pomoću inkrementalnih prototipa smanjuje se vremenski razmak
između korisnika i programera.

5.4. EKSTREMNA IZRADA PROTOTIPA

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. PREDNOSTI I NEDOSTACI IZRADE PROTOTIPA

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

Korištenje, ili možda zloupotreba, prototipa također može imati nedostatke.


Nedovoljna analiza: Fokus na ograničeni prototip može odvratiti programere od pravilne
analize kompletnog projekta. To može dovesti do previđanja boljih rješenja, pripreme
nepotpunih specifikacija ili pretvaranja ograničenih prototipa u loše osmišljene završne
projekte koje je teško održavati. Dalje, budući da je prototip ograničen u funkcionalnosti, on
se možda neće dobro proširiti ako se prototip koristi kao osnova za konačnu isporuku, što se
ne može primijetiti ako su programeri previše fokusirani na izradu prototipa kao modela.
Korisnička konfuzija prototipa i gotovog sistema: Korisnici mogu početi da misle da je
prototip, koji se namjerava odbaciti, zapravo konačni sistem koji samo treba da bude završen
ili poliran. (Oni su, na primjer, često nesvjesni napora potrebnih za dodavanje provjera
grešaka i sigurnosnih značajki koje prototip možda nema.) To ih može navesti da očekuju da
prototip precizno modelira performanse konačnog sistema kada to nije namjera programera.
Korisnici se također mogu vezati za funkcije koje su uključene u prototip za razmatranje i
zatim ukloniti iz specifikacije za konačni sistem. Ako korisnici mogu zahtijevati da sve
predložene značajke budu uključene u konačni sistem, to može dovesti do sukoba.
Nerazumijevanje razvojnih ciljeva od strane programera: Programeri mogu pretpostaviti da
korisnici dijele svoje ciljeve (npr. Da isporuče osnovne funkcionalnosti na vrijeme i u okviru
proračuna), bez razumijevanja širih komercijalnih pitanja. Na primjer, predstavnici korisnika
koji prisustvuju Enterprise softveru (npr. PeopleSoft) mogu vidjeti demonstracije "revizije
transakcija" (gdje se promjene zapisuju i prikazuju u prikazu razlike mreže) bez da im se kaže
da ova značajka zahtijeva dodatno kodiranje i često zahtijeva više hardvera za rukovanje
dodatnim pristupima bazama podataka. Korisnici bi mogli vjerovati da mogu zahtijevati
reviziju na svim poljima, dok bi programeri mogli misliti da je to značajka pužanja jer su

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

You might also like