Metodika vodopádu vs RUP
V dnešnom softvérovom priemysle existuje veľké množstvo rôznych metodológií vývoja softvéru. Metóda vývoja vodopádu je jednou z prvých metód vývoja softvéru. Metodológia vývoja softvéru Waterfall je sekvenčný model, v ktorom je každá fáza dokončená v plnom rozsahu a je sledovaná v pevnom poradí. RUP (Rational Unified Process) je prispôsobivý procesný rámec iteratívnych metodík vývoja softvéru. RUP sa venuje niekoľkým kritikám vývoja vodopádu, napríklad rigidite.
Čo je metodika vodopádu?
Metodológia Waterfall je jedným z prvých modelov vývoja softvéru. Ako už názov napovedá, ide o postupný proces, v ktorom pokrok preteká niekoľkými fázami zhora nadol, obdobne ako vodopád. Fázy modelu Waterfall sú analýza požiadaviek, návrh, vývoj, testovanie a implementácia. Obchodní analytici (alebo sami programátori, ak ide o malú organizáciu) uskutočňujú fázu analýzy získaním systémových a obchodných požiadaviek od zákazníka projektu. Potom softvéroví architekti (alebo starší softvéroví vývojári) prídu s návrhovými dokumentmi znázorňujúcimi štruktúru a komponenty navrhovaného systému. Potom mladší vývojári urobia kódovanie pomocou dokumentov o dizajne. Po dokončení vývoja je produkt odovzdaný testovaciemu tímu na účely testovacích a overovacích procesov. Nakoniec je produkt implementovaný (alebo integrovaný) na mieste zákazníka a projekt je podpísaný. Tu je dôležité poznamenať, že každá fáza je úplne dokončená pred prechodom do ďalšej fázy. Tento model bol priamym výsledkom jednoduchého prispôsobenia hardvérovo orientovanej vývojovej metódy (nájdenej vo výrobnom a stavebnom priemysle), v tom čase neexistoval žiadny formálny model pre vývoj softvéru.
Čo je to 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).
Aký je rozdiel medzi Waterfall Methodology a RUP?
Aj keď metodika Waterfall a RUP definovali pevné fázy, medzi týmito dvoma modelmi existujú kľúčové rozdiely. Hlavná úcta spočíva v tom, že zatiaľ čo metodika Waterfall je jednoznačne postupným procesom 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 metodiky vodopádov 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 môžu využívať výhody oveľa skôr ako Waterfall. Napokon je metodika Waterfall preskriptívnym konkrétnym procesom, zatiaľ čo RUP je prispôsobivý rámec softvérových procesov.