kosemudel ehk waterfall on üks esimesi tarkvaraarenduse elutsükli mudeleid. ta põhineb tavaliselt tootmisprotsessi eeskujul, kus iga etapp eelneb järgmisele. tagasipöördumine eelmisesse etappi on keeruline ning kui eelnevas
etapis alustatakse viga, tähendab see seda, et vea juurde saab tagasi tulla alles siis, kui tarkvara on kasutusele võetud.
kosemudel koosneb viiest etapist, mis rahuldav üldise tarkvaraarenduse elutspkli etappe. nendeks on: nõuete määratlemine, süsteemi ja tarkvara kavandamine, teostus ning moodulite testimine, integratsioonisüsteemide testimine ning kasutamine ja hooldus.
siin etapis dokumenteeritakse arendatava toote ja süsteemi nõuded, käitumine, et sihtriistvara jms.
vahest jaotatakse see etapp kaheks- süsteemi analüüs ja nõuete analüüs.
teises etapis kavandatakse arendusele mineva tarkvaratoote süsteem ja struktuur, keskendused selle funktsionaalsetele omadustele. need võivad olla erinevad andmestruktuurid, toote enda arhitektuur, erinevad liidesed,
nende liideste omadused ja muud algorütmilised detailid. kavandamise tulemused dokumenteeritakse ning selle järgi hinnatakse hiljem projekti kvaliteeti- mida rohkem kavandiust on tehtud, seda rohkem on
projektist valminud.
eelnevalt valminud kavandi järgi toimub selles etapis toote arendus. arendustöö käigus arendatakse programm moodulite kodumikuna/ moodulhaaval. peale arendustööd testitakse valmissaanud mooduleid
ja moodulikogumikke. olenevalt eelnevalt dokumenteeritud kavandi detailsusest tuleneb nüüd selles eteapis projekti arenduslihtsus- mida rohkem detaile on kavandatud, seda lihtsam on arendustöö
toimub kogu valmissaadud tarkvarasüsteemi testimine. peale testimist tarnitakse toode kliendile ja/või sihtrühmale. testitakse sellest vaatepunktist, kas süsteem teeb seda, mis eelnevalt dokumenteeritud
ning testitakse ka, et süsteemis olevad erinevad detailid on loogilised.
tegu on kõige pikema tarkvara elutsüklis oleva etapiga. siin toimub vigade parandus, funktsionaalsuse muutmine kliendi, turu, keskkonna või sihtrühma sisendi tagajärjel või vajadusel ja koodi enda refaktoreerimine. arendusttöö
teostamiseks korratakse kõiki eelmiseid etappe, kuid siis ainult süsteemi muutmine tarbeks, mitte enam nullist millegi uue arendamiseks.
iga etapi tulemusena tekib dokement või dokumentatsioon, mis kirjeldab vastavas etapis saavutatud tulemit. kõik dokumendid kinitatakse. järgmine etapp ei tohi olla samaaegselt töös, kui eelmine pole lõpetatud.
kuigi ülekate mingisügune siiski on ning info edastatakse ühest etapist järgmisesse edasi.
| HEAD | VEAD |
|---|---|
| kindel tegevus, mida järgida | paindumatus |
| hästi dokumenteeritud | liigselt dokumenteeritud |
| kindel struktuur | arendatakse lõpuni, ei saa võtta vahele muudatust |
viited infole: eõpearhiiv