Tarkvara arendus hõlmab mitmesuguseid mõisteid ja tehnoloogiaid. Siin on mõned peamised:
- Tarkvara arenduse elutsükkel (SDLC): See on tarkvara loomise protsess, mis sisaldab mitmeid etappe: planeerimine, nõuete analüüs, disain, arendamine, testimine, rakendamine ja hooldus.
- Arendusmetoodikad:
- Agile: Paindlik metoodika, mis põhineb iteratiivsel arendusel, regulaarsete täiustuste ja tagasiside kogumisega.
- Waterfall (veekaskaadi mudel): Traditsiooniline mudel, kus iga arendusetapp peab olema lõpetatud enne järgmise etapi alustamist.
- DevOps: Metoodika, mis ühendab arendajad ja operatsioonimeeskonnad, et kiirendada tarkvara tarnimist.
- Programmeerimiskeeled: Keeled, milles kirjutatakse tarkvara kood. Populaarsed näited on Python, Java, C++, JavaScript, Ruby jne.
- Raamistikud ja teegid: Need kiirendavad arendamist, pakkudes valmis lahendusi tavaliste ülesannete jaoks. Näiteks React veebiarenduses, Django Pythonis, Spring Java jaoks.
- Tarkvara testimine: Sisaldab erinevaid testimisliike, nagu üksustestimine, integratsioonitestimine, süsteemitestimine ja aktsepteerimistestimine.
- Projektide haldamise tööriistad: Tarkvara, mis aitab meeskondadel tööd korraldada ja jälgida, näiteks Jira, Trello, Asana.
- Versioonihaldus: Süsteemid, mis jälgivad koodimuudatusi, nagu Git (ja platvormid nagu GitHub või GitLab), võimaldavad meeskondadel koos töötada ja andmeid mitte kaotada.
- API (rakendusliidesed): Mehhanismid, mis võimaldavad erinevatel tarkvaradel üksteisega suhelda.
- Tarkvara arhitektuur: Süsteemi struktuur, mis määrab ära, kuidas erinevad komponendid omavahel suhtlevad. Näiteks mikroteenuste arhitektuur, kus iga süsteemi osa töötab sõltumatult.
- Andmebaasid: Andmete salvestamiseks kasutatakse erinevaid andmebaasisüsteeme, nagu MySQL, PostgreSQL, MongoDB jne.
Tarkvara arendus on keeruline ja mitmekesine protsess, mis hõlmab nii tehnilisi, organisatsioonilisi kui ka projektijuhtimisaspekte.