Mis on tarkvaraarenduse elutsükkel (SDLC - Software Development Life Cicle

Tarkvaraarendsuse elutsükkel on protsess mille käigus tehakse mingisugune tarvaratoode
Saab kaa muuta juba olemasolevat tarkvaratoodet

Mis on tarkvaratoode

Tarkvara toode on midagi mis saavutadakse tarvaraarendus elutsükkli käigus selle tulemina
ning mida klient või kasutaja saab kasutada soovitud eesmärgi saavutamiseks või probleemi lahendamiseks
tarkvara toode võib olla kas installeeritav programm, serrveri tarkvara driver või ükskõik mis muu
rakendus mis kasutaja jaoks midagi ära teeb

Mis on tarkvaraarenduse elutsükkli eesmärk?

Elutsükkli eesmärk on tagada et valmistatakse kvaliteetne toode, mis vastab kliendi nõuetele ning
kasutaja vajadustele ja mõlema 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 itegeeruma kasutaja IT-tarustuga ja ei ole kulukas hooldada ning mida
saab vajadusel ka täiendada.

Milline näeb välja tüüpiline tarkvaraarenduse elutsükkel?

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 vastavalt mudelile puudub.
On olemas Analüüs, Projekteerimine ja kavaldamine, Teostus ning hooldus.

Mida nendes etappides tehakse


Analüüsi etapp

Siin toimub tarkvaraprojektile vajalike nõeuete 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
päriselt toode tegema peaks) ja mittefunktsionaalsed nõuded (ehk kuidas välja, palju korraga kastuada br saab, millisel riistvara jooksma peab)
Näiteks oleks kalorikalkulaatoril 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 arvtada kaloerid kodus tehtud söögi kohta. programm ei hõiva ebaloogiliselt palju kasutaja süsteemiressursse
Programm saab telefonile märguandmeid hoiatuste ja eesmärkide saavutatuse kohta. programm ei salvesta kastuaja 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 kavand. Selles etappis analüüsitakse
eelnevas etappis paikapandud nõudeid ja kirjeldatakse selle abil struktuur. Projekti kavand ongi
aluseks kuidas järgmises etapis projekti teotstama hakkatakse.
mõnikord aga jaotatakse kavandamisetappi kaheks, kus üleüldine struktuur selgitatakse välja detailidest
eraldi. Need jaotatakse siis omakorda eraldi kaheks alametapiks:

arhitektuu kavandamises keskendustatakse siis üleüldiselt struktuurile: määratakse ära erinevad kõrgema taseme
komponendid, seosed teiste tarkvara osade vahel, jms. Detailse kavandamisetapis aga keskundutakse juba
individuaalsetele komponendidel, funktsioonidele, objektidele, algorithmidele jms.

Teostusetapp

Selles etapid, põhinedes eelnevalt paika pandud kavandile, algabki arendustöö mille käigus reaalselt nüüd
tarkvaratoode valmis saadaksegi. Kuna eelnevalt kirjedati ka süsteemi pisidetailid, saad siin rakndada kogu
arendusmeeskonna 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 estimine, otsitakse viga, nii koodis kui ka
kasutaja vaatepunktist, ja tagastatakse, et valmistatav tarkvaratoode on üleüldiselt veavaba ning omab kõrget
käitluskvaliteeti


Hooldusetapp:


Pärast lõpetatud testusetappi antakse toode kliendile a kastuajale üle, ning kõik mis toimub pärast üleandmist
on hooldus. Hoolduse all saab edasisi parandata, toote optimeerimist ja monitooringut, mille abil
tagastatakse, et tarkvaratoode jätkab tööd tõrgeteta.
Hoolduseetapi raames saab klient ka esitada uusi nõudeid, mida projektile juurde arendada. See aitab tootel püsida
konkurentsivõimelisena.
Hooldusel 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 elutüskklis on kõik eeltoodud etapid mingi kujul olemas.



Erinevad tarkvaraarenduse elutüskkli mudelid