Metodika vodopádu vs. RUP
V softvérovom priemysle sa dnes používa množstvo rôznych metodík vývoja softvéru. Metóda vývoja vodopádu je jednou z prvých metód vývoja softvéru. Metodika vývoja softvéru Waterfall je sekvenčný model, v ktorom je každá fáza kompletne dokončená a sledovaná v pevnom poradí. RUP (Rational Unified Process) je adaptabilný procesný rámec metodík iteračného vývoja softvéru. RUP sa zameriava na niekoľko kritík vývoja vodopádu, ako je rigidita.
Čo je metodika vodopádu?
Metodika Vodopád je jedným z prvých modelov vývoja softvéru. Ako už názov napovedá, jedná sa o postupný proces, v ktorom pokrok preteká niekoľkými fázami zhora nadol, analogickým vodopádu. Fázami modelu Vodopád sú analýza požiadaviek, návrh, vývoj, testovanie a implementácia. Obchodní analytici (alebo ich sami programátori, ak ide o malú organizáciu) vykonávajú fázu analýzy získavaním systémových a obchodných požiadaviek od zákazníka projektu. Potom softvéroví architekti (alebo starší vývojári softvéru) prídu s návrhovými dokumentmi znázorňujúcimi štruktúru a komponenty navrhovaného systému. Potom junior vývojári robia kódovanie pomocou návrhových dokumentov. Po dokončení vývoja sa produkt odovzdá testovaciemu tímu na testovanie a overovacie procesy. Nakoniec je produkt implementovaný (alebo integrovaný) v mieste zákazníka a projekt je podpísaný. Dôležité je poznamenať, že každá fáza je úplne dokončená pred prechodom na ďalšiu fázu. Tento model bol priamym výsledkom jednoduchej adaptácie hardvérovo orientovanej metódy vývoja (nachádzajúcej sa vo výrobnom a stavebnom priemysle), v tom čase neexistoval žiadny formálny model pre vývoj softvéru..
Čo je RUP?
RUP patrí do rodiny metodík iteračného vývoja softvéru. Bol vyvinutý spoločnosťou Rational Software Corporation (IBM) v roku 2003. Je to vlastne adaptabilný procesný rámec (nie jediný konkrétny proces), ktorý môže vývojová organizácia prispôsobiť podľa svojich potrieb. Mierne podobný vodopádu, má pevné fázy ako vznik, spracovanie, konštrukcia a prechod. Ale na rozdiel od vodopádu je RUP iteračný proces. Tri stratégie zachytené pomocou RUP sú prispôsobiteľný proces, ktorý usmerňuje vývoj, automatizované nástroje na urýchlenie procesu a služby, ktoré pomáhajú rýchlejšie prijať proces a nástroje. Interiér týchto stratégií zachytáva šesť osvedčených postupov softvérového inžinierstva (iteračný vývoj, požiadavky na správu, architektúra založená na komponentoch, vizuálne softvérové modely, nepretržité overovanie a riadenie zmien).
Aký je rozdiel medzi metodikou Waterfall a RUP?
Aj keď metodika Waterfall a RUP definovali pevné fázy, medzi týmito dvoma modelmi existujú kľúčové rozdiely. Hlavný rozdiel spočíva v tom, že zatiaľ čo metodika Waterfall je jednoznačne sekvenčný proces s predpísanými krokmi, v ktorých je súčasná fáza dokončená pred prechodom do ďalšej fázy, RUP je iteračný proces. Na rozdiel od metodológie vodopádu, RUP vyvíja produkt v niekoľkých fázach na základe spätnej väzby od akcionárov. Pretože každá iterácia RUP vytvára spustiteľné vydanie, zákazníci si uvedomia výhody oveľa skôr ako Waterfall. Nakoniec je metodika Waterfall predpísaným konkrétnym procesom, zatiaľ čo RUP je prispôsobiteľný rámec softvérových procesov.