Projektfejlesztési módszerek
Annak érdekében, hogy minél nagyobb valószínűséggel lehessen egy szoftver-fejlesztési projektet megvalósítani, alaposan végiggondolt, szigorú rendben kivitelezett tervezési, programozási, tesztelési, folyamatokra van szükség. Ezt az irányelvet annál inkább célszerű szem előtt tartani, minél nagyobb volumenű szoftver rendszer létrehozása a cél. Az indoklás egyszerű: minél nagyobb méretű a projekt, annál nagyobb a befektetési kockázat, ezért annál több gondot kell fordítani a veszteségek csökkentésére.
Az újkori modul szerkezetű szoftverfejlesztés eredményeként az ügyfél folyamatosan tesztelheti az elkészült modulokat, melyek folyamatosan kerülnek integrálásra a keretrendszer részeként.
Ha valamelyik modul nem az elvárásoknak megfelelően teljesít a tesztek során, elég csak azt javítani függetlenül a komplex rendszer működésétől.
Ha a projekt kezdetekor még nem körvonalazhatók egyértelműen a rendszer funkciók, vagy a követelmények, akkor menet közben is lehetőség van egyéb új funkciók lefejlesztésére.
Az úgynevezett életciklus modellek segítségével a projekt sikere garantálható. Ennek a lényege az, hogy a legmodernebb szoftverfejlesztési technológiák közül mindig az adott projektnek leginkább megfelelő típust választva költséghatékonya és gyorsan tudunk megoldást nyújtani a legváltozatosabb ügyféligényeknek. Az életciklus modellek a projekt teljes életciklusán átívelnek, így a követelmények megfogalmazásától, a teszteléseken át a karbantartásig éveken át biztonságot nyújtanak az ügyfél számára.
Fejlesztési /életciklus/ modellek
Szoftver életciklusa
Életciklus modellek
- Vízesési modell
- Előre fixált követelmény
- VIR
- Evolúciós fejlesztés
- Prototípus alapú fejlesztés /teszt prototípus készítése/
- Inkrementális fejlesztés
- Nem szigorúan specifikált kiinduláshoz
- VIR
- Spirál modell
- Erőforrások elosztása
- Költségek eloszlása
- V-modell
- Biztonsági követelmények
- Dokumentálás
- RUP/UP
- objektumorientált tervezéshez
- sok ember dolgozik együtt
- Agilis fejlesztés/SCRUM
- SCRUM
- ha most nem tudjuk a követelményeket, de később igen
- folyamatos hibajavításokat, patch-eket biztosít a fejlesztő
Fejlesztési fázisok
- követelmények specifikálása: ennek alapján megy végbe a fejlesztési folyamat
- rendszerterv elkészítése:
- programterv elkészítése
- kódolás
- modulok tesztelése
- modulok összeépítése /integrálás/
- rendszertesztelés
Verifikáció és validáció a fejlesztések során
Verifikáció /ellenőrzés/: az egymást követő fejlesztési fázisok összhangban vannak e egymással
Validáció: a fejlesztés mennyire felel meg a felhasználó által elvárt követelményeknek
- verifikáció és validáció során ellenőrizzük:
- elkezdhető e fejlesztés soron következő fázisa
- már a korai szakaszban kimutatja a problémákat
- a szoftver minőségére támpontot ad és garantál
- kimutatja, ha a szoftver nem teljesíti az elvárt követelményeket
- a fejlesztés mérnöki szemléletet igényel: átgondolás, tervezés, számítás, végrehajtás, ellenőrzés