Metodologija slapov proti RUP-u
Danes se v industriji programske opreme uporablja več različnih metodologij za razvoj programske opreme. Metoda razvoja slapov je ena najzgodnejših metod razvoja programske opreme. Metodologija razvoja programske opreme Waterfall je zaporedni model, v katerem se vsaka faza zaključi v celoti in sledi v fiksnem zaporedju. RUP (Rational Unified Process) je prilagodljiv procesni okvir iterativnih metodologij razvoja programske opreme. RUP obravnava več kritik razvoja slapov, kot je togost.
Kaj je metodologija slapov?
Metodologija slapov je eden najzgodnejših modelov razvoja programske opreme. Kot že ime pove, gre za zaporedni postopek, v katerem napredek teče skozi več faz od vrha do dna, analogno slapu. Faze modela slapov so analiza potreb, načrtovanje, razvoj, testiranje in izvedba zahtev. Poslovni analitiki (ali programerji sami, če gre za majhno organizacijo) izvajajo fazo analize tako, da od kupca projekta pridobijo sistemske in poslovne zahteve. Nato arhitekti programske opreme (ali višji razvijalci programske opreme) pripravijo oblikovalske dokumente, ki prikazujejo strukturo in sestavne dele predlaganega sistema. Nato mlajši razvijalci opravijo kodiranje z uporabo oblikovalskih dokumentov. Po zaključku razvoja je izdelek predan skupini za testiranje v postopke testiranja in preverjanja. Končno je izdelek implementiran (ali integriran) na strani za stranke in projekt je odjavljen. Pomembno pri tem je, da je vsaka faza pred zaključkom na naslednjo fazo dokončana. Ta model je bil neposreden rezultat preprostega prilagajanja strojno usmerjene razvojne metode (najdemo jo v predelovalni in gradbeni industriji), v času, ko ni bil formalni model za razvoj programske opreme..
Kaj je RUP?
RUP spada v družino iterativnih metodologij razvoja programske opreme. Razvila ga je Rational Software Corporation (IBM) leta 2003. Pravzaprav je prilagodljiv okvir procesa (ne en sam konkreten postopek), ki ga lahko razvojna organizacija prilagodi glede na njihove potrebe. Nekoliko podoben slapu ima določene faze kot začetka, izdelava, gradnja in prehod. Toda za razliko od slapa je RUP iterativni postopek. Tri strategije, ki jih je zajel RUP, so prilagodljiv postopek, ki vodi razvoj, avtomatizirana orodja za pospešitev postopka in storitve, ki pomagajo hitreje sprejeti postopek in orodja. Ta strategija pripravlja šest najboljših praks programskega inženiringa (iterativni razvoj, upravljanje zahtev, komponentna arhitektura, vizualni modeli programske opreme, nenehno preverjanje in upravljanje sprememb).
Kakšna je razlika med Metodologijo slapov in RUP?
Čeprav metodologija slapov in RUP določata fiksne faze, sta med tema dvema modeloma ključne razlike. Glavno upoštevanje je, da je metodologija Waterfall očitno zaporedni postopek s predpisanimi koraki, v katerih se trenutna faza zaključi pred prehodom na naslednjo fazo, vendar je RUP iterativni postopek. Za razliko od metodologije slapov RUP izdelek razvija v več fazah na podlagi povratnih informacij delničarjev. Ker vsaka iteracija RUP-a prinaša izvedljivo različico, kupci izkoristijo prednosti veliko prej kot Waterfall. Končno je metodologija Waterfall predpisujoč konkreten postopek, medtem ko je RUP prilagodljiv okvir programskih procesov.