Rational Unified Process

z Wikipédie, slobodnej encyklopédie

Rational Unified Process (ďalej RUP) je metodika vývoja softvéru vytvorená spoločnosťou Rational Software Corporation. Metodika RUP vychádza z kolekcie osvedčených praktík a postupov pri vývoji softvéru. Je použiteľná pre akýkoľvek rozsah projektu, no vďaka vysokej rozsiahlosti RUPu je vhodné prispôsobiť metodiku špecifickým potrebám. RUP je vhodnejší skôr pre rozsiahlejšie projekty a väčšie vývojárske tímy, keďže kladie dôraz na analýzu a návrh, plánovanie, riadenie zdrojov a dokumentáciu. Pre menšie projekty je vhodnejšie použiť niektorú z menej formalizovaných metodík ako napríklad Extreme Programming.

Architektúra[upraviť | upraviť zdroj]

RUP definuje štyri základné fázy vývoja, ktoré sú z časového hľadiska organizované do iterácii. Po skončení každej fázy sa vykonáva hodnotenie dosiahnutých cieľov danej fázy (milestone).

  • Disciplína – je kolekcia príbuzných aktivít, ktoré sa vzťahujú k rovnakej oblasti záujmu v rámci celého projektu. RUP definuje disciplíny:
    • tvorba podnikového modelu (business modeling)
    • správa požiadaviek (requirements)
    • analýza a návrh
    • implementácia
    • testovanie, kontrola kvality
    • nasadenie (deployment)
    • riadenie zmien a konfigurácie (configuration & change management)
    • riadenie projektu (project management)
    • správa prostredia (environment)
  • Iterácia – realizácia projektu môže byť rozdelená do viacerých častí, v rámci ktorých sa opakujú rovnaké procesy naprieč všetkými disciplínami. Každá iterácia je rozdelená do štyroch fáz – začatie (inception), rozpracovanie (elaboration), budovanie (construction) a zavedenie (transition). V rámci každej z fáz sa realizujú činnosti každej disciplíny, no s rozdielnym dôrazom. Napríklad na začiatku iterácie strávime viac času pri požiadavkách, zatiaľ čo v neskoršej fáze sa kladie dôraz na implementáciu.

Základné prvky metodiky[upraviť | upraviť zdroj]

  • Artefakt – vstupný alebo výstupný produkt procesu. Môže nadobúdať rôzne formy (databáza, UML model, špecifikácia, textový dokument, stránka a iné)
  • Role – vyjadruje vzťah individualít (osoba či systém) a ich zodpovednosť v rámci procesu. Rola môže byť obsadená vo viacerých roliach súčasne a zároveň v jednej roli môže byť obsadených viacero rolí.
  • Aktivita – predstavuje činnosť vykonávanú rolami.

Najlepšie praktiky (Best Practices)[upraviť | upraviť zdroj]

Metodika obsahuje takzvané „best practices“, čo sú praktiky užitočné pri realizácii vývoja softvéru, založené na dlhodobých skúsenostiach v tejto oblasti. Tieto praktiky sú v rámci metodiky podporované rôznymi nástrojmi pre automatizáciu špecifických procesov vývoja softvéru. Patria sem:

  • Iteratívny vývoj

Iteratívny prístup zavádza rozdelenie projektu do časových úsekov (iterácií), pričom po skončení iterácie by mala byť dostupná spustiteľná verzia. (Aldorf, 2008) popisuje nasledujúce výhody:

    • Možnosť objektívneho posúdenia stavu projektu
    • Rovnomernejšie pracovné vyťaženie vývojárskeho tímu. Projekt je koncipovaný tak, aby čo najskôr prinášal konkrétne výsledky. Pri rozdelení na iterácie je možné jednoduchšie sledovať priebeh projektu a dodržovanie stanovených termínov.
    • Možnosť testovania medziverzií
    • Spolupráca s užívateľmi v priebehu celého projektu
    • Včasné rozpoznanie nezrovnalostí medzi požiadavkami, návrhom a implementáciou. Vďaka tomu, že užívatelia majú možnosť kontrolovať a hodnotiť čiastkové časti systému, výrazne sa obmedzuje riziko vysokých nákladov spôsobených úpravami produktu v neskorších fázach vývoja.
    • Jednoduchšie zapracovanie požadovaných zmien
  • Správa požiadaviek

Cieľom správy požiadaviek v metodike RUP je aktívny zber a dokumentácia požiadaviek, ktorý prebieha medzi zadávateľom a dodávateľom. Umožňuje tak spresňovanie zadania v priebehu celého projektu, čo opäť znižuje riziko neúspechu projektu.

  • Používanie komponentovej architektúry

Komponentová architektúra je založená na použití komponent – zložiek architektúry, ktoré sú nezávislé, vymeniteľné a teda pomáhajú zvládať zložitosť systému a umožňujú znovupoužiteľnosť komplexnejších častí systému.

  • Vizuálne modelovanie

Využitie vizuálneho modelovania vychádza z predpokladu, že človek lepšie chápe systém, ktorý si zjednoduší do menších modelov, pričom abstrahuje od nedôležitých vlastností daného modelu. RUP využíva k modelovaniu štandardný modelovací jazyk UML, čo prináša jednoduchšiu štandardizovanú komunikáciu v rámci tímu, ale i pri komunikácii so zákazníkom a zvyšuje konzistenciu projektu.

  • Priebežná kontrola kvality

V minulosti sa už na mnohých projektoch ukázalo a stále sa potvrdzuje, že nájdenie a odstránenie problémov v neskorších fázach projektu je niekoľkonásobne drahšie než v úvodných fázach vývoja (Patton, 2002), preto RUP presadzuje kontrolu kvality a testovanie od počiatku projektu.

  • Správa zmien

Hlavnou úlohou správy zmien je riadenie verzovania produktu, bez ktorého by vývoj v rámci viacerých tímov mohol prepadnúť do chaosu. V RUPe sa touto výzvou zaoberá disciplína – riadenie zmien a konfigurácie.

Referencie[upraviť | upraviť zdroj]

Bibliografia[upraviť | upraviť zdroj]

  • Aldorf, Filip. 2008. Metodika RUP. Objektová analýza, návrh a programování. [Online] Vysoká škola ekonomická v Praze, 3. Február 2008. [Dátum: 3. Máj 2009.] [1] Archivované 2010-01-19 na Wayback Machine.
  • Patton, Ron. 2002. Testování softwaru. s.l. : Computer Press, 2002. 80-7226-636-5.