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 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 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 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.

Kategória:Szoftverek