Metodologija vodopada vs RUP
Postoji niz različitih metodologija razvoja softvera koje se danas koriste u softverskoj industriji. Vodopadna metoda razvoja je jedna od najranijih metoda razvoja softvera. Vodopadna metodologija razvoja softvera je sekvencijalni model u kojem se svaka faza u potpunosti dovršava i prati fiksnim redoslijedom. RUP (Rational Unified Process) je prilagodljiv procesni okvir iterativnih metodologija razvoja softvera. RUP se bavi nekoliko kritika razvoja vodopada kao što je krutost.
Šta je Waterfall metodologija?
Waterfall metodologija je jedan od najranijih modela razvoja softvera. Kao što ime govori, to je sekvencijalni proces u kojem napredak teče kroz nekoliko faza od vrha do dna, analogno vodopadu. Faze vodopada modela su analiza zahtjeva, dizajn, razvoj, testiranje i implementacija. Poslovni analitičari (ili sami programeri ako se radi o maloj organizaciji) sprovode fazu analize tako što dobijaju sistemske i poslovne zahtjeve od korisnika projekta. Zatim, softverski arhitekti (ili stariji programeri softvera) dolaze sa projektnim dokumentima koji opisuju strukturu i komponente predloženog sistema. Zatim mlađi programeri rade kodiranje koristeći dokumente dizajna. Nakon završetka razvoja, proizvod se predaje timu za testiranje na procese testiranja i verifikacije. Konačno, proizvod se implementira (ili integriše) na lokaciji korisnika i projekat se potpisuje. Ovdje je važno napomenuti da je svaka faza u potpunosti završena prije prelaska na sljedeću fazu. Ovaj model je bio direktan rezultat jednostavnog prilagođavanja hardverski orijentisanog metoda razvoja (koji se nalazi u proizvodnoj i građevinskoj industriji), u to vreme nije postojao formalni model za razvoj softvera.
Šta je RUP?
RUP pripada porodici iterativnih metodologija razvoja softvera. Razvila ga je Rational Software Corporation (IBM) 2003. To je zapravo prilagodljivi procesni okvir (a ne jedan konkretan proces), koji razvojna organizacija može prilagoditi svojim potrebama. Pomalo sličan vodopadu, ima fiksne faze kao što su početak, razrada, izgradnja i tranzicija. Ali za razliku od vodopada, RUP je iterativni proces. Tri strategije koje je obuhvatio RUP su prilagodljiv proces koji vodi razvoj, automatizovani alati za ubrzavanje procesa i usluge koje pomažu da se proces i alati brže usvajaju. Ove strategije pripravnika obuhvataju šest najboljih praksi softverskog inženjeringa (iterativni razvoj, upravljanje zahtjevima, arhitektura zasnovana na komponentama, vizualni softverski modeli, kontinuirana verifikacija i upravljanje promjenama).
Koja je razlika između Waterfall metodologije i RUP-a?
Iako su Waterfall metodologija i RUP definirali fiksne faze, postoje ključne razlike između ova dva modela. Glavna razlika je u tome što je metodologija vodopada jasno sekvencijalni proces sa propisanim koracima u kojima se trenutna faza završava prije prelaska na sljedeću fazu, RUP je iterativni proces. Za razliku od vodopada metodologije, RUP razvija proizvod u nekoliko faza na osnovu povratnih informacija od strane dioničara. Budući da svaka RUP iteracija proizvodi izvršno izdanje, korisnici mogu ostvariti prednosti mnogo ranije nego Waterfall. Konačno, Waterfall metodologija je preskriptivan konkretan proces, dok je RUP prilagodljiv okvir softverskih procesa.