Mikä on vesiputousmalli?
WATERFALL MODEL on peräkkäinen malli, joka jakaa ohjelmistokehityksen ennalta määriteltyihin vaiheisiin. Jokaisen vaiheen on oltava valmis, ennen kuin seuraava vaihe voi alkaa ilman päällekkäisyyttä vaiheiden välillä. Jokainen vaihe on suunniteltu suorittamaan tietty aktiivisuus SDLC-vaiheen aikana. Sen esitteli Winston Royce vuonna 1970.
Vesiputousmallin eri vaiheet ohjelmistotuotannossa
Eri vaiheet | Kussakin vaiheessa suoritetut toiminnot |
Vaatimusten kokoamisvaihe |
- Tässä vaiheessa asiakkaalta kerätään kehitettävän ohjelmistojärjestelmän yksityiskohtaiset vaatimukset
|
Suunnitteluvaihe |
- Suunnittele ohjelmointikieli, esimerkiksi Java, PHP, .net
- tai tietokanta, kuten Oracle, MySQL jne.
- Tai muita korkean tason teknisiä yksityiskohtia projektista
|
Rakennettu vaihe |
- Suunnitteluvaiheen jälkeen se on rakennettu vaihe, joka on vain ohjelmiston koodaus
|
Testivaihe |
- Tässä vaiheessa testaat ohjelmiston varmistaaksesi, että se on rakennettu asiakkaan antamien määritysten mukaisesti.
|
Käyttöönottovaihe |
- Ota sovellus käyttöön kyseisessä ympäristössä
|
Huoltovaihe |
- Kun järjestelmäsi on käyttövalmis, saatat myöhemmin vaatia koodin vaihtamista asiakkaan pyynnöstä
|
Milloin käyttää SDLC-vesiputousmallia
Vesiputousmallia voidaan käyttää milloin
- Vaatimukset eivät muutu usein
- Sovellus ei ole monimutkainen ja iso
- Projekti on lyhyt
- Vaatimus on selvä
- Ympäristö on vakaa
- Käytetty tekniikka ja työkalut eivät ole dynaamisia ja vakaita
- Resursseja on saatavilla ja koulutettu
Vesiputousmallin edut ja haitat
Edut | Dis-edut |
- Jokainen vaihe on suoritettava ennen seuraavaa kehitysvaihetta
|
- Virhe voidaan korjata vain vaiheen aikana
|
- Sopii pienempiin projekteihin, joissa vaatimukset on määritelty hyvin
|
- Ei ole toivottavaa monimutkaisessa projektissa, jossa vaatimus muuttuu usein
|
- Heidän on suoritettava laadunvarmistustesti (todentaminen ja validointi) ennen kunkin vaiheen suorittamista
|
- Testausjakso tulee melko myöhään kehitysprosessissa
|
- Kehittynyt dokumentaatio tehdään ohjelmiston jokaisessa kehitysvaiheessa
|
- Dokumentaatio vie paljon aikaa kehittäjille ja testaajille
|
- Projekti on täysin riippuvainen projektitiimistä, ja asiakkaan on puututtava siihen mahdollisimman vähän
|
- Asiakkaiden arvokasta palautetta ei voida sisällyttää käynnissä olevaan kehitysvaiheeseen
|
- Mahdolliset muutokset ohjelmistoihin tehdään kehityksen aikana
|
- Valmiissa ohjelmistossa esiintyvät pienet muutokset tai virheet voivat aiheuttaa paljon ongelmia
|