tarkvaraarenduse elutsükkel on protsess, mille käigus tehakse mingisugune tarkvaratoode
Saab ka muuta juba olemasolevat tarkvaratoodet
Tarkvaratoode on midagi, mis saavutatakse tarkvaraarenduse elutsükkli käigus selle tulemina
ning mida klient või lõppkasutaja saab kasutada soovitud eesmargi saavutamiseks või probleeemi lahendamiseks
Tarkvaratoode võib olla kas installeeritav programm, serveritarkavara, draiver, või ükskõik, mis muu
rakendus, mis kasutaja jaoks midagi ära teeb.
Elutsükkli eesmärk on tagada, et valmistatakse kvaliteetne toode, mis vastab kliendi nõuetele, ning
kasutaja vajadustele ja mõlemi ootustele. Olgu need ootused siis funktsionaalsed või mittefunktsionaalsed.
Ideaalis on eesm'rk tagada ka seda, et toode valmiks õigeaegselt, jääb eelarve piiridesse, töötab kasutaja
jaoks efektiivselt, on võimeline itegreeruma kasutaja IT-taristuga ja ei ole kulukas hooldada ning, mida
saab vajadusel ka täiendada.
tarkvaraarenduse elutsüklid on oma sisemuselt jaotatud etappideks. Olenevalt mudelist need erinevad
aga üldiselt on igas mudelis olemad 4 üldist etappi mingi kujul, kui otsene analoog vastvalt mudelile
puudub. 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õppkasutajal vaja on, mid anad sellest ootavad. Selgitatakse välja funktsionaalsed nõuded (ehk mida
päriselt toode tegema peaks) ja mittefunktsionaalsed nõuded (ehk kuidas välja näeb, palju korraga kasutada
saab, millisel riistvara jooksma peab)
Näiteks oleks kalorikalulaatoril sellised nõuded:
| Funktsionaalsed nõuded | Mittefunktsionaalsed nõuded |
|---|---|
| Programm lubab kasutajal arvutada oma päevast tarbimist. | Kasutajal on lihtne ja mugav programmiaknas navigeerida. |
| Programm laseb kasutajal valida olemasolevaid tooteid. | Programm toetab vaegnägijaile programmi kasutust. |
| Kasutaja saab arvutada kaloreid kodus tehtud söögi kohta. | Programm ei hõiva ebaloogiliselt palju kasutaja süsteemiresursse. |
| programm saadab telefonile märguandeid hoitatuste ja eesmärkide saavutuste kohta. |
Programm ei salveta kasutaja isiklikku infot serveris. |
Siin määratakse ära süsteemi sisemine arhitektuur, osised, liidesed ja muud vajalikud omadused.
Selle töö tulemusena tekib arendatavast tarkavaprojektist 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 siin omakorda eraldi kaheks alametapis:
Selles etapis, põhinedes eelnevalt paika pandud kavandile, algabki arendustöö mille käigus reaalselt nüüd
tarkvaratoode valmis saadaksegi. Kuna eelnevalt kirjeldati ka süsteemi pisdetailid, saab siin rakendada kogu
arendusmeeskonda samaaegselt, kus iga liige või iga alamgrupp arendab ühte kirjeldatud detaili. kogu projekt on eri
osade kaudu paralleelselt arenduses. Selle etapi lõpupoole toimub ka testimine, otsitakse vigu, nii koodis kui ka
kasutaja vaatepunktist, ja tagatakse, et valmistatav tarkvaratoode on üleüldiselt veavaba ning omab kõrget
käivituskvaliteeti.
Pärast lõpetatud teostusetappi antakse toode kliendile ja kasutajale üle, ning küik mis toimub pärast üleandmist
on hooldus. Hoolduse all saab teostada edasisi parandusi, toote optimeerimist ja monitooringut
tagatakse, et tarkvaratoode jätkab tööd tõrgeteta.
Hooldusetapi raames sabb klient ka esitada uusi nõudeid, mida projektile juurde arendada, see aitab tootel püsida
konkurentsivõimelisena.
Hooldusel on tähtis, et hooldav arendava või meeskond oskaks lugedja ja aru saada eelnevate arendajate koodist.
see aitab kaasa projekti haldamisel kulude kokkuhoiule ning lubab teostada hooldust kiiremini ja aitab lihtsamini
muuta.
Tarkvaraarenduse elutsüklis on kõik eeltoodud etapid mingi kujul olemas.