Szoftverfejlesztés lépései

Egy szoftver fejlesztése több lépésből áll, az ötlettől egészen a kész programig. Ezeket az átláthatóság érdekében pontokba szedtem össze.

Ötlet, elhatározás és kapcsolatfelvétel

Először, minden applikáció csak gondolatként, ill. ötletként születik meg. Van, ami egy vagy több probléma megoldására vagy egy bonyolult folyamat megkönnyítése érdekében jön létre, többnyire üzleti érdek által vezérelve kerül a megvalósítás ösvényére. Ha már van egy jó ötlet, azt érdemes megragadni, viszont nem szabad megfeledkezni a részletes kidolgozásáról sem! A lényeg a részletekben rejlik!
Első lépések között meg kell azt is vizsgálni, hogy létezik-e már hasonló alkalmazás? Ha létezik, akkor miben különbözik a mi elképzelésünktől és miben nyújtana többet a miénk? Piackutatást kell végezni, aminek során meghatározhatóvá válik a célközönség, azaz pontosabb képet kaphatunk arról, hogy ki fogja használni az alkalmazásunkat.
Egy beszélgetés során meghatározzuk a valós célokat, és elkezdjük kidolgozni a projekt részleteit. Azt szoktam tanácsolni, hogy minden kósza gondolatot írjunk le akár egy darab papírfecnire is, ami a későbbiekben még jól jöhet.

Tervezés, dokumentálás

Szoftver- és rendszertervezés, koncepcióterv

Elengedhetetlen egy könnyen használható és jövőálló alkalmazáshoz, hogy megfelelően legyen megtervezve és dokumentálva. Elsősorban szükséges az ötlet körülhatárolása, pár egyszerű mondatban történő leírása, ami kiindulási pontot adhat a szoftver tervezésével kapcsolatban. Ezt szabadszavas leírásnak nevezzük, mivel csupán az irányt adja meg, a mikéntjét nem határozza meg. Ezt is csatoljuk majd a végleges dokumentumhoz.
Ezután következik az ötlet kidolgozása, ami már leszűkíti, ill. redukálja a megvalósítás felé vezető lehetséges utakat. Nyilván vannak olyan lehetséges megoldások is, amik nehezen vagy egyáltalán nem valósíthatóak meg. Van, hogy ellentmondásos dolgokkal is találkozunk. A lehetséges megoldásokból válogatva - az ellentmondások kiküszöbölésével - közösen megbeszéljük a lehetőségeket és a legoptimálisabbat választjuk ki. Vannak olyan esetek is, ahol több optimális megoldás is létezik, ezeket teljesen külön kell kezelnünk.
A szoftver vázlata után az ahhoz szükséges infrastruktúrát és futtatási környezetet is meg kell határozni. Itt nem csak a kiszolgáló szerverekre gondolok, hanem arra is, hogy milyen típusú és verziójú készülékeken kell futnia a tervezett applikációnak.
Ezek alapján elkészítem a fejlesztendő alkalmazás vázlatát, másnéven a koncepciótervet.

Árajánlat, szerződéskötés, ütemezés

A létrehozott koncepcióterv alapján elkészítem az árajánlatot, ami magába foglalja a szoftver esetleges hibáinak javítását és karbantartását az átvételtől számított 1 évig bezárólag.
Ha ez az árajánlat megfelelő, akkor készítünk egy megbízási szerződést, ami tartalmazza többek között a fejlesztendő szoftverrel szemben támasztott követelményeket (mellékletként csatolva a koncepciótervet), a fizetési feltételeket és a határidőt is.

Szoftver követelmény specifikáció dokumentum

A koncepcióterv alapján részletesen kidolgozásra kerül a szoftver követelmény specifikáció dokumentum, ami a fejlesztéshez szükséges további pontosításokat és funkcionális specifikációt tartalmazza. Ez alapján el lehet kezdeni a szoftverfejlesztést.

Fejlesztés

A szoftver követelmény specifikáció dokumentumban leírtaknak megfelelően létehozásra kerül a projekt a verziókövető rendszerben és hozzáadásra kerülnek a fő- és részfeladatok is prioritások és függőségek szerint.

Verziók, tesztelés és hibajavítás

Alapvetően kétféle verziót különböztetünk meg, a teszt és az éles - publikus - verziót. A tesztverziókat csak egy szűkebb csoport érheti el és az a fő feladatuk és kitűzött céljuk, hogy a publikálás előtt a lehető legtöbb hibára fény derüljön. A hibák felvezetésre kerülnek a hibakövető rendszerbe és megtörténik a javításuk.
A teszt verziónál általában van alpha és beta teszt is. Az alpha teszt egy szűk körű, kevés résztvevővel rendelkező úgynevezett belső teszt, amiben a legfrissebb módosítások szerepelnek. Ha itt nem található hiba, tovább kerül a beta tesztre. A nagy számok szabálya szerint, minél többen tesztelnek, annál több esetleges hiba derülhet ki, emiatt a beta tesztelők száma már általában nagyságrendekkel több, mint az alpha tesztelőké. A beta teszt - másnéven külső teszt - alkalmával a leendő vagy meglévő - esetleg kiemelt - felhasználók csoportja veheti kezébe az új verziót. Itt is visszajelzések alapján felvezetésre kerülnek a hibák a hibakövető rendszerbe.

Átadás, publikálás

Ha a tesztelés során az összes észlelt hiba javításra került, megtörténik az alkalmazás átadása. Többnyire az átadást a publikálás követi, de persze vannak kivételek. Léteznek olyan alkalmazások (pl.: raktárkezelő) is, amiket csak belső használatra tervezünk, ezeket az alkalmazásokat nem szokás publikálni.

Karbantartás, továbbfejlesztés

Egy applikáció élete valójában nem a tervezéssel kezdődik, hanem az első éles verzió kiadása után.
Az informatikában napról napra történnek változások és újítások, ez a szoftverfejlesztésre is teljes mértékben jellemző.
Az éles verzió zökkenőmentes működéséhez szükség van annak folyamatos karbantartására és esetleg frissítésére is.