Szoftvertechnológia Szoftvergyártás 2.
Szoftvergyártás Tevékenységsorozat lépései amelynek célja a szoftver kifejlesztése és továbbfejlesztése lépései specifikáció: mit kell a rendszernek tudnia mik a fejlesztési kényszerek, kötöttségek fejlesztés a szoftver elkészítése
Szoftvergyártás lépései validáció: evolúció: ellenőrzés a szoftver azt csinálja, amit a megrendelő kért evolúció: a szoftver változó igények szerinti továbbfejlesztése
A szoftverfejlesztés lépései Elemzés requirements analysis Specifikáció specification Rendszer és szoftvertervezés System and software design Implementáció Implementation Tesztelés Verification, Validation, Testing Üzemeltetés, karbantartás Operation and Maintenance
A szoftvergyártás modellje egyszerűsített reprezentáció egy specifikus nézőpontból Nézőpontok Munkafolyam (workflow) aktivitások sorozata adatfolyam (data-flow) az információterjedés folyamata szerep/akció (role/action) ki mit csinál
Szoftvergyártási modellek A vízesés (waterfall) modell Evolúciós fejlesztési modellek Komponens alapú fejlesztés A fenti modellek variációja
Vízesés modell A vízesés modell fázisai: Követelményanalízis és – definíció Rendszer- és szoftvertervezés Implementáció és a részegységek tesztelése Részegységek integrálása és a rendszer tesztelés Működtetés és karbantartás
Vízesés modell Előnyös: Hátrány: egyszerű, érthető a feladat, jól definiálható a környezet kevés újrafelhasználható komponens látszik Hátrány: a gyártás megindulás a után nehéz változásokat beépíteni egy munkafázisnak be kell fejeződni, mielőtt a következő elkezdődhet nehéz a változó megrendelői igényekhez igazodni a projekt nehezen változtatható részegységekből áll
Vízesés modell
Evolúciós fejlesztés Kísérletező fejlesztés Eldobható prototípus Cél: a megrendelővel együtt egy kezdeti durva specifikációból a végleges rendszert kialakítani a biztos követelményekből kiindulva a megrendelő igényei szerint újabb funkciókkal bővíthető a rendszer Eldobható prototípus Cél: a homályos követelmények tisztázása a legkevésbé kiforrott követelményekből indul tisztázza a valós igényeket
Evolúciós fejlesztés
Evolúciós fejlesztés Problémák Alkalmazhatóság a fejlesztés nem átlátható a rendszerek gyakran rosszul strukturáltak speciális felkészültségre lehet szükség Alkalmazhatóság kis- és középméretű interaktív rendszerek nagy rendszerek részegységei rövid élettartamú rendszerek
Komponensalapú fejlesztés Szisztematikus újrafelhasználáson alapul A rendszereket már létező, vagy készen vásárolható (COTS) rendszerekből integráljuk A szoftvergyártás lépései: komponens analízis követelmények módosítása rendszertervezés újrafelhasználással fejlesztés és integráció
Komponensalapú fejlesztés
Iteratív szoftvergyártás a rendszerkövetelmények MINDEN projekt során változnak az iteratív megközelítés minden nagyobb rendszer fejlesztésének része (korábban elvégzett munkafázisok átdolgozása) Az iteratív megközelítés valamennyi alapvető módszerhez alkalmazható Két kapcsolódó megközelítés: inkrementális teljesítés spirális fejlesztés
Inkrementális teljesítés A rendszert nem egy részletben szállítjuk a fejlesztés és átadás részekre van bontva minden újabb átadott részegység a rendszer újabb funkcionalitását valósítja meg A felhasználó igényeknek megfelelő prioritási sorrendben szállítunk a legfontosabb funkciókkal kezdve Befagyasztjuk a fejlesztés alatt álló részegység követelményeit későbbi részegységek követelményei még változhatnak
Inkrementális teljesítés
Inkrementális teljesítés Előnyei minden átadás során működő részegységeket helyezünk üzembe a rendszer korábban kezdheti meg (rész)működését korábbi komponensek prototípusként működnek a későbbi részegységek követelménytervezésében ezek is segítenek. kisebb a projekt teljes csődjének esélye a legfontosabb szolgáltatásokat tesztelik a legtovább
Extrém programozás itt a fejlesztés és átadás nagyon kis funkcionális részegységenként történik állandó kódjavítás a felhasználó aktív részvétele a fejlesztésben „páros programozás” jellemzi
Spirális fejlesztés A gyártási folyamat egy spirállal jellemezhető A spirál minden hurka a gyártási folyamat egy fázisát jelképezi Nincsenek fix hurkok A hurkokat az igényeknek megfelelően alakítjuk ki A kockázatkezelés explicit módon megjelenik a gyártási folyamatban
Spirális fejlesztés
Spirális fejlesztés Célkitűzések megállapítása az adott fázis céljainak megállapítása Kockázatbecslés és -csökkentés a kockázati tényezők felmérése a legfőbb kockázati faktorok várható hatásának csökkentése Fejlesztés és validáció az általános módszerek közül bármely kiválasztása Tervezés a projekt áttekintése a spirál következő fázisának megtervezése