Kosemudel (ehk waterfall) on üks esimesi tarkvaraarenduse elutrükli mudeleid. Ta põhineb tavalise
tootmisprotsessi eeskujul, kus iga etapp eelneb järgmisele. Tagasipöördumine eelmisesse etappi on
keeruline ning kui eelnevas etapis avastatakse viga, tähendab see seda, et vea juurde saab tagasi
tulla alles siis kui tarkvara on kasutusse läinud.
Kosemudel koosneb viiest etapist, mis rahuldab kõik üldise tarkvaraareduse elutsükli etappe.
Nendeks on: Nõuete määratlemine, Süsteemi ja Tarkvara kavandamine, Teostus ning moodulite testimine,
Integratsioon ja süsteemi testimine ning kasutamine ja hooldus.
See etapp võib olla ka jaotatud kaheks - süsteemi analüüs (kõik see, mis konkreetset tarkvara ümbritseb) ja nõuete
analüüs. Dokumenteeritakse süsteemi käitumine, jõudlus, liides jne.
Teise etapis kavandatakse arendusele mineva tarkvaratoote süsteem ja struktuur, keskendudes 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 mille jäörgi hiljem teostuses hinnatakse projekti kvaliteeti - Mida rohkem kavandist on tehtud, seda
rohkem on projektist valminud.
Eelnevalt valminud kavandi järgi toimub selles etapis toote arendus. Arendustöö käigus arendatakse
programm moodulhaaval või moodulite kogumikuna. Peale arendustööd testitakse valmis saanud mooduleid ja
moodulikogumikke. Olenevalt eelnevalt dokumenteeritud kavandi detailsusest tuleneb nüüd selles etapis
projektiarenduslihtsus. Mida rohkem on detaile 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 (kas siis kliendi, turu, keskkonna või sihtrühma sisendi tagajärjel või vajadusena) ja koodi
enda refaktoreerimine. Arendustöö teostamiseks korratakse kõik eelmiseid etappe kuid siis ainult
süsteemi muutmise tarbeks mitte enam millist millegi uue arendamise jaoks.
Iga etapi tulemusena tekib dokument või dokumentatsioon (üks või mitu) mis kirjeldab vastavas etapis
saavutatud tulemit. Kõik dokumendid kinnitatakse. Järgmine etapp ei tohi olla samaaegselt töös kui
eelmine pole lõpetatud. Kuigi ülekate mingisugune siiski on, ning info edastatakse etapist järgmisesse
edasi.
| Rohkema kavandatud detaili tõttu on lihtsam arendustööd teha. | Vea juurde saab tulla alles siis, kui tarkvara on juba kasutusse läinud. |
|---|---|
| mis on HEAD | mis on VEAD |
| mis on HEAD | mis on VEAD |
Viited infole: eõpearhiiv