Metodologija vodopada vs RUP
Danas se u softverskoj industriji koristi niz različitih metodologija razvoja softvera. Metoda razvoja vodopada jedna je od najranijih metoda razvoja softvera. Metodologija razvoja softvera Waterfall sekvencijalni je model u kojem se svaka faza dovršava u cijelosti i slijedi fiksnim redoslijedom. RUP (Rational Unified Process) prilagodljivi je procesni okvir iterativnih metodologija razvoja softvera. RUP se obraća nekoliko kritika razvoja vodopada poput krutosti.
Što je metodologija vodopada?
Metodologija vodopada jedan je od najranijih modela razvoja softvera. Kao što i samo ime govori, 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, ispitivanje i primjena. Poslovni analitičari (ili sami programeri ako je riječ o maloj organizaciji) provode fazu analize dobivajući sustav i poslovne zahtjeve od naručitelja projekta. Tada softverski arhitekti (ili stariji programeri) izlaze s projektnim dokumentima koji prikazuju strukturu i komponente predloženog sustava. Tada mlađi programeri kodiraju pomoću projektnih dokumenata. Nakon završetka razvoja, proizvod se predaje ispitnom timu na testiranje i provjeru. Konačno, proizvod se implementira (ili integrira) na mjestu kupca i odjavljuje se projekt. Ovdje je važno napomenuti da je svaka faza u potpunosti dovršena prije prelaska na sljedeću fazu. Ovaj je model izravni rezultat jednostavne prilagodbe hardverski orijentirane razvojne metode (koja se nalazi u proizvodnoj i građevinskoj industriji), u to vrijeme nije postojao formalni model za razvoj softvera.
Što je RUP?
RUP belongs to the family of iterative software development methodologies. It was developed by Rational Software Corporation (of IBM) in 2003. It is actually an adaptable process framework (not a single concrete process), that can be customized by the development organization according to their needs. Slightly similar to waterfall, it has fixed phases as inception, elaboration, construction and transition. But unlike waterfall, RUP is an iterative process. The three strategies captured by RUP are a customizable process that guides development, automated tools to expedite the process, and services that help to adopt process and tools faster. These strategies intern captures the six best practices of software engineering (iterative development, managing requirements, component based architecture, visual software models, continuous verification and management of changes).
Koja je razlika između Metodologije vodopada i RUP-a?
Iako su Waterfall metodologija i RUP definirali fiksne faze, postoje ključne razlike između ova dva modela. Glavna zasluga je u tome što je, iako je Waterfall metodologija očito sekvencijalni postupak s propisanim koracima u kojem se trenutna faza dovršava prije prelaska na sljedeću fazu, RUP ponavljajući postupak. 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. Napokon, Waterfall metodologija je propisani konkretni postupak, dok je RUP prilagodljivi okvir softverskih procesa.