Tagasi avalehele

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


Tarkvararenduse elutsükkel on protsess, mille käigus tehakse mingisugune tarkvaratoode
Saab ka muuta juba olemasolevat tarkvaratoodet


Mis on tarkvaratoode?


Tarkvaratoode on midagi, mis saavutatakse tarkvaraelutsükli käigus selle tulemina
ning mida klient või lõppkasutaja saab kasutada 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 kvaliteente toode, mis vastab kliendi nõuetele ning
vastab kliendi vajadustele ja mõlemi ootustele. Olgu need ootused siis funktsionaalsed või mittsfunktsionaalsed
Ideaalis on eesmärk tagada ka seda, et toode valmiks õigeaegselt, jääb eelarve piiridesse, töötab kasutaja
jaoks efektiivselt, on võimeline integreeruma kasutaja IT-taristuga ja ei ole kulukas hooldada ning mida saab
vajadusel ka täiundada


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


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


Mida ndendes 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õueded (ehk mida
päriselt toode tegema peaks) ja mittefunktsionaalsed nõuded (ehk kuidas välja näeb, palju korraga kasutada
saab, millel riistvara jooksma peaks)
Näiteks oleks kalorikalkulaatoril sellised nõuded:

Funktsionaalsed nõuded Mitteunktsionaalsed nõuded
Programm lubab kasutajal arvutada oma päevas 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ü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 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 kavandamis etapp kaheks, kus üleüldine struktuur selegitatakse välja detailidest
eraldi. Need jaotatakse siis omakorda eraldi kaheks alametapiks:


Arhitektuuri kavandamises keskendutakse siis üleüldisele struktuurile: määratakse ära erinevad kõrgema taseme
komponendid, seosed teiste tarkvara osade vahel, jms. Detailses kavandamisetapis aga keskendutakse juba
individuaalsetele komponendidele, funktsioonidele, objektidele, algoritmidele jms.


Teostusetapp:


Selles etapis, põhinedes eelnevalt paika pandud kavandile, algabki arendustöö mille käigus reaalselt nüüd
tarkvaratoode valmis saadakse. Kuna eelnevalt kirjeldati ka süsteemi pisidetailid, saab siin rakendada kogu
arendusmeeskonna saamaaegselt, kus iga liige või alamgrupp arendab ühte kirjeldatud detaili. Kogu projekt on eri
osade kaudu paralleelselt arendatud. Selle etapi lõpu poole toimub testimine, otsitakse vigu nii koodis kui ka
kasutaja vaatepunktis, ja tagatakse, et valmistatav tarkvaratoode on üleüldiselt veavaba ning omab kõrget
käitluskvaliteeti


Hooldusetapp:

Pärast lõpetatud teostusetapi antakse toode kliednile ja kasutajale üle, ning kõik mis toimub pärast üleandmist
on hooldus. Hoolduse all saab teostada edasisi parandusi, toote optimiseerimist ja monitooringut, mille abil
tagatakse, et tarkvaratoode jätab tööd tõrgedeta.
Hooldusetapi 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 arusaada eelnevate arendajate koodist.
See aitab kaasa projekti haldamise kulude kokkuhoiule ning lubab teostada hooldust kiiremini ja aitab lihtsamini
muuta.


Tarkvaraarenduse elutsüklis on kõik eeltoodud etapid mingi kujul olemas


Erinevad Tarkvaraarenduse Elutsükli Mudelid