Razlika između metodologije vodopada i RUP-a

Metodologija vodopada vs RUP

Danas se u softverskoj industriji koristi niz različitih metodologija za razvoj softvera. Metoda razvoja vodopada jedna je od najranijih metoda razvoja softvera. Metodologija razvoja vodopadnog softvera je slijedni model u kojem se svaka faza dovršava u potpunosti i slijedi u fiksnom redoslijedu. RUP (Rational Unified Process) prilagodljivi je procesni okvir iterativnih metodologija razvoja softvera. RUP rješava nekoliko kritika razvoja vodopada poput rigidnosti.

Što je metodologija vodopada?

Metodologija vodopada jedan je od najranijih modela razvoja softvera. Kao što ime sugerira, to je sekvencijalni proces u kojem napredak teče kroz nekoliko faza od vrha do dna, analogno vodopadu. Faze modela vodopada su analiza zahtjeva, dizajn, razvoj, testiranje i primjena. Poslovni analitičari (ili oni koji se programiraju, ako je to mala organizacija) provode fazu analize dobivanjem zahtjeva za sustav i poslovne zahtjeve od klijenta projekta. Tada softverski arhitekti (ili stariji programeri softvera) osmišljavaju dizajnerske dokumente koji prikazuju strukturu i komponente predloženog sustava. Tada mlađi programeri rade kodiranje pomoću dizajnerskih dokumenata. Nakon završetka razvoja proizvod se predaje ispitnom timu na postupke testiranja i provjere. Konačno, proizvod se implementira (ili integrira) na web mjestu kupca, a projekt se odjavljuje. Važno je ovdje napomenuti da je svaka faza u potpunosti završena prije prelaska na sljedeću fazu. Ovaj je model bio izravna posljedica jednostavno prilagođavanja hardversko usmjerene razvojne metode (koja se nalazi u proizvodnoj i građevinskoj industriji), a u to vrijeme nije postojao formalni model za razvoj softvera.

Što je RUP?

RUP pripada obitelji iterativnih metodologija razvoja softvera. Razvila ga je Rational Software Corporation (IBM) 2003. godine. To je zapravo prilagodljiv procesni okvir (nije niti jedan konkretan proces) koji razvojna organizacija može prilagoditi svojim potrebama. Malo sličan vodopadu, ima fiksne faze kao početak, razrada, izgradnja i prijelaz. Ali za razliku od vodopada, RUP je iterativni proces. Tri strategije zarobljene u RUP-u su prilagodljiv proces koji vodi razvoj, automatizirane alate za ubrzavanje procesa i usluge koje pomažu u bržem usvajanju procesa i alata. Ove strategije intern opisuje šest najboljih praksi softverskog inženjerstva (iterativni razvoj, zahtjevi upravljanja, arhitektura zasnovana na komponentama, vizualni modeli softvera, kontinuirana provjera i upravljanje promjenama).

Koja je razlika između Metodologije vodopada i RUP-a?

Iako su metodologija vodopada i RUP definirali fiksne faze, postoje ključne razlike između ova dva modela. Glavno odstupanje je da iako je metodologija vodopada očito sekvencijalni postupak s propisanim koracima u kojima je trenutna faza završena prije prelaska na sljedeću fazu, RUP je iterativni proces. Za razliku od metodologije vodopada, RUP razvija proizvod u nekoliko faza na temelju povratnih informacija dioničara. Budući da svaka RUP iteracija proizvodi izvršno izdanje, kupci ostvaruju prednosti puno ranije od Waterfall-a. Konačno, metodologija vodopada predstavlja konkretan proces propisivanja, dok je RUP prilagodljivi okvir softverskih procesa.