Spiraalne mudel

Üldiselt

Spiraalmudel on iteratiivne ja riskidele orienteeritud tarkvaraarenduse mudel. Mudelit kujutatakse spiraalina, kus iga ring ehk iteratsioon sisaldab kogu arendusprotsessi tsüklit: planeerimist, riskianalüüsi, arendust ja ülevaatust. Iga iteratsioon annab tulemuse, mida saab edasi täiustada järgmistes tsüklites.

Iteratiivne arendus tähendab olemasolevate süsteemi osade korduvat parandamist ja täiustamist. Arendus toimub tsüklitena, nn iteratsioonidena, mille käigus süsteemi muudetakse ja täisutatakse.

Põhiidee

Spiraalmudel koosneb mitmest iteratsioonist, kus iga iteratsioon on:

Iga iteratsioon võib sisaldada kõiki arenduse osi.

Etapid

Etapp Kirjeldus
Eesmärkide seadmine Määratletakse eesmärgid,
piirangud,
nõuded,
võimalikud lahendused.
Riskide hindamine ja maandamine Tuvastatakse ja analüüsitakse riske ning tehakse tegevusi nende vähendamiseks.
Arendus ja valideerimine Valitakse sobiv arendusstrateegia ning arendatakse ja testitakse süsteemi osa.
Planeerimine Ülevaatatakse tulemusi, kogutakse tagasisidet ja planeeritakse järgmine kordus.

Joonis

Spiraalne mudel

Head ja halvad küljed

Head küljed Halvad küljed
Väiksemad kulud nõuete muutumisel Projekti edenemist võib olla raskem jälgida
Lihtsam saada kliendi tagasisidet juba valminud osadele Süsteemi struktuur võib pidevate muudatuste tõttu halveneda
Tarkvara osasid saab kliendile kasutamiseks üle anda varem Vajalik võib olla regulaarne refaktoreerimine tarkvara kvaliteedi säilitamiseks
Varased versioonid aitavad paremini mõista süsteemi edasisi nõudeid

Agiilsed arendusmeetodid

Agiilsed meetodid põhinevad sageli inrkementaalsel arendusel ja rõhutuvad:

Tähtsal kohal on pidev tagasiside, testimine ja kasutajate kaasamine.

Tuntumad agiilsed meetodid

Ekstreemprogrammeerimine (XP)

Ekstreemprogrammeerimine (XP) on agiilne arendusmeetod, mis rõhutab pidevat tagasisidet, testimist ja koostööd. XP-s on olulised praktikad nagu paarisprogrammeerimine, pidev integreerimine, testide kirjutamine enne koodi kirjutamist (test-driven development) ja regulaarne refaktoreerimine.

Selle meetodi iseloomulikud jooned on ka väga lühikesed arendustsüklid (päevad või nädalad), automatiseeritud testide kirjutamine enne koodi kirjutamist, paarisprogrammeerimine ja iga iteratsiooni lõpus peab kood läbima kõik testid

Infoallikad