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 millegi tegemiseks. Tarkvaratoode võib olla kas installeeritav programm, serveritarkvara, driver või ükskõik mis muu rakendus, mis kasutaja jaoks midagi 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 ootustele. Olgu need ootused siis funktsionaalsed või mittefunktsioaalsed. Ideaalis on eesmärk ka ttagada seda, et toode valmiks õigeaegselt, jääb oma eelarve piiridesse, töötab kasutaja jaoks efektiivselt, on võimeline integreeruma kasutaja IT taristuga ja ei ole kulukas hooldada ega vajadusel täiendada.
Milline näeb välja tüüpiline tarkvaraarenduse elutsükkel?
Tarkvaraarenduse elutsükkel on oma sisemuselt jaotatud etappideks. Olenevalt mudelist on need erinevad aga üldiselt on igas mudelis olemas need 4 üldist etappi mingil kujul, kui otsene analoog olenevalt mudelist 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 funktsionaalsed nõuded kui ka mittefunktsionaalsed nõuded. Näiteks oleks kalorikalkulaatoril järgmised 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 kasutamist |
| Kasutaja saab arvutada kaloreid kodus tehtud söögi kohta | Programm ei hõiva ebaloogiliselt palju kasutaja süsteemiressursse |
| Programm saadab märguandeid telefonile 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 omadused. Selle töö tulemusena tekib arendatavast tarkvaraprojektist kavand. Selles etapis analüüsitakse eelnevas etapis paikapandud nõudeid ja kirjeldatakse selle abil struktuur. Projekti kuvand ongi aluseks kuidas järgmises etapis projekti teostama hakatakse.
- Arhitektuuri kavandamise etapp
- Detailne kavandamisetapp
Erinevad tarkvaraarenduse elutsüklid
Alljärgnev nimekiri on näidetest erinevatest elutsüklimudelitest