Kihagyás

Folyamatmodellek

A szoftverfejlesztési életciklus modelljeinek célja fejlesztési folyamat modellezése. A folyamatmodellek lényegében reprezentálják

  • a megvalósítás kontrollját

  • a meghatározza a fejlesztés lépéseit, azok közötti kapcsolatot

  • a feladatok ütemezését

  • illetve, hogy hogyan kell végezni az egyes feladatokat

Az évek során több különböző modell fejlődött ki, ezek a modellek más-más nézőpontból reprezentálják a folyamatot. Összetettebb rendszereknél akár több modell egyidejű alkalmazása is előfordulhat. Így tehát a tervezés fontos része a megfelelő folyamatmodell kiválasztása.

Vízesés modell

  • A fejlesztésben felmerülő tevékenységeket jól elválasztható lépésekre határolhatóak

  • Feladatok rögzített sorrendje (specifikáció, tervezés, implementáció, tesztelés, kitelepítés, karbantartás)

  • Minden fázist be kell fejezni, mielőtt továbblépnénk, nincs visszalépés

  • Nem flexibilis, nincs visszacsatolás

  • Akkor lehet jó, ha már előre ismerjük a követelményeket, melyeket részletes és pontos specifikáció követ

  • Bár a vízesés modell lineáris, néhány változatában megengedett a visszalépés is, de ez nem könnyen kivitelezhető.

waterfall

V modell

  • A vízesés modell kiterjesztése

  • bemutatja a kapcsolatokat a fejlesztési életciklus egyes fázisai és hozzá kapcsolódó tesztelési fázisok között

  • Az egyik szára: vízesés modell (fejlesztési szár)

  • A másik szára a létrejövő termékek tesztjeit tartalmazza (tesztelési szár)

  • Az egy szinten lévő fejlesztési és tesztelési lépések összetartoznak

  • A tesztelési lépés a fejlesztési lépés során létrejött terméket (vagy annak komponenseit) és dokumentumait használja

  • A V modell erőteljesen támaszkodik a korai tesztelési tervezésre

vmodel

Iteratív és inkrementális modell

  • Szoftverfolyamatot ne lineárisan, hanem tevékenységek ismétlődő folyamaként nézzük

  • Iterációkként átdolgozzuk a rendszert

  • Köztes megközelítés a vízesésmodell és az evolúciós modell között

  • Vázlatos követelményrendszer

  • Osztályozzuk a szolgáltatásokat fontosság szerint

  • A fontosakat elkezdjük megvalósítani

  • Rövid fejlesztési ciklusok

  • Gyors, egyre bővülő prototípusok készítése

  • Gyorsan változó, vagy nem teljes specifikáció esetére

  • Flexibilis, a megrendelő nem csak a végén látja a terméket

iterative

Evolúciós modell

  • A projektcsapat kifejleszt egy kezdeti implementációt

  • Ezt véleményezteti a felhasználókkal

  • Majd verziókon keresztül addig finomítják, amíg a megfelelő rendszert el nem érik

  • A specifikáció, fejlesztés, validálás párhuzamos tevékenységek

  • Gyors visszacsatolás

  • az iteratív és az inkrementális modell kombinációja

evolutionary

Komponens alapú modell

  • Újrafelhasználható komponensek fejlesztése

  • Akár a szoftverpiacon megvásárolható szoftverkomponensekre is támaszkodik

    • Komponenselemzés: követelményspecifikációnak megfelelő komponensek megkeresése (lehetséges, hogy egy komponens nem fed le mindent)

    • Követelménymódosítás: a komponenselemzés eredményét felhasználva szükséges lehet a komponensek módosítása

    • Rendszertervezés újrafelhasználással: a több (különböző forrásból származó) komponenseknek megfelelő szerkezet kialakítása

    • Fejlesztés és integráció: szükség esetén saját komponens fejlesztésére is szükség lehet

  • Hátránya, hogy a követelményeknél elkerülhetetlenek a kompromisszumok

RAD modell

  • gyors alkalmazásfejlesztés

  • a prototípus és az inkrementális modellre épít

  • párhuzamos fejlesztés több csapat segítségével

  • Kompromisszumokkal jár a használhatóság és sebesség terén

  • megköveteli a magasan képzett munkaerőt

rad

Spirális modell

  • Szintén ismétlődő tevékenységek alkotják

  • Nem tevékenységek és visszalépések sorozata, inkább spirál

  • A spirál minden egyes körben a szoftverfolyamat egy-egy fázisát reprezentálja

  • Tetszőleges számú kör, mint iteráció tehető meg

  • Kockázatelemzések, teljesítményértékelések is a része

  • A spirál szektorai

    • Célkitűzések megállapítása

    • Alternatívák értékelése, kockázatbecslés

    • Következő fázis tervezése

    • Fejlesztés és verifikáció

spiral

Agilis módszertan

  • Extrém iteratív modell

  • Több Agilis módszertan is létezik, pl. Scrum, Kanban, Extreme Programming

  • Emberközpontú, gyakori kommunikáció a megrendelővel

  • Gyakori szoftververziók kibocsátása

  • Az Agilis Kiáltvány

    • Egyének és interakcióik, szemben az eljárásokkal és eszközökkel

    • Működő szoftver, szemben a teljes körű dokumentációval

    • Együttműködés a megrendelővel, szemben a szerződésről való alkudozással

    • Változásokra való reagálás, szemben a terv követésével

    • https://agilemanifesto.org/iso/hu/manifesto.html

agile

Scrum

  • Rövid napi megbeszélések

  • Könnyen idomul a megrendelő igényeinek változásához

  • Product owner, Team, Scrum master

  • „Sprint” fejlesztés (1-4 hét)

  • A csapat egy működő terméket (szoftvert vagy más eredményt) hoz létre

  • Rövid periódusokban a kockázatok is könnyebben kezelhetőek

scrum

Kapcsolódó linkek


Utolsó frissítés: 2024-09-07 15:42:15