A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő által közvetített digitális tartalmat a felhasználó a szerzői jogról szóló 1999. évi LXXVI. tv. 33. paragrafus (4) bekezdésében meghatározott oktatási, illetve tudományos kutatási célra használhatja fel. A felhasználó a digitális tartalmat képernyőn megjelenítheti, letöltheti, arról elektronikus adathordozóra vagy papíralapon másolatot készíthet, adatrögzítő rendszerében tárolhatja. A Kempelen Farkas Digitális Tankönyvtár/vagy más megjelenítő weblapján található digitális tartalmak üzletszerű felhasználása tilos, valamint kizárt a digitális tartalom módosítása és átdolgozása, illetve az ilyen módon keletkezett származékos anyag további felhasználása.

1.3.4. Az inkrementális fejlesztési modell és a prototípus

A vízesésmodell igen jó szolgálatot tett annak tudatosításában, hogy a szoftverfejlesztés nem azonos a programozással. A modell így önmagában a nagy, egyedi rendszerek fejlesztési folyamatának kezelésére alkalmas. Korlátai akkor jelentkeztek, amikor kiderült, hogy a szoftver változási hajlama még az egyedi rendszerek esetén sem szorítható merev fázishatárok közé. A leggondosabb tervezés ellenére is csaknem minden rendszer átadásakor, vagy próbaüzeme során felmerülnek olyan módosítási igények, amelyek még a követelményekre is visszahatnak. Az általános célú, nagypéldányszámú szoftverek esetén a módosítási igények pedig folyamatosan jelentkeznek.

A gyakorlatban a legtöbb szoftver életének nagyobbik részét teszi ki – és a költségek nagyobb részét is igényli – az egyre újabb változatok, verziók előállítása, a módosítások végrehajtása. Ezt a tevékenységet karbantartás (maintenance) néven szokás említeni. Az új szoftver fejlesztése ebben a folyamatban mindössze egy speciális esetet képvisel, az első változat előállítását. Ekkor a "semmiből" hozzuk létre az első verziót, ezt követően pedig a már meglévő változatok módosításával állítjuk elő az újabbakat. Az 1.14. ábrán a szoftver teljes élettartama alatt szükséges anyagi és élőmunka ráfordításokat a kör területe jeleníti meg. Jól látható, hogy az első fejlesztésre a ráfordításoknak csak töredéke esik.

Tekintettel arra, hogy egy változat – főleg az első – önmagában is elég nagy lehet ahhoz, hogy évekig készüljön, a fejlesztés közben megszerzett ismeretek fényében szükségessé válhat a követelmények módosítása. Célszerű lehet ezért egy változatot is több lépésben, alváltozatok egymásutánjaként előállítani. Ezt a folyamatot nevezzük a fejlesztés inkrementális modelljének.

1.14. ábra

1.14. ábra

Az inkrementális fejlesztés során módunk van arra, hogy a rendszer problematikus részeit fejlesszük ki először. Ha ez sikerrel járt, akkor ehhez hozzáfejleszthetjük az újabb és újabb részeket. A szoftver problematikus részeinek kísérletezésre alkalmas megvalósítását nevezzük prototípusnak.

A tapasztalatok szerint prototípus készítésére kétféle okból lehet szükség:

- nem vagyunk biztosak abban, hogy valamilyen részproblémát adott technikai-gazdasági keretek között meg tudunk oldani,

- a felhasználó nem tudja pontosan meghatározni az elvárásait, vagy nem vagyunk biztosak benne, hogy a követelményeket azonosan értelmezzük.

A szoftverfejlesztői gyakorlatban főként az utóbbi eset gyakori. Korábban elemeztük a fejlesztők és a felhasználók információcseréjének nehézségeit. A félreértések elkerülésének legjobb módja, ha minél előbb be tudjuk mutatni, és kísérletezésre rendelkezésre tudjuk bocsátani a rendszer viselkedését és kezelési stílusát érzékeltető prototípust. Ennek érdekében leggyakrabban a felhasználói felületek készülnek el a prototípus változatban.

Az inkrementális fejlesztési folyamatban tehát – szemben a vízesésmodellel – a rendszer nem egyenletesen fejlődik teljes szélességében, hanem bizonyos részekkel előreszaladunk egészen a megvalósításig, tapasztalatokat szerzünk, és az elkészült részekhez fejlesztjük hozzá a még hiányzókat. A két modell természetesen kombinálható. Egy-egy inkrementum, vagy a prototípus fejlesztése végbemehet a vízesésmodell alapján.