Információs rendszer fejlesztése 4. előadás Gyurkó György
A fejlesztési folyamat az ISO 12207 szabvány szerint
A fejlesztési folyamat az ISO 12207 szerint
Az IR fejlesztésének főbb tevékenységei Ezek minden életciklus-modellben megjelennek: Elemzés Tervezés Megvalósítás, tesztelés, integráció Bevezetés
A szoftverfejlesztés életciklus-modelljei
Vízesés modell Klasszikus változatban ez a felépítés a fejlesztési projekt egészére vonatkozik.
Vízesés modell / 2 Előnyei: - Világos struktúra. - A projekt egyszerűen ütemezhető, irányítható. Hátrányai: - Csak a szakaszok végén van visszacsatolás. - Feltételezi, hogy a követelmények pontosan ismertek és nem változnak. - Hosszú a fejlesztési idő.
Ez lényegében a vízesés modell egy speciális változata V modell Ez lényegében a vízesés modell egy speciális változata
V-modell / 2 Előnyei / hátrányai: - Többnyire azonosak az egyszerű vízesés modellével. - Az egyszerű vízesés modellnél világosabb képet ad arról, hogy adott tevékenység és annak terméke mely korábbi tevékenység termékének kell megfeleljen.
Egyszerű prototípuson alapuló életciklus-modell A felhasználó-vezérelt módszertanok sajátja. Akkor különösen hasznos lehet, ha bizonytalanok a felhasználói elvárások. A szoftver egyszerű prototípusa a gépek, műszaki berendezések prototípusával ellentétben nem a tervet, hanem a követelményeket teszteli. A prototípus nem a teljes szoftver egy működő példánya, hanem általában a szoftvernek csak az a része, amit a felhasználó látni fog (a felhasználói felület: menük, képernyő-űrlapok, a dialógus). Gyors alkalmazásfejlesztő (RAD) eszközt igényel.
Egyszerű prototípuson alapuló életciklus-modell / 2 A modell előnyei: Gyorsan elkészülnek az ember-gép kommuniká-cióval kapcsolatos funkciók; idejében kiderülnek a félreértések, pontosabbak lesznek a követelmények, csökken a kockázat. A fejlesztő és a felhasználó személyesen együttműködik, mindketten elkötelezetté válnak a közösen meghatározott célok iránt. A modell hátrányai: Újabbnál újabb igények támasztására ad ötletet, ezért az igények parttalan szaporodásának erélyesen gátat kell szabni a rendszer határainak megvonásával. Inkább csak az ember-gép párbeszédre vonatkozó követelmények tisztázódnak. Nem derülnek ki azok a belső összefüggések, amelyek nincsenek közvetlen kapcsolatban a felhasználói felületen megjelenő tartalommal. Gyorsaság -> átgondolatlan rendszer. Ki nem derített összefüggések: -> hézagos rendszer.
Iteratív fejlesztés / 1 Iteráció: Azonos tevékenység vagy tevékenységsor ismételt végrehajtása. Iteratív fejlesztés: Minden iteráció újabb minőséget ad az előző végrehajtás termékéhez. - Az iterációkat határozott célkitűzés, átfogó projektterv előzi meg. Nem önálló modell, hanem egy olyan, a célt fokozatosan közelítő megoldás, amelyet klasszikus életciklus-modellekkel kombinálva új életciklus-modellt kapunk. Iteratív fejlesztésen alapuló nevezetes modellek: az inkrementális modell a spirálmodell
Iteratív fejlesztés / 2 Az iteratív fejlesztés motivációi: kezelni, hogy kezdetben nem lehet ismert minden követelmény; számolni az ismert követelmények megváltozásával; különlegesen nagy kockázatú projekteket is kezelhetővé tenni (lásd spirálmodell); minél korábban szülessen egy működő, átadott verzió (lásd inkrementális modell); az előző iterációk során szerzett tapasztalatok felhasználásával a módszerek, a termékminőség folyamatos javítása (inkrementális modell); megbízhatóbb termék (inkrementális modell: előbbi következménye; spirálmodell: kifejezetten a minőségi kockázatok csökkentését célzó prototípusok).
Inkrementális modell - átlapolással
Iteratív és inkrementális modell
Inkrementális fejlesztés A modell előnyei: Rövidebb időn belül állnak elő működő részek, így mindenképpen csökkenek a hosszú átfutási időből eredő kockázatok. Bizonytalan esetben is járható utat ad az igények fokozatos közelítésével. A modell hátrányai: A teljes rendszer lassan készül el. A soklépéses folyamat és a párhuzamos tevékenységek irányítása nehéz feladat. A már működő részeket és a későbbi lépések eredményeit újra és újra integrálni kell.
Boehm-féle spirálmodell Iteratív, de nem inkrementális modell
Boehm-féle spirálmodell / 2 A modell előnyei: Különösen nagy kockázatú projektek (pl. életveszély) esetén tehet jó szolgálatot. Minimálisra csökken a kockázat, kezelhetővé válik a felhasználó és/vagy a fejlesztő bizonytalansága. A modell hátrányai: Nagyon hosszú idő telik el a megvalósítás (kivitelezés) megkezdéséig.
RUP életciklus-modell Ellenőrzötten inkrementális és iteratív modell
RUP életciklus-modell / 2 Jellemzők rá az iteratív és inkrementális modellek előnyei. A korábbi iteratív és inkrementális modellekhez képest a hátrányok itt kevésbé jelentkeznek, mivel a modell egyaránt figyelembe veszi mind a menedzsment, mind a fejlesztői szakma (a technológia) szempontjait. Kifejezetten az OO technológiát feltételezve jött létre.
További életciklus-modellek A felhasználó és a fejlesztő közötti jobb megértést, a követelmények pontosabb meghatározását, valamint a fejlesztés gyorsítását szolgálja még az egyszerű prototípus- modellnek az evolúciós fejlesztés nevű változata is. A követelmények megváltozásával szemben különösen toleráns modellek az agilis módszertanok - extrém programozás. A ráfordítások – megvásárolható kész komponensek beépítésével való – csökkentő modell a komponens alapú fejlesztés.