V-mudel on tarkvaraarenduse elu tsükli protsess, mis ühendab arenduse ja testimise etapid vastavatesse "verifitseerimise" ja "valideerimise" faasidesse. Mudeli nimi tuleneb oma kujust, kus erinevad etapid on jagatud kahte külge, moodustades "V"-kujundi.
Esimeses etapis kogutakse klientide nõuded tarkvara arendamiseks ning määratakse projekti ulatus.
Projekteerimise faasis luuakse tarkvara arhitektuur ja disain, sealhulgas nii kõrgetasemeline disain (HLD) kui ka detailne disain.
Arendatakse tarkvara vastavalt koostatud disainile.
Tarkvara testitakse, et veenduda, et see vastab klientide nõudmistele ja on kvaliteetne.
Tarkvara paigaldatakse ja viiakse kasutusse.
Tarkvara hooldatakse, et tagada selle vastavus klientide muutuvatele nõudmistele.
V-mudelis on iga arenduse etapp seotud vastava testimisfaasiga, et tagada nõuete täitmine iga arenduse ja testimise tasandi kohta.
Testitakse väiksemaid tarkvaramooduleid, et veenduda, et iga osa töötab õigesti.
Testitakse moodulite vahelist koostööd, et tagada nende üksteisega töötamise sujuvus.
Testitakse kogu süsteemi terviklikkust, et veenduda, et kõik osad töötavad koos.
Lõpuks testitakse tarkvara reaalsetes kasutusoludes, et veenduda, et see täidab algsed nõudmised.
| V-shape arendusmudeli head | V-shape arendusmudeli vead |
| Kõik arendusetapid on seotud testimisega, mis aitab vigu varakult tuvastada, vähendades hilisema arendustöö kulusid. | Kuna V-mudel järgib ranget järjekorda, võib see olla keeruline, kui nõuded muutuvad arenduse käigus. |
| Iga arendusetapi ja testimisfaasi vahel on selged seosed, mis aitavad vältida segadust ja tagavad sujuva tööprotsessi. | Mudel võib olla aeganõudev, kuna iga etapi lõpus tuleb põhjalikult dokumenteerida ja testida. |
| V-mudel soodustab koostööd arendajate ja testijate vahel, võimaldades paremat kommunikatsiooni ja arusaamist projekti nõudmistest ja disainist. | V-mudel ei sobi keerukate ja kiiresti muutuvate süsteemide arendamiseks, kuna iga etapp on väga järjepidev ja üksnes järjestikune. |