You are on page 1of 10

ITERATIVNI FAZNI RAZVOJ

STUDENT: DINNO BOBIĆ


UVOD

• Softverski proizvod je skup računalnih programa i pripadajuče dokumentacije, stvoren zato da bi se


prodao. Može biti razvijen za sasvim određenog korisnika (engleski bespoke product, customized product)
ili općenito za tržište (engleski generic product). Softverski proizvod često ćemo kraće nazivati softver ili
(softverski) sistem.

• Za današnji softver se podrazumijeva da on mora biti kvalitetan. Preciznije, od softverskog proizvoda se


očekuje da posjeduje sljedeće kvalitet:
Mogučnost održavanja. Softver se mora moći mijenjati u skladu s promijenjim potrebama korisnika.
Pouzdanost i sigurnost. Softver se mora ponašati na predvidiv način, te ne smije izazivati fiziče ili
ekonomske štete.
Efikasnost. Softver mora imati zadovoljavajuće perfomanse, te on treba upravljati strojnim resursima na
štedljiv način.
Upotrebljivost. Softver treba raditi ono što korisnic od njega očekuju, interfejs mu treba biti
zadovoljavajuće, te za njega mora postojati dokumentacija.
MODELI

•U svim modelima više ili manje su prisutne sljedeće osnovne aktivnosti koje čine softverski proces:
Specifikacija - analiziraju se zahtjevi korisnika. Utvrđuje se što softver treba raditi.
Oblikovanje (engleski design) - oblikuje se građa sistema, način rada komponenti, te interfejs između
komponenti. Dakle projektira se rješenje koje određuje kako će softver raditi. 
Implementacija (programiranje) - oblikovano rješenje realizira se uz pomoć raspoloživih
programskih jezika i alata.
Verifikacija i validacija. Provjerava se da li softver radi prema specifikaciji, odnosno da li radi ono sto
korisnik želi. Obično se svodi na testiranje, mada postoje i druge tehnike.
Održavanje odnosno evolucija. Nakon uvođenja u upotrebu, softver se dalje popravlja, mijenja i
nadograđuje, u skladu s promijenjenim potrebama korisnika.
VODOPAD

• Model vodopada je uveo W. Royce 1970. godine. Prema njemu razvoj softvera zahtjeva sistematičan
pristup, jer se odvija po strogo definisanom sekvencijalnom redoslijedu koraka, postepenim
prevođenjem rezultata od prve do poslednje faze razvoja softvera.
MODEL V

• V model (nemačko Ministarstvo odbrane, 1992.) je modifikovani kaskadni model koji pokazuje odnos
testiranja i faza analize i projektovanja, čineći eksplicitnim neke povratne sprege koje su skrivene u
kaskadnom modelu.
SPIRALNI MODEL

• Spiralni model je razvijen od. B Boehma 1988. godine, da bi se objedinile dobre osobine modela
vodopada i modela prototipskog razvoja uz istovremeno uključivanje aktivnosti analize rizika.
DINAMIČNI MODEL
• Dinamika sistema je pristup koji je uveo Forrester 1950. godine, koji se koristi za simulaciju raznih
procesa, uključujući ekološke, ekonomske i političke sisteme (Forrester 1991). Abdel-Hamid i
Madnick su primjenili dinamiku sistema na razvoj softvera, omogućavajući rukovodiocima projekta da
„istestiraju” svoje odluke vezane za proces, prije nego što ih proslijede projektnom timu (Abdel-Hamid
1989; Abdel-Hamid i Madnick 1991).
KOMBINOVANI MODEL

• Naprijed opisani modeli su uglavnom prikazivani kao alternativni, a manje kao komplementarni
modeli softverskog inženjeringa. Međutim, u mnogim situacijama modeli se mogu kombinovati tako
da se postignu prednosti od svih na samo jednom projektu. Spiralni model je i sam primjer dobre
kombinacije dva modela, ali i drugi modeli mogu poslužiti kao osnova na koju će se integrisati neki
modeli.
ZAKLJUCAK

•U okviru ovog seminarskog rada dat je kratki pregled metoda koje se koriste kod razvoja softvera.
•Uglavnom sve analizirane metode sadrže slične faze pri razvoju.
•Glavna razlika ovih metoda je u pristupu prema realizaciji određenog problema. Kao što se pokazalo, različiti
pristupi imaju svoje dobre i loše strane. Kod Waterfall modela razvoj teče kontinuirano iz faze u fazu, što rezultira
otklanjanjem grešaka u ranim fazama razvoja, ali i slabijom mogućnosti procjene troškova i potrebnog vremena za
razvoj softvera. XP metoda ima manju osjetljivost na promjene zahtijeva tijekom same realizacije projekta, što
uvelike može smanjiti troškove, ali ima veću osjetljivost na bugove jer se faze ne realiziraju tako temeljito kao kod
npr. Waterfall modela.
• Metoda koja se oslanja na korisničko iskustvo najveće napore ulaže u ostvarivanje
kvalitetne komunikacije s korisnikom, te prepoznavanje onoga što korisnik želi. Pokazalo
se u praksi da ovaj pristup nije uvijek pogodan zbog toga što su klijenti vrlo često
„zbunjeni“ i ne mogu precizno i točno definirati namjenu koju bi njihov softver trebao
imati. Sve opisane metode su još uvijek u upotrebi, iako neke češće, neke rjeđe.

• Na programskom inženjeru ostaje da prema raspoloživim resursima i danim zahtjevima


odabere odgovarajuću metodu kojom će se poslužiti pri razvoju softvera, kako bi se proces
razvoja maksimalno optimizirao.

You might also like