Metodika vodopádu vs. RUP
V softwarovém průmyslu se dnes používá celá řada různých metodik vývoje softwaru. Metoda vývoje vodopádu je jednou z prvních metod vývoje softwaru. Metodika vývoje vodopádového softwaru je sekvenční model, ve kterém je každá fáze kompletně dokončena a následována v pevném pořadí. RUP (Rational Unified Process) je adaptabilní procesní rámec metodik iteračního vývoje softwaru. RUP řeší několik kritik vývoje vodopádu, jako je rigidita.
Co je to Metodika vodopádu?
Metodika Waterfall je jedním z prvních modelů vývoje softwaru. Jak už název napovídá, jedná se o sekvenční proces, ve kterém pokrok protéká několika fázemi shora dolů, obdobou vodopádu. Fáze modelu Waterfall jsou analýza požadavků, návrh, vývoj, testování a implementace. Obchodní analytici (nebo programátoři sami, pokud se jedná o malou organizaci) provádí fázi analýzy získáváním systémových a obchodních požadavků od zákazníka projektu. Poté softwaroví architekti (nebo starší vývojáři softwaru) přijdou s návrhovými dokumenty zobrazujícími strukturu a komponenty navrhovaného systému. Pak juniorští vývojáři provádějí kódování pomocí návrhových dokumentů. Po dokončení vývoje je produkt předán zkušebnímu týmu k testování a ověření. Nakonec je produkt implementován (nebo integrován) v místě zákazníka a projekt je odhlášen. Důležité je poznamenat, že každá fáze je plně dokončena před přechodem na další fázi. Tento model byl přímým výsledkem pouhého přizpůsobení hardwarově orientované metody vývoje (nalezené ve výrobním a stavebním průmyslu), v té době neexistoval žádný formální model pro vývoj softwaru.
Co je RUP?
RUP patří do rodiny metodik iteračního vývoje softwaru. Byl vyvinut společností Rational Software Corporation (IBM) v roce 2003. Je to vlastně přizpůsobitelný procesní rámec (nikoli jediný konkrétní proces), který může vývojová organizace přizpůsobit podle svých potřeb. Mírně podobný vodopádu, má pevné fáze jako počátek, zpracování, konstrukce a přechod. Ale na rozdíl od vodopádu je RUP iterační proces. Tři strategie zachycené RUP jsou přizpůsobitelný proces, který řídí vývoj, automatizované nástroje k urychlení procesu a služby, které pomáhají rychleji přijímat proces a nástroje. Interiér těchto strategií zachycuje šest nejlepších postupů softwarového inženýrství (iterativní vývoj, požadavky na správu, architekturu založenou na komponentách, vizuální softwarové modely, průběžné ověřování a správu změn).
Jaký je rozdíl mezi metodikou Waterfall a RUP?
Ačkoli metodika Waterfall a RUP definovaly pevné fáze, mezi těmito dvěma modely existují klíčové rozdíly. Hlavní úpadek spočívá v tom, že zatímco metodologie Waterfall je zjevně sekvenční proces s předepsanými kroky, ve kterých je aktuální fáze dokončena před přechodem do další fáze, RUP je iterační proces. Na rozdíl od metodiky vodopádu vyvíjí RUP produkt v několika fázích na základě zpětné vazby od akcionářů. Protože každá iterace RUP produkuje spustitelné vydání, zákazníci si uvědomí výhody mnohem dříve než Waterfall. Nakonec je metodika Waterfall předepsaným konkrétním procesem, zatímco RUP je přizpůsobitelný rámec softwarových procesů.