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

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

Mis on tarkvaratoode

Tarkvara toode on midagi, mis saavutatakse tarkvaraarenduse elutsükli käigus. Seda saab klient või lõppkasutaja kasutada soovitud eesmärgi saavutamiseks või probleemi lahenduseks. Tarkvaratoode võib olla installeeritav programm, serveritarkvara, draiver või mõni 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 ja kasutaja ootustele. Eesmärk on, et toode valmiks õigeaegselt, jääks eelarve piiridesse, töötaks efektiivselt, oleks võimeline integreeruma IT-taristuga, oleks kergesti hooldatav ning vajadusel täiendada võimalik.

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

Tarkvaraarenduse elutsüklid jagunevad etappideks. Üldiselt on igas mudelis olemas neli etappi: Analüüs, Projekteerimine, Teostus ja Hooldus.

Mida nendes etappides tehakse?

Analüüsi etapp

Siin toimub tarkvaraprojektile vajalike nõuete selgitamine. Selgitatakse välja, mida klient ja lõppkasutaja soovivad ning millised on funktsionaalsed ja mittefunktsionaalsed nõuded. Näiteks kalorikalkulaatori nõuded:

Funktsionaalsed nõuded Mittefunktsionaalsed nõuded
Programm lubab kasutajal arvutada oma päevast tarbimist Kasutajal on lihtne ja mugav programmis navigeerida
Programm laseb kasutajal valida olemasolevaid tooteid Programm toetab vaegnägijatel programmi kasutust
Kasutaja saab arvutada kalorid tehtud söögi kohta Programm ei hõiva ebaloogiliselt palju süsteemiresursse
Programmid saadab märguandeid eesmärkide saavutuste kohta Programm ei salvesta kasutaja isiklikku infot serveris

Projekteerimise etapp

Siin määratakse süsteemi arhitektuur, osised, liidesed ja vajalikud andmed. Tulemusena tekib tarkvaraprojekti kavand, mis määrab, kuidas järgmises etapis arendustöö toimub. Mõnikord jaotatakse kavandamine kaheks alametapiks:

Arhitektuuri kavandmises keskendutakse kõrgema taseme struktuurile ja komponentidele. Detailse kavandamise etapis keskendutakse individuaalsetele komponentidele, funktsioonidele, objektidele ja algoritmidele.

Teostusetapp

Siin algab arendustöö vastavalt kavandile. Meeskond arendab eri osasid paralleelselt. Etapi lõpupoole toimub testimine, otsitakse vigu nii koodis kui kasutajavaates, tagades kvaliteetse toote.

Hooldusetapp

Pärast üleandmist teostatakse hooldust: veaparandused, optimeerimine, monitooring. Klient võib esitada uusi nõudeid, et toode püsiks konkurentsivõimeline. Hooldusel on oluline, et arendaja mõistaks eelnevate meeskondade koodi, mis säästab aega ja kulusid.

Erinevad tarkvaraarenduse elutsükli mudelid