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

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

Mis on tarkvaratoode?


Tarkvara toode on midagi, mis saavutatakse tarkvaraarenduse elutsükli käigus selle tulemina
ning mida klient või lõppkasutaja saab 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 ootused siis funktsioonalsed või mittefunktsionaalsed.
Ideaalis on eesmärk tagada ka seda, et toode valmiks õigeagselt, jääb eelarve piiridesse, töötab kasutaja
jaoks efektiivselt, on võimeline integreeruma IT-taristuga ja ei ole kulukas hooldada ning mida
saab vajadusel ka täiendada.

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

tarkvaraarenduse elutsüklid on oma sisemuselt jaotatud etappideks. Olenevalt mudelist need erinevad
aga üldiselt on igas mudelis olemas need 4 üldist etappi mingi kujul, kui otsene analoog vastavalt mudelile
puudub. On olemas Analüüs, Projekteerimine ja/või Kavandamine, Teostus ning 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 funktsioonalsed nõuded (ehk mida
päriselt toode tegema peaks) ja mittefunktsionaalsed nõuded (ehk kuidas välja näeb, palju korraga kasutada
saab, millisel riistvaral jooksma peab)
Näiteks Oleks KaloriKalkulatooril sellised nõuded:

funktsioonalsed 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 väegnägijale 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 hoiatuse ja eesmärkide saavutuse 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
eluseks juidas 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:


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


Teostusetapp:

Selles etapis, põhinedes eelnevalt paika pandud kavandile, algabki arendustöö mille kikus reaalselt nüüd
tarkvaratoode valmis saadaksegi. Kuna eelnevalt kirjeldati ka süsteemi pisidetailid, saab siin rakendada kogu
arendusmeeskonda samaaegselt, kus iga liige või iga alamgrupp arendab ühte kirjelatud detaili. Kogu projekt on
eriosade 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 omag kõrget
käitluskvaliteedi.


Hooldusetapp:

Pärast lõppetatud teostusetappi antakse toode kliendile ja kasutajatele ü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.


Erinevad Tarkvaraarenduse Elutsükkli Mudelid