Ero sivun ”Ohjelmistotuotanto” versioiden välillä

[arvioimaton versio][arvioimaton versio]
Poistettu sisältö Lisätty sisältö
Ei muokkausyhteenvetoa
Rivi 13:
 
Vesiputousmallissa suurin vaikeus on suunnitella koko tuote kerralla toteutuskuntoon.
NykyisinKäytännössä tuotantoprosessi on usein ''iteratiivinen'', eli suunnittelua ja toteutusta tehdään pienimmissä osissa ja prosessia toistetaan. Näin ohjelmisto kehittyy ''inkrementaalisesti'' eli koko ajan kasvaen kohti lopullista muotoaan. Tästä käytännön sanelemasta tarpeesta ovat syntyneet useat iteratiiviset prosessimallit, kuten [[RUP|Rational Unified Process]], spiraalimalli tai ns. [[Ketterä_ohjelmistokehitys|ketterä kehitys]].
 
Kun vesiputousmalliin yhdistetään joka vaihetta vastaava testaus (esim. vaatimusmäärittelystä hyväksymistestaus) aikajanalle syntyy nk. ''V-malli'', jonka vasen sakara kuvastaa prosesin vaiheita ja oikea kunkin testausta. Prosessia, joka toistaa alemman tason suunnittelua ja toteutusta, kutsutaankin ''W-malliksi'', jossa keskisakara kuvastaa iteraatiota.
 
Nopeasti muuttuvassa ympäristössä ennalta suunnittelun vaikeus on noussut suurimmaksi esteeksi perinteiselle vesiputousmallille. Iteratiivinen prosessi antaa mahdollisuuden muuttaa projektin kulkua ja suuntaa hallitusti kesken prosessin. Ohjelmisto ei useinkaan tule kerralla valmiiksi, ja monet ohjelmistotuotteet jatkavat kehitystään julkaisun jälkeenkin. Nopeiten kehittyvillä ohjelmistotuotannon aloilla ja etenkin pienemmissä ohjelmpistoprojekteissaohjelmistoprojekteissa on omaksuttu nk. [[ketterä ohjelmistokehitys|ketteriä ohjelmistoprosesseja]], jotka korostavat muutosten hallintaa ja nopeita iteraatiosyklejä.
 
Vesiputousmalli kuvastaa ohjelmistotuotantoa teoreettisella tasolla hyvin, mutta sen soveltuvuudesta käytännön ohjelmistotuotantoon ollaan erimielisiä. Vesiputousmallin tärkein ansio onkin antaa raamit, joita myös iteratiiviset prosessit noudattavat, vaikkakin huomattavasti tiheämmissä sykleissä ja kevyemmillä menetelmillä. Voidaankin sanoa, että kaikki ohjelmistotuotantoprojektit noudattavat jollain tasolla vesiputousmallia, mutta eivät välttämättä toteuta kaikkia sen vaiheita dokumentoiduilla menetelmillä.
Vesiputousmalli kuvastaa ohjelmistotuotantoa melko kehnosti ja sopii paremmin talonrakennusprojekteihin, mutta eri vaiheiden tavoitteet ja tehtävät ovat suurin piirtein samat, vaikka järjestys ja toteutustapa saattaa vaihdella suurestikin.
 
== Ohjelmiston elinkaaren vaiheet ==