Szoftver [1] [2] [3] (kiejtési szoftver [3] [4] [5] [6] is elfogadható ) ( szoftver ) egy program vagy programkészlet, amelyet számítógép vezérlésére használnak ( ISO/IEC 26514: 2008 ) [7] .
Vannak más meghatározások a nemzetközi és orosz szabványokból:
A szoftver a számítógépes rendszerszoftverek egyik fajtája , a technikai (hardveres), matematikai, információs, nyelvi, szervezeti, módszertani és jogi támogatással együtt [13] .
A szoftvereket tanulmányozó akadémiai területek a számítástechnika és a szoftverfejlesztés .
A számítógépes szlengben gyakran használják a „ soft ” szót, amely az angol „ software ” szóból származik , amelyet először az American Mathematical Monthly cikkében használt ebben az értelemben a Princetoni Egyetem matematikusa , John Tukey 1958 - ban [14] .
Az első programot Ada Lovelace írta Charles Babbage Difference Engine- hez , de mivel ez a gép soha nem készült el, Lady Lovelace fejlesztései pusztán elméletiek maradtak [15] .
A szoftverekkel kapcsolatos első elméletet Alan Turing angol matematikus javasolta 1936-ban "On computable numbers with an application to the Entscheidungsproblem" [ 16 ] [17] [18] című esszéjében . Megalkotta az úgynevezett Turing-gépet , egy absztrakt gép matematikai modelljét, amely képes olyan kezdetleges műveletsorok végrehajtására, amelyek a gépet egyik rögzített állapotból a másikba viszik. A fő gondolat az volt, hogy matematikailag bebizonyítsuk, hogy a rendszer bármely előre meghatározott állapota mindig elérhető elemi parancsok (programok) véges halmazának szekvenciális végrehajtásával egy rögzített parancshalmazból.
Az 1940-es és 1950-es években az első elektronikus számítógépeket átprogramozták a billenőkapcsolók átkapcsolásával és a kábelek újracsatlakoztatásával, ami megkövetelte a belső szerkezetük mély megértését. Ezek a gépek különösen tartalmazták az ENIAC -ot (amelyet azonban később úgy módosítottak, hogy legalább részben lyukkártyákkal programozható legyen ) [19] .
A modern számítógépek felé tett fontos lépés volt a John von Neumann architektúrára való áttérés , amely először az Egyesült Királyságban testesült meg , a J. R. Womersley irányítása alatt és Alan Turing , Mark I néven ismert számítógép közreműködésével. Az első, a számítógép memóriájában tárolt program 1941. június 21-én indult. A gép programozásának megkönnyítésére Turing egy gyorsírási kódoló rendszert dolgozott ki, amelyben egy lyukszalagra kiadott teletípus szimbólumok sorozatát használták egy bináris gépi kód ábrázolására [20] .
Turing egyik alkalmazottja, John Mauchly , aki később ( John Presper Eckerttel együtt) a BINAC -hoz és az UNIVAC -hoz hasonló számítógépeket fejlesztő Eckert-Mauchly Computer Corporation vezetője és alapítója lett , arra utasította alkalmazottait, hogy alkossák meg az algebrai képletek fordítóját. Bár ezt az ambiciózus célt az 1940-es években nem sikerült elérni, Mauchly vezetésével kidolgozták az úgynevezett " Short Code ", amelyben a műveleteket és a változókat két karakter kombinációval kódolták. A rövid kódot az interpreter [21] segítségével valósítottuk meg . Grace Hopper , aki az 1950-es évek eleje óta dolgozott az UNIVAC I matematikai szubrutinjain , feltalálta az " A-0 " linker programot , amely egy azonosító megadásával lekérte a kívánt szubrutint egy mágnesszalagon tárolt könyvtárból , és megírta . le a RAM -ban kijelölt helyre [22] .
Az első magas szintű programozási nyelvek az 1950 - es években jelentek meg, John Backus fejlesztette ki a FORTRAN -t , Grace Hopper pedig a COBOL -t . Az ilyen fejlesztések nagymértékben leegyszerűsítették az alkalmazásszoftverek írását, amelyeket aztán minden számítógépet vásárló cég írt [23] .
Az 1950-es évek elején a szoftver fogalma még nem alakult ki. Tehát semmit sem mondtak róla a Fortune 1952. januári "Office Robots" című cikkében, amely az Univac számítógépeket írta le. Bár a cikk már beszél a számítógépről, mint univerzális eszközről, a programozási folyamatot ebben a cikkben anakronisztikusan "váltókapcsolók váltásaként" írták le [24] . Az 1950-es évek közepén azonban az egyedi szoftverfejlesztés [25] már jól bejáratott volt, bár magát a „szoftver” kifejezést még nem használták, akkor egyszerűen csak „ rendelésre programozásról ” vagy „ programozási szolgáltatásról ” beszéltek [26] . Az első szoftvercég a System Development Corporation volt , amelyet 1956-ban alapítottak az amerikai kormány tulajdonában lévő RAND Corporation -től [27] . Ebben a szakaszban a szoftverek (egyedi és nem reprodukálható) ügyfelei nagyvállalatok és kormányzati szervek voltak, és a program egymillió dolláros költsége nem volt szokatlan [28] .
Maga a "szoftver" kifejezés az 1960-as évek eleje óta terjedt el széles körben, amikor is fontossá vált a számítógépet vezérlő parancsok és fizikai összetevői – hardver – megkülönböztetése [29] . Ezzel egy időben megkezdődött a szoftveripar önálló iparággá való formálása . Az első szoftverfejlesztő cég a Computer Sciences Corporation volt, amelyet 1959-ben Roy Nutt és Fletcher Jones alapított 100 dolláros induló tőkével. A CSC első ügyfelei és az őt követő szoftvercégek olyan szupernagyvállalatok és kormányzati szervezetek voltak, mint a NASA [ 30] , és a cég továbbra is az egyedi szoftverek piacán működött, csakúgy, mint más korai magánszoftver- indító cégek , mint például a Computer Usage Company (CUC ) [27] .
Az első saját kiadású, nem számítógépes hardverrel ellátott szoftvertermékek az Applied Data Research által 1965-ben kiadott AUTOFLOW számítógépes dokumentáció generátor , amely automatikusan rajzolja a folyamatábrákat , és az 1960-1967 között kifejlesztett MARK-IV programnyelvi fordító . az Informatika Zrt.-nél. [26] [31] A vállalati szoftverek piacának felfutása szorosan összefügg az IBM System/360 számítógépcsalád megjelenésével . A kellően masszív, viszonylag olcsó, programkód szintjén egymással kompatibilis számítógépek megnyitották az utat a replikált szoftverek előtt [32] .
Fokozatosan bővült a szoftvervásárlók köre, ami új típusú szoftverek kifejlesztését ösztönözte. Így jelentek meg az első számítógéppel segített tervezőrendszerek fejlesztésére szakosodott cégek [30] .
1966 novemberében a Business Week foglalkozott először a szoftveripar témájával. A cikk a „Szoftverhiány – A számítógépek növekvő válsága” címet viselte, és szó esett mind ennek az üzletnek a kilátásairól, mind a programozóhiánnyal összefüggő válságról [24] . Az akkori tipikus szoftvertermékek az általános üzleti feladatok, például a bérszámfejtés automatizálására szolgáltak, vagy egy közepes méretű vállalkozás, például egy gyártóüzem vagy egy kereskedelmi bank üzleti folyamatainak automatizálására . Az ilyen szoftverek ára jellemzően 5000 és 100000 dollár között mozgott [26] .
Az 1970-es években az első személyi számítógépek (például az Altair 8800 ) megjelenése megteremtette a tömeges szoftverpiac kialakulásának előfeltételeit. Kezdetben a személyi számítógépekhez készült programokat "dobozos" formában terjesztették bevásárlóközpontokon vagy postai úton , és ára 100-500 dollár volt [26] .
A szoftverek születőben lévő tömeges piaca szempontjából jelentősek voltak az olyan termékek, mint a VisiCalc táblázat , amelynek ötlete Daniel Bricklinben merült fel , amikor MIT végzett és a DEC szoftvermérnökeként a Harvard Business School tanfolyamait végezte, és szerette volna unalmas pénzügyi számításokkal [33] és a WordStar szövegszerkesztővel könnyítheti meg magát, amelyet Seymour Rubinstein fejlesztett ki , miután alaposan tanulmányozta a piac igényeit [34] . A VisiCalc-ről először úgy beszéltek, mint egy gyilkos alkalmazásról , vagyis olyan számítógépes alkalmazásról, amely már a létezésénél fogva bizonyítja, hogy szükség van (és gyakran meg is kell vásárolni) a platformra, amelyre egy ilyen programot implementálnak. A VisiCalc és a WordStar számára a személyi számítógépek váltak ilyen platformmá, amely nekik köszönhetően a stréberek gazdag játékából munkaeszközzé vált . Ők indították el a mikroszámítógépek forradalmát , és ezeknek a programoknak versenytársai is vannak: SuperCalc táblázatok , Lotus 1-2-3 , dBase II adatbázis-kezelő rendszer , WordPerfect szövegszerkesztő stb. [35] Szövegszerkesztők, táblázatkezelők, adatbázis-kezelő rendszerek, valamint grafikus programok szerkesztők , hamarosan a személyi számítógép-szoftverek piacának alaptermékeivé váltak [36] .
Az 1990-es évek közepére a tömeges replikáció lehetővé tette a személyi számítógépek szoftverének száz-ötszáz dollárra való csökkentését [26] , miközben a szoftvergyártók üzletága némileg hasonlított a hangrögzítő cégek üzletágához [35] ] .
A szoftverek osztályozásának megközelítéseit kellő részletességgel formalizálja az ISO/IEC 12182 [37] nemzetközi szabvány . A szabvány első változata 16 kritériumot írt elő a szoftvereszközök osztályozására:
Példák a PS függvényosztályokra:
Példák az alkalmazási tartomány osztályaira:
Példák a PS skála osztályokra:
Példák a kritikussági osztályokra:
Példák a felhasználói osztályokra:
Példák a stabilitási osztályokra:
A hordozhatóság mértéke szerint a programok fel vannak osztva
A terjesztés és a felhasználás módja szerint a programok fel vannak osztva
A program célja szerint a következőkre oszthatók:
A programok típusa szerint a következőkre oszthatók [38] :
A szoftverek ágazatonkénti osztályozása többféle megközelítést is tartalmaz. Általánosságban elmondható, hogy a szoftvereket egyedi , azaz egy adott vásárló számára készített és termékre oszlik , azaz a piacon eladásra készült termékre. Viszont a fogyasztó típusa szerint a szoftvereket Business-to-Business ( B2B ), azaz vállalkozások és szervezetek, valamint Business-to-Consumer ( B2C ), azaz magánszemélyek számára osztják [39] .
Az iparági szektor szerinti besorolás egyik lehetősége a vállalati ügyfeleknek szánt szoftverekre ( angol vállalati szoftvergyártók ), a tömegfogyasztói szoftverekre ( angol tömegpiaci szoftvergyártók ) és az IT-szolgáltatásokra való felosztás [40] .
Egy másik megközelítés szerint a szoftveripart három szektorra osztják: általános célú üzleti termékek ( angolul Business Function Software ), speciális üzleti termékek ( angol Industrial Business Software ) és magánéletre szánt termékek ( angol Consumer Software ). Az általános célú üzleti termékek célja, hogy támogassák a vállalkozások és szervezetek működését, és magukban foglalják a számviteli rendszereket, a pénzügyi rendszereket, a személyzeti nyilvántartási rendszereket stb. A speciális üzleti termékek egy adott típusú vállalkozás feladataira összpontosítanak: földrajzi információs rendszerek, egészségügyi rendszerek , logisztikai rendszerek stb. n. Az adatvédelmi termékek közé tartoznak a vírusirtó és információbiztonsági szoftverek, különféle hasznos segédprogramok, oktatási szoftverek, multimédiás szoftverek stb. [39]
Olyan programok halmaza, amelyek vezérlést biztosítanak a számítógépes rendszerelemek , például a processzor , a RAM , a bemeneti-kimeneti eszközök , a hálózati berendezések felett , amelyek „rétegközi interfészként” működnek, amelynek egyik oldalán a hardver, a másikon pedig a felhasználó található. alkalmazások. Az alkalmazói szoftverekkel ellentétben a rendszerszoftver nem old meg konkrét gyakorlati problémákat, hanem csak más programok működését biztosítja, olyan szolgáltatási funkciókkal látja el őket, amelyek elvonatkoztatják a számítási rendszer hardveres és firmware megvalósításának részleteit, kezelik a számítási rendszer hardver erőforrásait. . Ennek vagy annak a szoftvernek a rendszerhez való hozzárendelése feltételes, és az adott környezetben használt konvencióktól függ. A rendszerszoftver általában tartalmaz operációs rendszereket , segédprogramokat , adatbázis-kezelő rendszereket és a köztes szoftverek széles osztályát .
Az alkalmazásszoftver olyan program, amelyet bizonyos felhasználói feladatok elvégzésére terveztek, és a felhasználóval való közvetlen interakcióra tervezték.
A felhasználó a szoftvert egy licenccel együtt kapja meg , amely jogot biztosít számára a szoftvertermék használatára a licenc feltételeinek megfelelően. Általános szabály, hogy ezek a feltételek korlátozzák a felhasználó azon lehetőségét, hogy a szoftverterméket más felhasználóknak továbbítsák, módosítsák a kódot.
Néhány szoftverhez ingyenes licenc tartozik. Az ilyen licencek lehetővé teszik a szoftver terjesztését és módosítását.
A szoftver egy része ingyenes szoftverként kerül terjesztésre. Shareware is van. Ebben az esetben a felhasználó általában egy bizonyos próbaidőre megkapja a szoftvertermék ingyenes demóverzióját, némileg korlátozott funkciókkal, és ennek lejárta után köteles vagy megvásárolni a terméket, vagy eltávolítani.
Szótárak és enciklopédiák | ||||
---|---|---|---|---|
|
Szoftverfejlesztés | |
---|---|
Folyamat | |
Magas szintű koncepciók | |
Útvonalak |
|
Fejlesztési módszertanok | |
Modellek |
|
Figyelemre méltó alakok |
|
_ | Szoftverterjesztés|
---|---|
Licencek | |
Jövedelemmodellek | |
Szállítási módok |
|
Csalás/illegális | |
Egyéb |
|