Ūdenskrituma metodika vs RUP
Mūsdienās programmatūras nozarē tiek izmantotas vairākas dažādas programmatūras izstrādes metodoloģijas. Ūdenskrituma attīstības metode ir viena no agrākajām programmatūras izstrādes metodēm. Ūdenskrituma programmatūras izstrādes metodika ir secīgs modelis, kurā katra fāze tiek pabeigta pilnībā un seko fiksētā secībā. RUP (Rational Unified Process) ir pielāgojams programmatūras ietvars iteratīvās programmatūras izstrādes metodoloģijām. RUP pievēršas vairākām ūdenskrituma attīstības kritikām, piemēram, stingrībai.
Kas ir ūdenskrituma metodika?
Ūdenskrituma metodika ir viens no agrākajiem programmatūras izstrādes modeļiem. Kā norāda nosaukums, tas ir secīgs process, kurā progress plūst vairākās fāzēs no augšas uz leju, kas ir analogs ūdenskritumam. Ūdenskrituma modeļa fāzes ir prasību analīze, projektēšana, izstrāde, testēšana un ieviešana. Biznesa analītiķi (vai arī paši programmētāji, ja tā ir maza organizācija) veic analīzes posmu, iegūstot sistēmas un biznesa prasības no projekta klienta. Tad programmatūras arhitekti (vai vecākie programmatūras izstrādātāji) nāk klajā ar dizaina dokumentiem, kas attēlo piedāvātās sistēmas struktūru un komponentus. Pēc tam jaunākie izstrādātāji kodē, izmantojot dizaina dokumentus. Pēc izstrādes pabeigšanas produkts tiek nodots testēšanas komandai testēšanas un verifikācijas procesiem. Visbeidzot, produkts tiek ieviests (vai integrēts) klienta vietnē, un projekts tiek parakstīts. Svarīgi piebilst, ka pirms pārejas uz nākamo posmu katra fāze ir pilnībā pabeigta. Šis modelis bija tiešs rezultāts, vienkārši pielāgojot uz aparatūru orientētu izstrādes metodi (atrodama ražošanas un būvniecības nozarē), tajā laikā vēl nebija oficiāla programmatūras izstrādes modeļa..
Kas ir RUP?
RUP pieder pie iteratīvās programmatūras izstrādes metodoloģiju grupas. To 2003. gadā izstrādāja Rational Software Corporation (IBM). Tas faktiski ir pielāgojams procesa ietvars (nevis atsevišķs konkrēts process), kuru attīstības organizācija var pielāgot savām vajadzībām. Nedaudz līdzīgs ūdenskritumam, tam ir fiksētas fāzes kā sākums, izstrāde, uzbūve un pāreja. Bet atšķirībā no ūdenskrituma RUP ir atkārtots process. Trīs RUP uztvertās stratēģijas ir pielāgojams process, kas virza attīstību, automatizēti rīki procesa paātrināšanai un pakalpojumi, kas palīdz ātrāk pieņemt procesu un rīkus. Šīs stratēģijas internacionāli atspoguļo sešu labāko programmatūras inženierijas praksi (iteratīva izstrāde, prasību pārvaldība, uz komponentiem balstīta arhitektūra, vizuālie programmatūras modeļi, nepārtraukta izmaiņu pārbaude un vadība).
Kāda ir atšķirība starp ūdenskrituma metodiku un RUP?
Lai arī Waterfall metodoloģijā un RUP ir noteiktas fiksētas fāzes, starp šiem diviem modeļiem pastāv galvenās atšķirības. Galvenā kļūda ir tā, ka, lai arī ūdenskrituma metodika nepārprotami ir secīgs process ar noteiktiem soļiem, kuros pašreizējā fāze tiek pabeigta pirms pāriešanas uz nākamo fāzi, RUP ir atkārtots process. Atšķirībā no ūdenskrituma metodoloģijas, RUP izstrādā produktu vairākos posmos, balstoties uz akciju īpašnieku atsauksmēm. Tā kā katra RUP iterācija rada izpildāmu izlaidumu, klienti ieguvumus gūst daudz agrāk nekā Waterfall. Visbeidzot, ūdenskrituma metodoloģija ir noteikts, konkrēts process, savukārt RUP ir pielāgojams programmatūras procesu ietvars.