1.2.2.1 Koskmudel

iDevice ikoon 1.2.2.1 Koskmudel

Koskmudel (ka klassikaline mudel) on esimene kirjeldatud tarkvarasüsteemi elutsükli mudel, mis lähtus tavalistest tootmisprotsessidest ehituses, mehhaanikas vms. Mudeli kirjeldas Winston W. Royce 1970. aastal. Koskmudel on kõige vanem ja kõige rohkem kritiseeritud protsessimudel

Põhiidee kohaselt jagatakse tegevused nii, et iga tegevus toimub jadamisi eraldi etapina. Royce jagas protsessi järgmisteks põhietappideks (tasub tähele panna, et etappide nimekiri varieerub erinevate autorite esituses):

1. Nõuete määratlemine. See etapp võib olla ka jaotatud kaheks - süsteemi analüüs (kõik see, mis konkreetset tarkvara ümbritseb) ja nõuete analüüs. Dokumenteeritakse süsteemi käitumine, jõudlus, liides jne

2. Süsteemi ja tarkvara kavandamine. Keskendub põhilistele programmi omadustele nagu andmestruktuurid, tarkvara arhitektuur, liideste omadused ja protseduurilised ning algoritmilised detailid. Projekti kvaliteeti on võimalik hinnata. Tulemus dokumenteeritakse.

3. Teostus ja moodulite testimine. Projektis kirjeldatud süsteem programmeeritakse moodulite ja programmide kogumina ja need testitakse eraldi. Mida detailsem on projekt, seda lihtsam ja mehhaanilisem saab olla teostuse etapp.

4. Integratsioon ja süsteemi testimine. - programmid ja moodulid integreeritakse ning testitakse kogu süsteemi, peale testimist antakse toode kliendile. Testimisel keskendutakse nii loogilistele detailidele kui ka sellele, kas süsteem oma funktsionaalsuse osas nõudeid täidab (valideerimine).

5. Kasutamine ja hooldus - on tavaliselt kõige pikem faas. Süsteemi muudetakse, kui kasutajad avastavad vigu, ümbrus ja töökeskkond muutuvad või klient vajab uut funktsionaalsust. Faas kordab kõiki eelnevaid faase olemasoleva süsteemi muutmise raames.

Iga faasi tulemiks on üks või mitu dokumenti, mis kinnitatakse. Järgmine faas ei tohiks alata enne, kui eelmine on lõpetatud. Faasidel on teatav ülekate ja info edastamine ühest teise. Vt ka joonist 1.

Joonis 1-1. Koskmudel


Kommentaariks joonis 1 juurde - tihti joonistatakse koskmudeli loogikat nii, et on vaid ülalt allapoole (eelmisest faasist järgmisesse) suunduvad nooled. Eelnevate sammude juurde tagasi ei pöörduta, samuti nagu majaehitusel ei pöörduta tagasi vundamendi juurde peale katuse paigaldamist. Sel juhul oleks mudeli kohaselt üldse võimatu midagi süsteemis hiljem muuta. Sellist varianti pidas ka Royce oma artiklis võimatuks. Royce lisas tegelikult juba alguses iga etapi kohta tagasisidet kujutava noole. Siiski ei ole tagasipöördumine igast etapist eelmisesse võimalik. Kui testimise käigus avastatakse viga, mille juured on arhitektuuris, siis koskmudeli kohaselt saab pöörduda tagasi arhitektuuri muutmise juurde alles siis, kui tarkvara on kasutusse läinud (vt noolte suundi joonisel).

Kokkuvõte:

  • Otsused süsteemi kohta tehakse varajases faasis ja süsteem ei pruugi lõpuks teha seda, mida kasutaja tahab (nõuded on varakult külmutatud) Samas ei tea ka klient alguses, mida ta tahab ja tema ebakindlus on täiesti loomulik.
  • Projekti range jaotus faasideks ei luba kliendi muutunud nõuetele kergelt vastu tulla. Seega on mudel kasutatav siis, kui nõuded on selged ja nad muutuvad vähe.
Koskmudel on sobilik suurtele süsteemidele, mida arendatakse mitmes erinevas kohas korraga. Sel juhul lubab eelnev korralik planeerimine töid paremini koordineerida