Szoftver - online rejtvények
A szoftver (angol: software) alatt a legszűkebb értelemben elektronikus adatfeldolgozó berendezések (például számítógépek) memóriájában elhelyezkedő, azokat működtető programokat értünk. Körülbelül ez volt a John W. Tukey által 1958-ban bevezetett angol software kifejezés eredeti értelme is.
A szoftvert az különbözteti meg a fogalmilag vele szembeállított, és azt kiegészítő hardvertől, hogy egy programvezérelt berendezésnek a hardver az egyedi, fizikai részét, míg a szoftver az általános, szellemi részét jelenti. Egy példával megvilágítva: két egyező típusú, minden szempontból azonosan felszerelt és egyformán működő számítógép esetében a hardver az, ami miatt két különálló gépről beszélünk, és a szoftver az, ami a két gépben egy és ugyanaz. A hardver fizikai jellegénél fogva egyedi és megismételhetetlen, míg a szoftver éppen az önmagával azonosan ismételhetőt, a tökéletesen másolhatót jelenti. A világon emberek milliói használják egymástól függetlenül, nap mint nap, ugyanazt a szoftvert; ám ha több felhasználó ugyanazt a hardvert használja, akkor szükségképpen osztozniuk kell annak véges, fizikai erőforrásain.
A szoftver nemcsak elektronikus memóriatartalomként realizálódik, hanem életciklusának megfelelően többféle formában jelenik meg, fogalma ezekre a megvalósulási formákra is kiterjed, így a szoftver fogalmába tágabb értelemben beletartozik:
az összes fejlesztési dokumentáció (mint például a forráskód);
az összes felhasználói dokumentáció (mint például a felhasználói kézikönyv);
az összes kereskedelmi dokumentáció (mint például a licenc);
illetve az ezek bármelyikét tartalmazó adathordozók (mint például a telepítő CD vagy a nyomtatott számla).Az összetett feladatok elvégzésére kifejlesztett, egymással szoros kapcsolatban álló, önállóan is működőképes, de együttesen hatékonyabb és teljesebb támogatást nyújtó, éppen ezért teljes életciklusuk során együtt kezelt szoftverek csoportját programcsomagnak nevezzük.
A szoftverek funkciójuk szerint
A programvezérelt gépek célszerű működését a szoftverek több rétege biztosítja. Aszerint, hogy egy szoftver specifikusan mennyire inkább a gép puszta működtetését, avagy az ember által igényelt feladatmegoldást segíti elő, a következő funkcionális csoportokat különböztetjük meg:
indítóprogram vagy alapszoftver – a felhasználó által a legkevésbé manipulálható, a gép üzemszerű működését beállító program(ok), ide tartozik a firmware is;
rendszerszoftver – a gép és perifériái kommunikációját lebonyolító programok, beleértve a felhasználó oly mértékű kiszolgálását, amely lehetővé teszi a számára más szoftverek elkészítését és üzembe helyezését is;
alkalmazói szoftver vagy alkalmazások – a felhasználót a számítógép használatán túl mutató céljainak elérésében támogató specifikus programok.
felhasználó által készített szoftver – valamilyen alkalmazáson belül, annak támogatását kihasználó, programozói ismeretek nélkül elkészíthető programok.