Ūdenskrituma metodika pret RUP
Mūsdienās programmatūras nozarē tiek izmantotas dažādas programmatūras izstrādes metodikas. Ūdenskrituma attīstības metode ir viena no agrākajām programmatūras izstrādes metodēm. Ūdenskrituma programmatūras izstrādes metodoloģija ir secīgs modelis, kurā katrs posms tiek pabeigts pilnībā un sekots noteiktā secībā. RUP (Rational Unified Process) ir iteratīvu programmatūras izstrādes metodoloģiju pielāgojams procesa ietvars. RUP pievēršas vairākām kritikām par ūdenskrituma attīstību, piemēram, stingrību.
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 cauri vairākām fāzēm no augšas uz leju, līdzīgi kā ūdenskritumam. Ūdenskrituma modeļa fāzes ir prasību analīze, izstrāde, izstrāde, testēšana un ieviešana. Biznesa analītiķi (vai paši programmētāji, ja tā ir maza organizācija) veic analīzes fāzi, saņemot projekta pasūtītāja sistēmas un biznesa prasības. Tad programmatūras arhitekti (vai vecākie programmatūras izstrādātāji) nāk klajā ar projektēšanas dokumentiem, kas attēlo ierosinātās sistēmas struktūru un komponentus. Tad jaunākie izstrādātāji veic kodēšanu, 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. Šeit ir svarīgi atzīmēt, ka katra fāze ir pilnībā pabeigta, pirms pāriet uz nākamo fāzi. Š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 celtniecības nozarēs), tajā laikā nebija oficiāla programmatūras izstrādes modeļa.
Kas ir RUP?
RUP belongs to the family of iterative software development methodologies. It was developed by Rational Software Corporation (of IBM) in 2003. It is actually an adaptable process framework (not a single concrete process), that can be customized by the development organization according to their needs. Slightly similar to waterfall, it has fixed phases as inception, elaboration, construction and transition. But unlike waterfall, RUP is an iterative process. The three strategies captured by RUP are a customizable process that guides development, automated tools to expedite the process, and services that help to adopt process and tools faster. These strategies intern captures the six best practices of software engineering (iterative development, managing requirements, component based architecture, visual software models, continuous verification and management of changes).
Kāda ir atšķirība starp ūdenskrituma metodiku un RUP?
Lai gan Ūdenskrituma metodoloģijā un RUP ir noteiktas fiksētas fāzes, starp šiem diviem modeļiem ir būtiskas atšķirības. Galvenā attieksme ir tā, ka, lai arī Ūdenskrituma metodika ir skaidri secīgs process ar noteiktiem soļiem, kuros pašreizējā fāze ir pabeigta pirms pārejas uz nākamo fāzi, RUP ir iteratīvs process. Atšķirībā no ūdenskrituma metodikas, RUP izstrādā produktu vairākos posmos, pamatojoties uz akcionāru atsauksmēm. Tā kā katra RUP iterācija rada izpildāmu laidienu, klienti ieguvumus saprot daudz agrāk nekā Waterfall. Visbeidzot, Ūdenskrituma metodoloģija ir konkrēts, bet RUP ir pielāgojams programmatūras procesu ietvars.