Mis on Tarkvaraarenduse elutsükkel (SDLC - Software Development Life Cycle)

Tarkvaraarenduse elutsükkel on protsess mille käigus tehakse mingisugune tarkvaratoode
saab kla muuta juba olemasolevat tarkvaratoodet

Mis on tarkvaratoode?


Tarkvara toode on midagi, mis saavutatakse tarkavaraarenduse elutsükli käigus selle tulemina
ning mida klient või kasutaja vsaab kasutada soovitud eesmärgi saavutamiseks või probleemi lahendamiseks.
Tarkvaratoode võib olla kas installeeritav programm, serveritarkvara, draiver, või ükskõik mis muu
rakendus mis kasutaja jaoks midagi ära teeb

Mis on tarkvaraarenduse elutsükli eesmärk?

Elutsükli eesmärk on tagada, et valmistatakse kvaliteetne toode, mis vastab kliendi nõuetele, ning
kasutaja vajadustele ja mõlemi ootustele. Olgu need ootsued siis funktsionaalsed või mittefunktsionaalsed.
Ideaalis on eesmärk tagada ka seda, et toode valmiks õigeaegselt, jääb eelarve piirdesse, töötab kasutaja
jaoks efektiivselt, on võimeline inegreeruma kasutaja IT-targistuga ja ei ole kulukas hooldada ning mida
saab vajadusel ka täiendada

Milline näeb cälja tüüpiline tyarkvaraarenduse elutsükkel?


Tarkvaraarenduse elutsüklid on oma sisemuselt jaotatud etappideks. Olenevalt mudelist need erinevad
aga üldiselt on igas mudelis olemas need 4 üldist etappi mingil kujul, kui otsene analoog vastavalt mudelile
puudub. On olemas Analüüs, Projekteerimine ja/või Kavandamine, Teostus ninng Hooldus.



Mida nendes etappides tehakse?

Analüüsi etapp

Siin toimub tarkvaraprojektile vajalike nõuete selgitamine. Selgitatakse Välja mida tahab Klient, ning
mis lõppkasutajal vaja on, mida nad sellest ootavad. Selgitatakse välja funktsionaalsed nõuded (ehk mida
päriselt toode tegema peaks) ja mitte funktsioonaalsed nõuded (ehk kuidas välja näeb, palju korraga kasutada
saab, millisel riistvara jooksma peab)
Näiteks oleks kalorikalkulaatoril sellied nõuded:

Funktsionaalsed nõuded Mittefunktsionaalsed nõuded
Programm lubab kasutaja arvutada oma päevast tarbimist Kasutajal on lihtne ja mugav programmiaknas navigeerida
Programm laseb kasutajal valida olemasolevaid tooteid. Programm toetab vaegnägijale programmi kasutust
Kasutaja saab aarvutada kalored kodus tehtud söögi kohta. Programm ei hõiva ebaloogiliselt palju kasutaja süsteemiressursse.
Programm saadab telefonile märguandeid hoiatuste ja eesmärkide saavutatuse kohta. Programm ei salvesta kasutaja isiklikku infot serveris.


Projekteerimise etapp:


Siin määratakse ära süsteemi sisemine arhitektuur, osised, liidesed ja muud vajalikud omadused.
Selle töö tulemusena tekib arendatavast tarkvaraprojektist kavad. Selles etapis analüüsitakse
eelnevas etampis paikapandud nõudeid ja kirjeldatakse selle abil struktuur. Projekti kavad ongi
aluseks kuidas järgmises etapis projekti teostama hakatakase.
Mõnikord aga jaotatakse kavandamisetapp kaheks, kus üleüldine struktuur selgitatakse välja detailidest
eraldi. Need jaotatakse siis omakorda eraldi kaheks alamtapiks:


Arhitektuuri kavandamises keskentutakse siis üleüldisele struktuurile: määratakse ära erinevad kõrgmea taseme
komponendid, seosed teiste tarkvara osade vahel, jms. Detailses kavandamisetapis aga keskendutakse juna
individuaalsete komponentidele, funktsioonidele, objektidele, algoritmidele jms.


Tepstusetapp


Selles etapis, põhhinendes eelnevalt paika pandud kavandile, algabki arendustöö mille käigus reaalselt nüüd
tarkvaratoode valmis saadaksegi. Kuna eelnevalt kirjeldati ka süsteemi pisidetailid, saab rakendada kogu
arendusmeeskonda samaaegselt, kus iga liige või iga alamgroupp arendab ühte kirjeldatued detaili. kogu projekt on eri
osade kaudu paralleelselt arenduses. Selle etapi lõpupoole toimub ka testimine, otsitakse viga, nii koodis kui ka
kasutaja vaatepunktist, ja tagastaksem, et valmistatav tarkvaratoode on üleüldiselt vaevaba ning omab kõrget
käitluskvaliteeti

Hooldusetapp:


Pärast lõpoetatud 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 monitororingut mille abil
tagatakse et tarkvaratoode jätkab tööd tõrgeteta.
Hooldusetapi raames saab klient ka esitada uusi nõudeid, mida projektile juurde arendada. See aitab tootel püsida
konkurentsivõimelisena
Hooldnusel on tähtis , et hooldav arendaja või meeskond oskaks lugeda 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 eeltootdud etapid mingil kujul olemas



Erinevad Tarkvaraarenduse Elutsükli Mudelid