Rational Unified Process

z Wikipédie, slobodnej encyklopédie
Verzia z 00:39, 12. jún 2009, ktorú vytvoril Xqbot (diskusia | príspevky) (robot Pridal: da, fa, fi, fr, it, ja, ko, lt, nl, no, pt, sv, zhZmenil: en, es; kozmetické zmeny)

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 dizajn, 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

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 dizajn
    • 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 – incepčná (inception), elaboračná (elaboration), konštrukčná (construction) a prechodová (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

  • 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)

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ť dielčie č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

Bibliografia

  • 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.] http://objekty.vse.cz/Objekty/Rup2#kap23.
  • Patton, Ron. 2002. Testování softwaru. s.l. : Computer Press, 2002. 80-7226-636-5.