SDLC – Iteratiivinen malli

Advertisements

Iteratiivisessa mallissa iteratiivinen prosessi aloitetaan pienen joukon ohjelmistovaatimusten yksinkertaisella toteutuksella, ja iteratiivisesti parannetaan kehittyviä versioita, kunnes kokonainen järjestelmä on toteutettu ja valmis käyttöönotettavaksi.

Iteratiivisessa elinkaarimallissa ei pyritä aloittamaan täydellisestä vaatimusmäärittelystä. Sen sijaan kehitys aloitetaan määrittelemällä ja toteuttamalla vain osa ohjelmistosta, jota sitten tarkastellaan uudelleen lisävaatimusten tunnistamiseksi. Tämä prosessi toistetaan, jolloin tuotetaan uusi versio ohjelmistosta mallin jokaisen iteraation lopussa.

Iteratiivinen malli – suunnittelu

Iteratiivinen prosessi alkaa yksinkertaisella ohjelmistovaatimusten osajoukon toteutuksella ja parantaa iteratiivisesti kehittyviä versioita, kunnes koko järjestelmä on toteutettu. Jokaisessa iteraatiossa tehdään suunnittelumuutoksia ja lisätään uusia toiminnallisia ominaisuuksia. Menetelmän perusajatuksena on kehittää järjestelmää toistuvien syklien kautta (iteratiivinen) ja pienemmissä osissa kerrallaan (inkrementaalinen).

Oheinen kuva esittää iteratiivisen ja inkrementaalisen mallin –

Iteratiivinen ja inkrementaalinen kehitys on yhdistelmä sekä iteratiivista suunnittelua tai iteratiivista menetelmää että inkrementaalista rakentamismallia kehittämisessä. ”Ohjelmistokehityksen aikana ohjelmistokehityssyklin useampi kuin yksi iteraatio voi olla käynnissä samanaikaisesti.” Tätä prosessia voidaan kuvata ”evolutiivisena hankintamenetelmänä” tai ”inkrementaalisena rakentamismenetelmänä”.”

Tässä inkrementaalisessa mallissa koko vaatimus jaetaan eri rakennuskerroksiin. Jokaisen iteraation aikana kehitysmoduuli käy läpi vaatimus-, suunnittelu-, toteutus- ja testausvaiheet. Jokainen seuraava moduulin versio lisää toimintoja edelliseen versioon. Prosessi jatkuu, kunnes koko järjestelmä on valmis vaatimuksen mukaisesti.

Iteratiivisen ohjelmistokehityksen elinkaaren menestyksekkään käytön avaintekijä on vaatimusten tiukka validointi ja kunkin ohjelmistoversion verifiointi & testaaminen kyseisiin vaatimuksiin nähden mallin kunkin syklin aikana. Kun ohjelmisto kehittyy peräkkäisten syklien aikana, testit on toistettava ja laajennettava, jotta jokainen ohjelmistoversio voidaan todentaa.

Iteratiivinen malli – Sovellukset

Kuten muillakin SDLC-malleilla, myös iteratiivisella ja inkrementaalisella kehityksellä on joitakin erityisiä sovelluksia ohjelmistoteollisuudessa. Tätä mallia käytetään useimmiten seuraavissa skenaarioissa –

  • Kokonaisjärjestelmän vaatimukset on selkeästi määritelty ja ymmärretty.

  • Päävaatimukset on määriteltävä; jotkin toiminnallisuudet tai pyydetyt parannukset voivat kuitenkin kehittyä ajan myötä.

  • Markkinoilla on aikarajoitus.

  • Kehitystiimi käyttää uutta teknologiaa ja oppii sitä projektin aikana.

  • Resursseja, joilla on tarvittava osaaminen, ei ole käytettävissä, ja niitä on tarkoitus käyttää sopimuspohjaisesti tietyissä iteraatioissa.

  • On joitakin korkean riskin ominaisuuksia ja tavoitteita, jotka voivat muuttua tulevaisuudessa.

Iteratiivinen malli – hyvät ja huonot puolet

Tämän mallin etuna on se, että järjestelmästä on olemassa toimiva malli hyvin varhaisessa kehitysvaiheessa, mikä helpottaa toiminnallisten tai suunnitteluvirheiden löytämistä. Ongelmien löytäminen kehityksen varhaisessa vaiheessa mahdollistaa korjaavien toimenpiteiden toteuttamisen rajallisella budjetilla.

Tämän SDLC-mallin haittapuolena on se, että sitä voidaan soveltaa vain suuriin ja mittaviin ohjelmistokehitysprojekteihin. Tämä johtuu siitä, että pientä ohjelmistojärjestelmää on vaikea pilkkoa edelleen pieniin käyttökelpoisiin inkrementteihin/moduuleihin.

Iteratiivisen ja inkrementaalisen SDLC-mallin edut ovat seuraavat –

  • Joitakin toimivia toiminnallisuuksia voidaan kehittää nopeasti ja varhaisessa elinkaaren vaiheessa.

  • Tuloksia saadaan aikaisin ja määräajoin.

  • Rinnakkaiskehitys voidaan suunnitella.

  • Edistymistä voidaan mitata.

  • Kustannuksiltaan edullisempaa muuttaa soveltamisalaa/vaatimuksia.

  • Testaaminen ja virheiden poisto pienempien iteraatioiden aikana on helppoa.

  • Riskit tunnistetaan ja ratkaistaan iteraation aikana; ja jokainen iteraatio on helposti hallittava virstanpylväs.

  • Riskinhallinta on helpompaa – Korkean riskin omaava osa tehdään ensin.

  • Kaikkien inkrementtien myötä saadaan toimitettua toimintakuntoinen tuote.

  • Kustakin inkrementistä tunnistettuja kysymyksiä, haasteita ja riskejä voidaan hyödyntää/soveltaa seuraavaan inkrementtiin.

  • Riskianalyysi on parempaa.

  • Tukee muuttuvia tarpeita.

  • Alustava toiminta-aika on pienempi.

  • Sopii paremmin suuriin ja kriittisiin projekteihin.

  • Elinkaaren aikana ohjelmisto tuotetaan varhaisessa vaiheessa, mikä helpottaa asiakkaan arviointia ja palautetta.

Iteratiivisen ja inkrementaalisen SDLC-mallin haitat ovat seuraavat –

  • Voidaan tarvita enemmän resursseja.

  • Vaikka muutoskustannukset ovat vähäisemmät, mutta se ei sovellu kovin hyvin muuttuviin vaatimuksiin.

  • Tarvitaan enemmän johdon huomiota.

  • Järjestelmän arkkitehtuuriin tai suunnitteluun voi liittyä ongelmia, koska kaikkia vaatimuksia ei kerätä koko elinkaaren alussa.

  • Inkrementtien määrittely voi vaatia koko järjestelmän määrittelyä.

  • Ei sovellu pienempiin projekteihin.

  • Hallinnan monimutkaisuus on suurempi.

  • Hankkeen loppua ei välttämättä tiedetä, mikä on riski.

  • Riskianalyysiin tarvitaan erittäin ammattitaitoisia resursseja.

  • Hankkeen eteneminen riippuu suuresti riskianalyysivaiheen etenemisestä.

Esittelyt

Vastaa

Sähköpostiosoitettasi ei julkaista.