Waterfall ehk kosemudel

Waterfall on üks esimesi tarkvara arenduse mudeleid tavaliste
tootmisprotsesside eeskujul, kus iga etapp eelneb järgmisele. Tagasipöördumine eelmisesse
on keeruline. Eelnevas etapis vea avastamine, tähendab seda, et vea juurde saab tagasi
põõrduda alles siis, kui tarkvara on kasutusse läinud.

  1. Etapp - Nõuete määratlemine:
    Selles etapis dokumenteeritakse arendatava toote/tarkvara/süsteemi nõuded, käitumine,
    sihtriistvara jms. mis on arendatava tarkvara taatlusliku funktsioneerimise tarbeks vajalikud.
    Vahest jaotatakse see etapp ka omakorda kaheks - Süsteemianalüüs ja Nõuete analüüs.

  2. Etapp - Süsteemi ja tarkvara kavandamine:
    Teises etapis kavandatakse arendusel olev süsteem ja tarkvara keskendudes nende põhilistele
    omadustele. Põhiomadusteks võivad olla: Andmestruktuurid, tarkvara arhitektuur, liidesed,
    liideste omadused ning protseduurilised ja algoritmilised detailid. Kavandamise tulemused
    dokumenteeritakse mille abil hinnatakse teostuse käigus projekti kvaliteet.

  3. Etapp - Teostus ning moodulite testimine:
    Eelnevalt dokumenteeritud kavandi järgi toimub kolmandas etapis tarkvara/süsteemi arendus.
    Arendustöö käigus arendatakse programm moodulhaaval või moodulite kogumikuna. Peale
    programmeerimist teostatakse moodulite ja kogumite testimised. Olenevalt eelnevalt
    dokumenteeritud kavandi detailsusest tuleneb selles etapis projekti arenduslihtsus.
    Mida rohkem detaile on kavandatud, seda lihtsam on arendustöö.

  4. Etapp - Integratsioon ja süsteemi testimine:
    Toimub kogu tarkvarasüsteemi testimine. Peale testimist tarnitakse toode kliendile või
    kasutajate sihtrühmale. Testitakse sellest vaatepunktist kas süsteem teeb seda mis
    eelnevalt dokumenteeritud ning testitakse ka seda et süsteemis esinevad detailid on
    loogilised.

  5. Etapp - kasutamine ja hooldus:
    Kõige pikem tarkvara elutsüklis olev etapp. Siin toimub vigade parandus, funktsionaalsuse
    muutumine, (kas siis kliendi, tutu, keskkonna, või sihtrühma sisendi/vajadusena). Arendustöö
    teostamiseks korratakse kõik eelmisi etappe, kuid siis ainult süsteemi muutmise eesmärgil,
    mitte enam nullist millegi uue arendamise jaoks.

Iga etapi tulemusena tekib dokument (kas siis üks või mitu) mis kirjeldab etapis ssavutatud tulemit.
Kõik dokumendid kinnitatakse. Järgmine etapp ei tohi olla samaaegselt töös kui eeline pole lõpetatud
Kuigi mingi ülekate on, ning infot on võimalik edastada ühest etapist edasi teise.

Plussid Miinused
Lihtne kasutada Kulub palju aega navigeerimisel
allikad: EUCIP