Tarkvaraarenduse elutsükkel on protsess mille käöigus tehakse mingisugune rarkvaratoode
Saab ka muuta juba olemas olevat tarkvaratoodet.
Tarkvara toode on midagi, mis saavutatakse Tarkvaraareenduse elutsükli käigus selle tulemina
ning mida klient või lõppkasutaja saab kasutada millegi tegemiseks. Tarkvaratoode võib olla kas
installeeritav programm, serveritarkvara, driver või ükskõik muu rakendus mis kasutaja jaoks
midagi teeb.
Elutsükli eesmärk on tagada, et valmistatakse kvaliteetne toode, mis vastab kliendi nõueteöe
ning kasutaja vajadustele ning ootustele. Olgu need ootused siis funktsionaalsed või mittefunktsionaalsed.
Ideaalis on eesmärk on ka tagada seda, et toode valmiks õigeaegselt, jääb oma eelarve piiridesse, töötab
kasutaja jaoks efektiivselt, on võimeline integreeruma kasutaja IT taristuga ja ei ole kulukas hooldada,
ega vajadusel täiendada.
Tarkvaraarenduse elutsükkel on oma sisemuselt jaotatud etappideks. Olenevalt mudelist need erinevad
aga üldiselt on igas mudelis olemas need 4 üldist etappi mingil kujul, kui otsene analoog olenevalt mudelist
puudu. On olemas Analüüs, projekteerimine ja/või kavandamine, teostus ning hooldus.
Siin toimub tarkvaraprojektile vajalike nõuete selgitamine. Selgitatakse välja mida tahab klient, ning
mis lõppkasutajatel on vaja, mida nad sellest ootavad. Selgitatakse välja funktsionaalsed nõuded ja ka mittefunktsionaalsed nõuded. Näiteks oleks kalorikalkulaatoril sellised nõuded:
| Funktsionaalsed nõuded | Mittefunktsionaalsed nõuded |
|---|---|
| Programm laseb kasutajal valida olemasolevaid tooteid | Kasutajal on lihtne ja mugav programiaknas navigeerida |
| Programm lubab kasutajal arvutada oma päevast tarbimist | Programm toetab vaegnägijale programmi kasutust |
| Kasutaja saab arvutada kaloreid kodus tehtud söögi kohta | Programm ei võiva ebaloogiliselt palju kasutaja süsteemiressursse |
| Programm saab märguandeid telefonile hoiatuste ja eesmärkide saavutuse kohta | Programm ei salvesta kasutaja isiklikku infot serveris |
Siin määratakse ära, süsteemi sisemine arhetektuur, osised, liidesed ja muud omadused.
Selle töö tulemusena tekib arendatavast tarkvaraprojektile kavand. Selles etapis analüüsitakse
eelnevas etapis paikapandud nõudeid ja kirjeldatakse selle abil struktuur. Projekti kavand ongi
aluseks kuidas järgmises etapis projekti teostama hakatakse.
Mõnikord aga jaotatakse kavandamisetapp kaheks, kus üleüldine struktuur selgitatakse välja
detailidest eraldi. Need jaotatakse siis omakorda eraldi kaheks alametapiks:
Selles etapis, põhinedes eelnevalt saadud kavandis, algabki arendustöö mille käigus reaalselt nüü
on eri osade kaudu paralleelselt arenduses. Siin toimub ka testimine, otsitakse vigu, nii koodis kui
kasutaja vaatepunktist, ja tagatakse et valmistatav tarkvaratoode on üleüldiselt vigade vaba-
Pärast lõpetatud teostusetappi antakse toode kliendile ja kasutajaile üle, ning kõik mis toimub pärast
üleandmist, on hooldus. Hoolduse all saab teostada edasisi parandusi, toote optimeerimist ja monitooringut
mille abil tagatakse et tarkvaratoode jätkab tööd tõrgeteta
tootel püsida konkurentsivõimelisena.
Hooldusel on täthis, et hooldav arendaja või meeskond oskaks lugeda ja aru saada eelnevate arendajate
koodist. See aitab kaasa projekti haldamisel kulude kokkuhoiule, lubab teostada hooldust kiiremini ja
aitab lihtsamini muuta.
Tarkvaraarenduse elutsüklis on kõik eeltoodud etapid mingil kujul olemnas.
br/>Alljärgnev nimekiri on näidetest erinevatest elutsüklimudelitest: