A Szoftver témája az évek során vita és vita tárgya. Különböző nézőpontokkal és ellentmondó véleményekkel a Szoftver sokak figyelmét felkeltette, és érdeklődést és kíváncsiságot váltott ki következményei és következményei iránt. A Szoftver eredetétől a kortárs társadalomban való relevanciájáig olyan témát képvisel, amely senkit sem hagy közömbösen. Ebben a cikkben a Szoftver-hez kapcsolódó különböző szempontokat és perspektívákat fogjuk feltárni, azzal a céllal, hogy átfogó és részletes képet adjunk annak fontosságáról és hatóköréről.
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. (2007 augusztusából) |
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 ö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 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:
|
Ez a szócikk vagy szakasz lektorálásra, tartalmi javításokra szorul. (2007 júliusából) |
A szoftverek főbb kereskedelmi kategóriáit voltaképpen a tulajdonjogot és a szoftverhasználatot szabályozó licencek alapján lehet felállítani. Első megközelítésben leszögezhető, hogy (kereskedelmi és jogi értelemben) ahány féle licenc, annyi féle szoftver létezik; a licencelés lényegi kitételeit tekintve azonban kialakult néhány közhasznú kategória is:
A szoftver előállítása termelési folyamat, számítógépes programok előállítására irányul. A termék egy számítógépes program, ami egy feladat megoldására szolgál. A gyártási folyamat felosztható az elemzés, fejlesztés, üzembe helyezés fázisaira. A programozás előtti tevékenységet rendszerelemzésnek nevezzük.
1. lépés: rendszerelemzés A program megrendelője megfogalmazza igényét, hogy mit szeretne a számítógéppel megoldani.
2. lépés: rendszerfejlesztés Az algoritmus az az eljárás, amivel a bevitt adatok felhasználásával a kívánt eredményt megkapjuk.
3. lépés: specifikáció A megbízó, a rendszerfejlesztő, és a programozó együtt megalkotja azt a modellt, ami alapján a tényleges program működni fog. A specifikáció a szakmai nyelv mellett tartalmazza a programozói szóhasználatot a felhasználó számára érthető formában. Ebben leírják:
4. lépés: algoritmus-tervezés A cél a megoldás szerkezetének géptől és programozási nyelvtől független szerkezeti egységet bemutató leírása (szöveges algoritmus, jel-algoritmus).
5. lépés: megvalósítás Ez a programozók feladata.
6. lépés: kódolás A program összekapcsolt utasítások sorozata, ami a programozás terméke. A megtervezett program megvalósítása a programnyelv kiválasztásával történik.
7. lépés: tesztelés Mielőtt a program alkalmazására sor kerül, ellenőrizni kell annak helyességét. A tesztelés a problémamegoldás biztosítéka (íróasztal-teszt, formai teszt, szintaktikai teszt, szemantikai teszt).
8. lépés: dokumentálás A programdokumentáció a program felépítésével és megvalósításával kapcsolatos valamennyi dokumentum gyűjteménye (felhasználói kézikönyv, szemléltetési kézikönyv).
9. lépés: rendszerbevezetés A letesztelt programok üzemeltetésre készek. A rendszerbevezetés az installálással kezdődik. Az üzemeltetőket, a felhasználókat ki kell képezni a program kezelésére, hibák elhárítására. A program üzemeltetése során szükség lehet apró módosításokra.
10. lépés: átadás A felhasználó ekkor ismeri meg a végleges verziót.