Szoftverek felfúvódása
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
A szoftverek felfúvódása (angolul: software bloat) egy olyan tendenciára használt kifejezés, amely során egyes szoftverek újabb és újabb verziói egyre több erőforrást igényelnek, miközben a funkcionális fejlődésük ezt nem indokolja.
A felfúvódás megítélése gyakran nem egyértelmű, mert az erőforrás-igény könnyen, míg a funkcionális fejlődés nehezen fejezhető ki egzakt számokkal. Olyan eset is előfordul, amikor egy szoftver egyes tényezőiben a felfúvódással ellentétes fejlődést produkál, eközben más tényezőkben jelentős felfúvódást tapasztalhatunk.
Tényezői
[szerkesztés]A szoftverek felfúvódása legtöbbször több dimenzióban párhuzamosan jelentkezik:
- egy funkció futtatásához lényegesen több memória szükséges
- a minimálisan igényelt memória mennyisége jelentősen növekszik
- a szoftver telepítője lényegesen megnövekszik méretben
- a telepítési idő jelentősen növekszik
- a telepítés után felhasznált terület lényegesen növekszik
- a szoftver beindulásához vagy szabályos leállításához szükséges idő lényegesen növekszik
- a minimális processzorigény növekszik
- újabb hardverelem vagy hardververzió szükséges, mint alapkövetelmény
- új funkcióként jelenik meg olyan tulajdonság, amely a szoftver valamely megelőző verziójának sajátja volt, csak később a szoftver felfúvódása során elveszett
- a szoftver a fejlettebb hardverelemem nagyobb teljesítményét úgy emészti fel, hogy a felhasználó számára a korszerűségből adódó előny teljesen elveszik
Kialakulásának okai
[szerkesztés]A szoftverek fejlesztése az 1970-es és 1980-as években a hardvereszközök szűkössége miatt még az optimalizációt a legfontosabb tényezők között tartotta. Ez a kényszer fokozatosan eltűnt, miközben a fejlesztés üteme felgyorsult azzal együtt, hogy a szoftverek élettartama szükségszerűen lecsökkent, így az értékesítésből és szoftvertámogatásból befolyó profitot rövidebb idő alatt kell realizálni. Ezért a legfontosabb paraméterek a nyújtott funkcionalitás növelése és a fejlesztési idő csökkentése lettek. Másik ok, hogy a kizárólag matematikusok és mérnökök helyett lehetővé vált széles tömegek számára, hogy szoftvert fejlesszenek komolyabb előképzettség nélkül. Az így keletkező szoftverek csak olyan mértékben optimalizáltak, amennyire azt a fejlesztőeszköz magától megoldja.
A felfúvódás egyik kevésbé ismert oka a visszafelé történő kompatibilitás kényszerű megtartása. Ehhez szükséges a régebbi megoldásokat is kezelő komponensek életben tartása, esetlegesen emulációs réteggel az újabb megoldás felé. Ez jelentős tényező a hardvereszközöket támogató szoftverek esetén, amilyen pl. a Linux kernel.
Következményei
[szerkesztés]A szoftverek felfúvódása folyamatosan indukálja a hardvereszközök cseréjét és bővítését a felhasználói oldalon. Ezen kívül a hatékony és elterjedt energiagazdálkodás ellenére a szoftverek elektromos energia fogyasztása nem csökken a kívánt mértékben. Ezen kívül a növekvő telepítőkészletek növekvő hálózati forgalmat indukálnak, bár ennek valódi aránya a hálózati forgalom növekedésében pontosan nem ismert.