Tamás Ferenc: Szoftverek életciklusa


A szoftver maga egy informatika-ipari termék. Mint minden terméknek, így a szoftvernek is vannak fejlesztési ciklusai. Az informatika kialakulásakor a programozók egyedül dolgoztak minden különösebb tudatosság nélkül. Egy alkalmazáson általában addig dolgoztak, amíg az nem volt működőképes, majd utána az esetleges igények szerint fejlesztették tovább. Ám a nagyobb cégek kialakulásakor, illetve a termék további fejlesztései során kialakult bonyolítás miatt már a team-munka hatásaként ki kellett alakítani közös gondolkodásmódot és stílust, így a folyamat áttekinthetővé vált.
A teljes folyamat modellezésére több lehetőség is van. Az egyik ezek között a következőket foglalja magába:

Ez a fenti modell a legfontosabb lépéseket veszi sorra. Az egyes lépések tarthatnak tetszőleges ideig is. A modell hibája: csak egyetlen verzióval számol. Ám, mint tudjuk, a szoftverek folyamatosan fejlődnek, így szinte minden alkalmazásnak több verziója készül el.

–    Projekt-indítás: az elképzelések összeszedése: „Mit is szeretnénk megvalósítani?”
–    Elképzelés kialakítása: a konkrét célok kitűzése.
–    Erőforrások lefoglalása: emberi, hardver és szoftveres erőforrások összegyűjtése.
–    Követelmények: ezen elvárásoknak mindenképpen meg kell felelni.
–    Tervezés: a program algoritmizálása, elemeire bontása, az egyes részfeladatok kiosztása, az ütemterv egyeztetése. A megfelelő programnyelv és adatbázis-forma kiválasztása, a részegységek közötti adatátadás formáinak kialakítása.
–    Végrehajtás: a részfeladatok megvalósítása, minden egyes elem önálló kivitelezése.
–    Összeállítás: az önálló részek összefűzése, a megfelelő kapcsolatok kialakítása.
–    Tesztelés: az egyes elemek, valamint az egész alkalmazás megfelelő kipróbálása megfelelően széles körben. Az esetleges hibák, félreértelmezések és a teszt során felmerülő problémák megoldása.
–    Dokumentálás: a program részletes leírása, a leendő felhasználók tájékoztatása.
–    Telepítés: az alkalmazás megfelelő inicializálása az éles alkalmazói környezetben.
–    Üzemeltetés: a program futtatása.
–    Projekt-zárás: a fejlesztés befejezése, a tapasztalatok összegyűjtése.

Ez a fenti modell a legfontosabb lépéseket veszi sorra. Az egyes lépések tarthatnak tetszőleges ideig is. A modell hibája: csak egyetlen verzióval számol. Ám, mint tudjuk, a szoftverek folyamatosan fejlődnek, így szinte minden alkalmazásnak több verziója készül el.

A gyakorlat annyiban eltér a fenti modelltől, hogy egy-egy újabb verzióval előlről indul a folyamat, bár az egyes lépések általában sokkal gyorsabbak.  

Barry Boehm

