Informatika Előadás Szoftvertermékek jellemzői, osztályozásuk Előadó: Tusnádi István
A szoftver fogalma Szoftvernek nevezhetjük az adatfeldolgozó berendezések működtetéséhez szükséges szellemi terméket. Tágabb értelemben nemcsak a programot értjük alatta, hanem mindazon tevékenységeket is, amelyek a programrendszerek létrehozásával kapcsolatosak. A szoftverfogalom körébe tartoznak az utasítássorozatokból felépülő programok azok az adatstruktúrák amelyek lehetővé teszik az információ feldolgozást a működést, használatot leíró dokumentumok
A szoftvertermékek osztályozása Hardver közeli szoftverek Operációs rendszerek Segédprogramok Programfejlesztő eszközök Felhasználói programok, alkalmazások
Hardver közeli szoftverek Általában gépi kódban írt, speciális célú, a megfelelő hardver elemeket alapszinten működtető programok Legtöbbször ROM memóriákba beégetett programok
Operációs rendszerek A számítógépek összetett, bonyolult, szinte a számítógép teljes működését érintő alaprendszere Moduláris felépítésű, robosztus programrendszer
Segédprogramok A számítógép működését segítő, azt kiegészítő általában egy speciális céllal kifejlesztett program, mint például: Fájlkezelő programok Tömörítő programok Víruskereső programok Rendszer diagnosztikai programok Multimédia eszközkezelők, stb.
Programfejlesztő eszközök A különböző programnyelveket, programgeneráló szoftver környezeteket sorolhatjuk ebbe a csoportba. Az alapvető különbség: a programnyelveken a tényleges forráskódokat a nyelv szabályi alapján úgymond meg kell írni, azaz kódolni kell a generátoroknál nagyon sok mindent, pl. menü rendszert, képernyőt, nyomtatási képet, a rendelkezési eszközrendszerrel szerkeszteni, generálni lehet
Felhasználói programok, alkalmazások Ebbe a csoportba szinte minden egyéb program besorolható; ügyviteli programok, tervező programok, multimédiás programok, játékprogramok, kommunikációs programok, stb.
A felhasználói programok csoportosítása Általános célú programok Szövegszerkesztők Táblázatkezelők Grafikai, multimédia készítő programok (Photoshop, Coreldraw,….) Web böngészők (Netscape, Opera, Explorer) Adatbázis kezelő rendszerek: (Oracle, FoxPro…) Felhasználói célprogramok
Az operációs rendszer fogalma A számítógép alapvető működését, a gép erőforrásainak elosztását, kezelését, a programok futtatását, felügyeletét, a felhasználó és a gép közötti kapcsolatot biztosító eljárások, programok összessége.
Operációs rendszerek DOS (Windows 3.1) OS2 / Warp UNIX, Linux WINDOWS WINDOWS NT WINDOWS 2000, XP
Az operációs rendszer célja A hardverillesztések elfedése Felhasználói szoftverek futtatása Kapcsolat a felhasználóval Az operációs rendszer lehetővé teszi, hogy a felhasználó különböző eszközökkel bővítse számítógépét és ezeket az eszközöket különböző felhasználói programok segítségével használják. Megkönnyíti a fejlesztők munkáját, akik szabványos felületre készíthetik eszközeiket.
Karakteres operációs rendszer Parancsvezérlés Szigorú szintaktika Nehézkes kezelés Kis helyigény Hardver-igénytelenség Könnyű telepítés
Karakteres operációs rendszer felépítése Kis helyigényű alapprogramok Állandóan elérhető utasításkészlet Segédfunkciók külső fájlokban Vezérlőprogramok az alapvető eszközökhöz Eszközbeállító batch fájlok
Grafikus operációs rendszer Objektum orientáltság Eseményvezérlés Kötetlen kezelés Egységes szoftver- és hardvererőforrás kezelés Ugyanakkor: Nagy helyigény Nagy hardverigény Nehézkes telepítés a sok illesztés miatt
A grafikus operációs rendszer felépítése Rendszervezérlő „gerinc”-programok Állapotnyilvántartó bejegyzésfájlok Programvezérlő segédfájlok, driverek Grafikus és egyéb segédfájlok, amelyek a kezelőfelület egységes arculatát és felhasználhatóságát biztosítják
Operációs rendszerek feladata Kommunikáció a felhasználó és a számítógép, pontosabban annak különböző programjai között A számítógépen éppen működő programok futásának ütemezése A számítógép erőforrásainak elosztása A különböző hardver elemek alapszintű kezelése Hibakeresés, hibakezelés
Az operációs rendszerek alaptípusai I. Hagyományos (DOS ) A DOS egy 16 bites architektúrájú, karakteres felületű operációs rendszer, egyszerre csak egy alkalmazás futhat rajta és a megszakításokon keresztül vezérelte a rendszer a rendszer modulok és az alkalmazás működését
Az operációs rendszerek alaptípusai II. Többszálas programfutás támogatása (multitask) A legtöbb korszerű operációs rendszer támogatja a programok több szálon való működését, azaz több programszál párhuzamosan, (de nem egy időben) történő futásának lehetőségét.
Rendszer összetevők I. A rendszer hívás - kapcsolódási hely (interface) az operációs rendszer és az alkalmazói programok között. - assembly ill. C nyelven készülnek - különböznek a különböző operációs rendszerekben Hibakezelés alapjai A programok időosztásos futása, az erőforrások megosztott használata a hibakezelést előtérbe helyezte az operációs rendszer feladatain belül.
Rendszer összetevők II. Végrehajtási módok: Felhasználói módban a programok csak a saját 32-bites memória címeiket érhetik el, és csak jól körülhatárolt módon, ellenőrzötten kommunikálhatnak a rendszer többi részével. A kizárólagos mód gyakorlatilag rendszerszintű programfutási mód, csak az időosztási elv alapján történik meg a vezérlés átadása.
Rendszer összetevők III. Megszakítások (interrupts) - Hardver megszakításkor a hardverelem (pl. a billentyűzet) egy jelet küld a CPU-nak a rendszerbuszon keresztül. - A szoftver megszakítás egy programba beépített rendszerhívással aktualizálódik
Rendszer összetevők IV. Állomány kezelő rendszer: Alapvetően két szinten történik a fájlok tárolásának szervezése, egy alacsony szintű, hardver közeli szervezés és egy magasabb un. logikai szervezés a könyvtárszerkezet. A mai operációs rendszer általában azt a könyvtárszerkezetet alkalmazzák, amikor minden felhasználóhoz (felhasználó csoporthoz) egy fa szerkezetű könyvtárrendszer tartozhat.
Windows 2000 A Windows 2000 a Windows NT 4.0-ból, és kisebb mértékben a Windows 98-ból kifejlesztett 32-bites, időosztásos, alkalmazói programok párhuzamos futását támogató, grafikus felhasználói felülettel rendelkező, robosztus operációs rendszer.
Windows 2000 jellemzők: Modularitás Az operációs rendszer belső magja, a rendszer működéséhez nélkülözhetetlen alap programok, kis, diszkrét egységekre vannak bontva, amelyek világos, jól definiált feladatokat tartalmaznak. A modulárisan kifejlesztett modulok jól meghatározott, biztonságos módon kapcsolódhatnak össze, kommunikálhatnak egymással.
Windows 2000 jellemzők: Kliens/Szerver szemlélet Az operációs rendszer kis önálló kompakt egységekre, modulokra oszlik, amelyek jól definiált „üzenetekkel” kommunikálni tudnak egymással. A kérő egység a kliens és a kiszolgáló a szerver. A „kérés” és „válasz” a modulok jól definiált, elkülönült kapcsolódási helyeiken (interface) zajlanak le.
Windows 2000 jellemzők: Védett memória modell Windows NT/2000-ben minden programfolyamatnak meg van a maga 32-bites címterülete, és nincs módjuk, hogy olvassanak vagy írjanak ezen a területen kívül, sem véletlenül, sem szándékosan.
Windows 2000 jellemzők: Preemptive futási mód A legalapvetőbb eleme ennek a futási módnak, hogy a belső rendszer, a mikrokernel, mindig kontrollálja az egész rendszert. Időszeleteket ad a futó programegységeknek. Amikor a rendelkezésre bocsátott idő lejár a mikrokernel megszakítja a kód futását, és átadja azt egy másik kódsorozatnak.
Windows 2000 jellemzők: Nemzeti verziók A nemzeti verziók az adott nyelve kívül tartalmazzák az adott ország, régió sajátos adatformáit is, pl.: - listaelemek elválasztása, - dátum és időformátum, - numerikus értékék megjelenítése - pénznem a Windows 2000 az Unicode standard 16-bites karakterkészleteket használja az ASCII helyett.
Programozási nyelvek hardver közeli, assembly nyelv - kevés számú, a processzor utasítás készletét „híven” követő utasítás készlete van, - kevés, egyszerű adattípust használ - gyors, hatékony programkódot lehet vele készíteni, - hardver elemek alapműködését, sokszor a ROM-okba beégett kódokat készítenek vele.
Alap fejlesztő nyelv: C++ Magas-szintű fejlesztői nyelv - fejlesztői szabvány, - az operációs rendszerek, univerzális alkalmazásokat C-ben fejlesztik. - OOP szemléletű programnyelv - az alapvető felhasználó felület elemek osztályai szabadon használhatók - nagyon hatékony fordítói, szerkesztői eszközrendszerrel rendelkezik.
Internet fejlesztések eszköze: JAVA Az első JAVA változat tulajdonképpen leegyszerűsített C++ -volt. Hamar az internetes fejlesztői környezetek szabvány nyelvévé vált. Kisméretű, így Internetről letölthető az operációs rendszerek számára könnyen futtatható programok készíthetők vele.
A populáris programnyelv: Basic Egyszerű, nagy hagyományokkal rendelkező programnyelv Könnyen tanulható, általános célú nyelv A mai verziók pl. Visual Basic korszerű programnyelvnek tekinthető
Funkcionális programozási nyelvek: FORTRAN COBOL ALGOL PL1
Adatbázis kezelők Dbase, Clipper Visual FoxPro Delphi Oracle Access MySQL
A programfejlesztés alapelemei A forráskód, az utasítás sorozatot tartalmazó szövegfájl. A programozó által írt, vagy a generátor által létrehozott forráskódot lefordítja gépi kódra, és tárgymodulként tárolja. A tárgymodulok a rendszerkörnyezettel együtt futtatható programmá szerkesztése.
A szoftver fejlesztés folyamata A szoftver témájának megismerése, A program leírás, kidolgozása (absztrakciós, szintetizáló folyamat) Program terv kidolgozása Programozás Program tesztelés
A programkészítés folyamata A feladat elemzése. A feladat részekre bontása. A részfeladatok megoldása. A részfeladatok tesztelése. A részfeladatok összerakása. Az egész feladat tesztelése.