A másik, gyakran emlegetett modell az ún. spirális fejlesztési modell. Ezt Barry Boehm (1935-) amerikai szoftvermérnök és professzor alkotta meg és még 1988-ban publikálta. (Kép eredetije: http://csse.usc.edu/new/barry-w-boehm) Megőrizte az előző modell előnyeit, de annak hibáit igyekezett kiküszöbölni. A spirál modell iterációkból áll, melyek folyamatosan ismétlődnek a projekt során. Valamennyi iteráció ugyanazon lépésekből áll, bár természetesen az ezek közötti hangsúly eltolódhat.

(Kép eredetije: http://aghy.uw.hu/rszdemo/eletciklus.htm )

A ma használatos szoftverek általában több fejlesztési cikluson esnek keresztül. Bár a cégek nem feltétlenül tartják be ezeket, de egy verzión belül a következő lépések vannak:

  • Pre-alfa: itt még csak a tervezett lépések vannak meg, általában minimális működőképességgel. Használata kizárólag fejlesztőknek és programozóknak javasolt!

  • Alfa: főleg hibakeresésre és a tervezett szolgáltatások megvalósítására tervezett kiadás. Már működik a szoftver alapszerkezete, de a részletek gyakran nem. Az is sokszor előfordul, hogy az egyes modulok képtelenek az együttműködésre; bár a program főbb szerkezete már jól látható. Maga az alkalmazás hibáktól és ellentmondásoktól hemzseg, gyakoriak az indoklás nélküli leállások, lefagyások.

  • Béta: a program összes funkciója megvalósul, általában az egész már működőképes. Nagyon hasznos bemutatókra, illetve demonstrációs célokra, de még nem teljesen stabil és hiányzik belőle a program teljes funkcionalitása. Két külön verziója a nyitott béta és a zárt béta. A nyitott béta verzió esetén az alkalmazást minimális feltételek mellett szinte mindenki tesztelheti – általában ingyen; így a leendő felhasználók teszt-közössége rengeteg hibát, hiányosságot felfedez, amit a fejlesztőknek jelent. Előnye: a program népszerűsége már a fő kiadás előtt megnő és a kész kiadást jelentős várakozás előzheti meg, tovább a széles tesztközönség rengeteg hibát észrevehet. A zárt béta verzió esetén csak a fejlesztők által kiválasztott szűk csoport tesztelheti az alkalmazást. Előnye: a program nem kerül idő előtt nyilvánosságra, így megjelenésekor nagy meglepetést okozhat; továbbá a tesztelők nem véletlenszerűen bukkannak rá hibákra, hanem a professzionalizmusuk miatt korrektül végigtesztelik a teljes alkalmazást. Megjegyzés: egyes kisebb programok kvázi stabil Béta-verziókkal működnek, mivel egyszerűen alig adnak ki stabil verziókat.

  • Kiadásra jelölt (Release Candidate = RC): a program gyakorlatilag végleges verziója. Jelentős javítások már nem várhatóak benne, csak apróbb fazonigazítások. Némi változtatás érheti a dokumentációt, az egyes részfeladatokat, illetve a részek kinézetét, de maga a programtörzs már kialakult. Általában a végleges verzió előtt kis idővel kerül kiadásra. Sokszor ingyenes, de korlátozott felhasználhatóságú; ám egyes szoftverházaknál előfordul az is, hogy csaknem teljes árban kell megvenni, viszont a végleges verziót a vásárló ingyenes frissítésként kapja meg.

  • OEM (Original Equipment Manufacturer) verzió: általában a frissen megvett géphez adott alkalmazás. Az ára többnyire jóval kedvezőbb, mint a teljes dobozos verziónak, de gyakori, hogy telepítő média (CD/DVD/BR/Pendrive) már nem jár hozzá, mivel a gépen előre van telepítve. Általában a nevesebb számítógépgyártók élnek vele, de a kisebb gyárak között is sokszor előfordul ez a megoldás. (pl.: Win10, Office, stb.)

  • Dobozos (box) verzió: a boltok polcairól levehető, megvásárolható termék. Jellemzően ez a legdrágább, csomagolásban is igényes kiadás, mivel erre rakódik a legtöbb szállítási, forgalmazási és egyéb költség. Általában tartalmazza a terméket valamilyen adathordozón (CD/DVD/BR/Pendrive) és a dokumentációt, többnyire nyomtatva, de néhány termék esetén ezt is az adathordozóra rakják fel valamilyen népszerű formátumban (DOC/PDF/stb.). Az ingyenes termékek esetén ez a verzió nem létezik, mivel nincsen ára. A termék megvételével több-kevesebb verziókövetés is jár. Egyes szoftverek esetén ez csak az aktuális verziót és frissítéseit jelenti, de előfordulhat olyan szoftver is, ami egyszeri megvételével állandó verzió-frissítést is kap a vásárló. Jellemző továbbá, hogy ezt a terméket új számítógép vételekor kedvezményesen lehet megszerezni, esetleg a kisebb értékű szoftvereket ingyenesen adják az új gép mellé. Egyre többször előfordul az is, hogy a dobozban csak a licensz-szerződés van, illetve a letöltési URL és a regisztrációs szám vagy eljárás. Így már egyáltalán nem kell az alkalmazást semmilyen médiában sem dobozolni, mivel az letölthetővé válik. (pl.: Win10 Prof. box verzió)

  • On-line licenszes verzió: ez a dobozos termékek áránál kedvezőbb, csak elektronikus úton beszerezhető verzió. A vásárló legális termékhez jut, mivel az árat befizeti átutalással, bankkártyával vagy egyéb elektronikus módon (PayPal, E-Bay, stb.). A forgalmazó cég a szoftver egyedi, névre szóló licenszét általában elektronikusan küldi (nyomtatható PDF formátumban), de előfordulhat postai úton küldött licensz is.  Az online verzió lényege, hogy a dobozos csomagolás és forgalmazás megúszható, valamint csak a regisztrált és megbízhatóan fizető felhasználók tudják a szoftvert használni. (Pl.: MS 365 Office, egyes internetes játékok)

  • SOHO (Small Office Home Office) verzió: az adott terméket lehet használni az irodában és a felhasználó otthoni gépén is, így a munka simán hazavihető. (Pl.: több irodai vagy ipari célszoftver)
  • Educational (oktatási) verzió: a terméket igen nyomott áron lehet megvenni csak oktatási célra. Ez a kedvezmény esetenként 70, 80, de akár 99% is lehet. Ez nagyon durva árengedmény, de így a kedvezményt adó cég még az iskolapadban rászoktatja termékeire a diákokat, akik a munka világába kilépve ugyanazt az immár a teljes áru szoftvert fogják a munkahelyükkel beszereztetni. Hasonló elven működik a főleg Microsoft által használt MOLP licensz is (Microsoft Open License Program), ami oktatási, közművelődési karitatív és kormányzati szerveknek ad jelentős árengedményt. (pl. a szakképző iskolák számára egyes cégek igen komoly engedménnyel adnak szoftvereket)
  • Freemium szoftverek: az alapszoftver általában internetes letölthető és ingyenes, de az egyes lépésekhez vagy a gyorsabb haladáshoz már kisebb-nagyobb összegeket kell befizetni. (pl.: sok Androidos játék)

 

Felhasznált irodalom:

© TFeri.hu, 2013.

Felújítva: 2016, 2018 és 2021.ápr.