A szoftver összetevői



Hasonló dokumentumok
Programozás alapjai Bevezetés

EPER E-KATA integráció

A döntő feladatai. valós számok!

Adatok ábrázolása, adattípusok. Összefoglalás

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

Ablakok használata. 1. ábra Programablak

Párhuzamos programozás

Lineáris algebra gyakorlat

Az első lépések. A Start menüből válasszuk ki a Minden program parancsot. A megjelenő listában kattintsunk rá az indítandó program nevére.

Fejlesztı neve: LÉNÁRT ANETT. Tanóra / modul címe: CÉGES REKLÁMBANNER KÉSZÍTÉSE PROJEKTMÓDSZERREL

Programozás I gyakorlat

Fordítóprogramok Készítette: Nagy Krisztián

Az informatika oktatás téveszméi

Számítógépes vírusok

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

2011. március 9. Dr. Vincze Szilvia

Erste MobilBank Felhasználói kézikönyv

Azonosító jel: Matematika emelt szint

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Tisztítószerek és tisztító eszközök beszerzése (14669/2014.)- módosítás

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag

Üresként jelölt CRF visszaállítása

Növelhető-e a hazai szélerőmű kapacitás energiatárolás alkalmazása esetén?

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Az aktiválódásoknak azonban itt még nincs vége, ugyanis az aktiválódások 30 évenként ismétlődnek!

A táblázatkezelő felépítése

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Az Európai Szabadalmi Egyezmény végrehajtási szabályainak április 1-étől hatályba lépő lényeges változásai

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Arany Dániel Matematikai Tanulóverseny 2011/2012-es tanév első (iskolai) forduló haladók I. kategória

A WEBES FELÜLET HASZNÁLATA. Munkáltatói oldalról. Fejér Megyei Kormányhivatal Munkaügyi Központja Székesfehérvár 2011.

KOVÁCS BÉLA, MATEMATIKA I.

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Sajátos Szükségletű Hallgatókat Segítő Szabályzat (Részlet)

Kombinatorika. 9. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Kombinatorika p. 1/

Diszkrét matematika I. gyakorlat

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Oktatói munka hallgatói véleményezése. Oktatók

MAGYAR KERESKEDELMI ÉS IPARKAMARA

AZ EURÓPAI KÖZÖSSÉGEK BIZOTTSÁGA. Javaslat: AZ EURÓPAI PARLAMENT ÉS A TANÁCS IRÁNYELVE

Figyelmeztető jelzést adó készülékek beszerzése - módosítás

Egyre nagyobb profitot generálnak a mobiltelefonnal végzett vásárlások, és egyre többet hezitálunk vásárlás előtt

Beszámoló: a kompetenciamérés eredményének javítását célzó intézkedési tervben foglaltak megvalósításáról. Őcsény, november 20.

Fábián Zoltán Hálózatok elmélet

Számrendszerek közötti átváltások

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Javítóvizsga témakörei matematika tantárgyból

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

Emelt szintű érettségi feladatsorok és megoldásaik Összeállította: Szászné Simon Judit; dátum: november. I. rész

6. SZÁMÚ FÜGGELÉK: AZ E.ON ENERGIASZOLGÁLTATÓ KFT. ÁLTAL E.ON KLUB KATEGÓRIÁBA SOROLT ÜGYFELEKNEK NYÚJTOTT ÁRAK, SZOLGÁLTATÁSOK

Programozás. A programkészítés lépései. Program = egy feladat megoldására szolgáló, a számítógép számára értelmezhető utasítássorozat.

Bár a digitális technológia nagyon sokat fejlődött, van még olyan dolog, amit a digitális fényképezőgépek nem tudnak: minden körülmények között

Érettségi feladatok Algoritmusok egydimenziós tömbökkel (vektorokkal) 1/6. Alapműveletek

Vodafone ReadyPay. Használati útmutató

[GVMGS11MNC] Gazdaságstatisztika

Alkalmazott fotográfus Alkalmazott fotográfus

A HIRDETMÉNY VISSZAVONÁSÁRÓL, MÓDOSÍTÁSÁRÓL, AZ AJÁNLATTÉTELI, VAGY RÉSZVÉTELI HATÁRIDŐ MEGHOSSZABBÍTÁSÁRÓL, A DOKUMENTÁCIÓ MÓDOSÍTÁSÁRÓL I.

ELŐTERJESZTÉS a Veszprém Megyei Önkormányzat Közgyűlésének április 19-ei ülésére

Jelek tanulmányozása

irányítószám: Ország: Magyarország

Elektronikus öltözőszekrényzárak

Az új modulrendszer tapasztalatai

Oláh Attila. ESRI FlexAPI alapú bevetés irányítási rendszer

DGP. Hátrahúzott vortex járókerék. Általános jellemzők

Áramlástechnikai gépek soros és párhuzamos üzeme, grafikus és numerikus megoldási módszerek (13. fejezet)

ingyenes tanulmány GOOGLE INSIGHTS FOR SEARCH

BETONACÉLOK HAJLÍTÁSÁHOZ SZÜKSÉGES l\4"yomaték MEGHATÁROZÁSÁNAK EGYSZERŰ MÓDSZERE

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Átalakuló HR szervezet, változó Business Partneri szerepek

Shared IMAP beállítása magyar nyelvű webmailes felületen

ELŐTERJESZTÉS a Képviselő-testület március 30-i ülésére

Nyomott - hajlított fagerenda szilárdsági méretezése ~ egy régi - új megoldás

A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki A hirdetmény kézhezvételének dátuma KÉ nyilvántartási szám

ELLENÁLLÁSOK PÁRHUZAMOS KAPCSOLÁSA, KIRCHHOFF I. TÖRVÉNYE, A CSOMÓPONTI TÖRVÉNY ELLENÁLLÁSOK PÁRHUZAMOS KAPCSOLÁSA. 1. ábra

Munkaerőpiaci szervező, elemző Munkaerőpiaci szervező, elemző Személyügyi gazdálkodó és fejlesztő

Számoló és számítógépek

Segítünk online ügyféllé válni Kisokos

Rádiós diszpécser rendszerek rövid ismertetője

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2006/2007

Tartalomjegyzék. Tartalom 1/16

Csomagolási segédlet

Gépi forgácsoló Gépi forgácsoló

Fókuszban a formahibák. Konzultációs nap Minőségfejlesztési Iroda szeptember 18. Fekete Krisztina

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ. Képi diagnosztikai és intervenciós asszisztens szakképesítés

Csecsemő- és gyermeknevelőgondozó Csecsemő- és gyermeknevelőgondozó

H A T Á S V I Z S G Á L A T I

A Hozzárendelési feladat megoldása Magyar-módszerrel

Szusza Ferenc labdarúgó sportlétesítmény fejlesztése

ÁFA felhasználói dokumentum Lezárva:

HIRDETMÉNY AKCIÓK, KEDVEZMÉNYEK

Laborgyakorlat Logikai áramkörök számítógéppel segített tervezése (CAD)

Külső eszközök Felhasználói útmutató

Kooperáció és intelligencia

Művesekezelés anyagainak beszerzése a Semmelweis Egyetem Transzplantációs és Sebészeti Klinika részére

Átírás:

A szoftver és a program kifejezéseket gyakran szinonimaként használjuk; általában ez nem is okoz problémát, a hétköznapi beszédben rendszerint nincs szükségünk a két fogalom közti különbség figyelembe vételére. Most azonban különítsük el őket: szoftver alatt a programot és a program által felhasznált, illetve előállított adatokat értjük. Ezt a megkülönböztetést azért tettük, mert a program és az adatok természete különböző: a program írja le azt, hogy mit csináljon a számítógép, az adatok pedig azt, hogy mivel. A program tehát a cselekvést, a folyamatot definiálja; az adatok pedig azt, hogy ez a folyamat mivel dolgozik, mire vonatkozik. Feladat megoldása: algoritmus A program valamilyen feladat végrehajtására szolgál a végrehajtásnak mindig van valamilyen módja, menete: ezt nevezzük a feladat megoldási algoritmusának. Az algoritmus mindig logikai szintű megoldást ír le, vagyis nem kötődik a végrehajtó személyéhez az lehet ember is, gép is (az már más kérdés, hogy melyik milyen sebességgel, pontossággal végezné el a feladatot). Példa Amikor a matematikában feladatként jelentkezett a másodfokú egyenletek megoldása, megalkották az ismert képletet: x 1, b ± = b 4ac Hogyan állapítjuk meg ennek segítségével a gyökök értékét? A megoldás ugyanis nem csak a képlet automatikus alkalmazását jelenti több buktató is felmerülhet. Ezek elkerülése érdekében, a feladatmegoldás általános szabályai szerint, először elemezzük a szituációt, vagyis: 1. Az a együttható nem 0? Mert ha igen, akkor nem másodfokú az egyenlet, és nem alkalmazzuk a képletet.. A gyökjel alatti b 4ac nem negatív? Mert ha igen, nincs valós megoldás. Ha nem negatív, akkor 0? Ha igen, akkor módosított képletet fogunk használni, és a két gyök értéke megegyezik: x 1, b = Mivel a feladat a gyökök értékének megállapítása, ezért a tetszőleges, másodfokúnak mondott egyenlet megoldásának menete vagyis algoritmusa az alábbiak szerint alakul: Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 1

HA a ÉS b ÉS c számok HA a > 0 HA b 4ac < 0 Eredmény: Nincs valós megoldás HA b 4ac = 0 b Eredmény: x1 = és x = x1 b + b 4ac b Eredmény: x1 = és x = Eredmény: Az egyenlet nem másodfokú Eredmény: Hibás adatok! b 4ac Ha a fenti algoritmus-leírást odaadjuk bárkinek, aki tud írni-olvasni és számolni (alapvető technikai ismeretek), és mellékeljük hozzá az a, b és c értékeket, akkor az algoritmust követve meg fogja mondani az eredményt függetlenül attól, hogy tudja-e egyáltalán, hogy mit csinál, vagy nem. Ez a lényeg: az ilyen algoritmust ugyanis ember és gép egyaránt végrehajthatja utóbbi azért, mert az algoritmus úgy van megfogalmazva, hogy végrehajtójának nem kell intuícióval, gondolkodási képességgel rendelkeznie (ellentétben az algoritmus írójával!). Vegyük észre azt is, hogy a fenti algoritmus nem csak a képlet alkalmazásából áll: adatokat definiáltunk (a, b és c); a körülmények, adatok elemzéséből adódó következtetéseket feltételek formájában alkalmazva leírtunk egy folyamatot, amely adatok vizsgálatából, a vizsgálat eredményétől függő elágazásokból és számításokból tevődik össze. Az algoritmus kialakításánál semmit nem bízunk sem a véletlenre (az adatok számok-e?), sem a végrehajtó értelmére, belátására (a = 0?). A program A logikai szinten megfogalmazott algoritmust később a végrehajtó személyére kell szabni. Ember és gép esetében ez ugyanazt jelenti: olyan nyelvre és jelrendszerre kell átalakítani, amelyet az megért. A számítógépek esetében ez a processzor által értelmezhető gépi kódú program. A program tehát gépi kódban tartalmazza azokat az utasításokat, műveleteket, amelyeket a processzornak el kell végeznie. A program tehát a számítógép számára érthető utasítások sorozata. Ezek az utasítások, általában adatok felhasználásával, egy feladat végrehajtását célozzák. A program képes (a megfelelő utasítások segítségével) a szükséges adatok bevitelére, a kapott adatok feldolgozására, majd az eredmények ember számára érthető formában való közlésére. Ebben a folyamatban a program a számítógép hardvereszközeit Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság

használja fel: adatbevitelhez pl. a billentyűzetet, adattároláshoz a memóriát vagy lemezeket, eredményközléshez a képernyőt vagy a nyomtatót. Régen a programozók közvetlenül gépi kódba írták át az algoritmusokat. Például Az alábbi gépi nyelvű utasítások egy (az Strg paraméterben megadott) karaktersorozat nagybetűssé alakítását végzik el: ($C4/$BE/Strg/$6/$8A/$0D/$FE/$C1/$FE/$C9/$74/$13/$47/$6/$80/$3D/$61/$7/$F5/$6 /$80/$3D/$7A/$77/$EF/$6/$80/$D/$0/$EB/$E9); Ezek a kódok az ember számára olvashatatlanok, megértésük még a szakembereknek is nehézséget okoz. Ma már az emberi nyelvhez, gondolkodásmódhoz sokkal közelebb álló, ún. magas szintű programozási nyelveket használunk ebben készülnek a forrásprogramok. Az alábbi Pascal nyelvű kód ugyanazt írja le, mint az előző gépi kód de teljesen egyértelmű lehet bárki számára, aki egy kicsit is tud angolul és ismeri a műveleteket: i:=1; {az i számláló legyen 1} while i <= Length(Strg) do begin end; {amíg a számláló kisebb, mint a karakterek száma} Strg[i] := UpCase(Strg[i]); {az i-dik karakter legyen önmaga nagybetűs megfelelője} i:=i+1; {növeljük a számlálót} A magas szintű programozási nyelvek használatával azonban felmerül egy probléma: a számítógép ezt a beszédes kódot nem érti meg tehát ahhoz, hogy a program futhasson, le kell fordítani a gép nyelvére, a gépi kódra. Ezt a fordítást speciális programok, a fordítóprogramok végzik. Például a számítógépünk merevlemezén található.exe,.com vagy.dll (Windows) jelzéssel ellátott állományok ilyen gépi kódra fordított programokat tartalmaznak. Amikor egy programot futtatunk, az operációs rendszer betölti azt a gép memóriájába, majd a processzor elkezdi végrehajtani az abban található utasításokat ezeknek megfelelően vezérelve a kívánt hardvereszközöket. A program rétegei A számítógépes programok általában nem olyan egyszerű feladat megoldására készülnek, mint a másodfokú egyenlet megoldása. A feladatok rendszerint sokkal nagyobbak, összetettebbek annál, mintsem egyetlen algoritmusban megoldhatók lennének. Az összetett feladatokat kisebb, átlátható részfeladatokra bontva oldjuk meg ezt nevezzük feladatmodularizálásnak. Bár a feladatok mindig különböznek egymástól és sok új megoldást tartalmaznak, azért sokszor találunk olyan részeket (modulokat), amelyek több feladat megoldásánál is újra felhasználhatók. Például a másodfokú egyenlet megoldását célzó algoritmusunk általános: bármely programban ismételten felhasználható, amely ilyen számítást igényel. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 3

Egészen magas absztrakciós szinten nézve, a programoknak rendszerint három fő feladatkört kell ellátniuk: 1. kommunikáció a felhasználóval,. feldolgozás (számítások), 3. adatkezelés. A fő feladatot először e feladatkörök szerint vizsgáljuk, és az egyes részfeladatokat ezeken belül határozzuk meg. Ezzel kialakítjuk a program rétegeit, amelyek: 1. a felhasználói felület,. az alkalmazáslogika, 3. az adatbázis-logika. Az egyes programokban a rétegek súlya, megléte természetesen függ a program jellegétől; vannak programok (például alapszintű operációs rendszer modulok), amelyeknél a klasszikus felhasználói felület nem létezik; és vannak programok, amelyek nem használnak adatbázist (bár valamilyen adatokat biztosan). Az egyes rétegekbe tervezett megoldások, algoritmusok csak az adott réteg jellegének megfelelő műveleteket végzik: a felhasználói felület elemei nem végeznek adatfeldolgozással kapcsolatos számításokat, és az alkalmazáslogika sem foglalkozik az adatok tárolásának, visszakeresésének problematikájával. Az egyes rétegekben a feladatokat modulok látják el, melyek a gép által végrehajtható műveleteket tartalmaznak. 1. ábra A program alkotóelemeinek hierarchiája A rétegek természetesen kommunikálnak egymással, hiszen például az alkalmazáslogikának a számítások elvégzéséhez az adatbázis-logikától adatokra van szüksége; a felhasználói felület a felhasználó parancsait, esetleges egyedi adatait közvetíti az alkalmazáslogika felé, illetve fogadja és megjeleníti az onnan érkező eredményeket, jelzéseket. Az egyes rétegek ehhez ún. interfészekkel rendelkeznek, amelyek biztosítják a más rétegekkel való érintkezést a rétegek azonban közvetlenül nem avatkoznak be egymás működésébe, nem állít át egyik a másikban adatértékeket, és nem aktivál a másikban olyan műveletet, amely annak belügye. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 4

. ábra Program rétegeinek együttműködése Az így felépített program előnyei többek között: A könnyű javíthatóság, mivel a módosítások csak az adott réteg keretein belül okoznak változásokat. A könnyebb továbbfejleszthetőség: az elavult felhasználói felület sokkal könnyebben cserélhető újra, mivel csak a megjelenéssel kapcsolatos kódokat tartalmazza. Ha adatbázis-típust kell váltani a program mögött, akkor ez csak az adatbázislogikai réteget érinti, és nem kell átírni az egész programot. A feldolgozási műveletek, számítási eljárások változásai könnyen átvezethetők, cserélhetők, mert csak az alkalmazáslogika egyes részeit érintik ez fontos szempont például olyan programoknál, amelyek működését pl. jogszabályok határozzák meg. Komponensek A feladat-modularizálás, a részfeladatok algoritmusainak minél általánosabb megfogalmazása lehetővé teszi a komponens szemléletű programépítést: a program bizonyos rétegeinek (jellemzően a felhasználói felület és az adatbázis-logika) kialakításánál sok, már előre legyártott vagy más programban használt, újrafelhasználható alkotóelemet komponenst alkalmazhatunk. Ez a módszer jelentős hatással van a programok elkészítésének időigényére. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 5

Az adatok Az operációs rendszer programjai, az alkalmazói programok vagyis minden program, adatokkal dolgozik. A programok működésükhöz az adatokat bekérik (vagy más módon megszerzik), az adatokon műveleteket végeznek, az eredményeket pedig vagy újra hasznosítják, vagy egyszerűen csak közlik a felhasználóval. Adatok és program Ahhoz, hogy programunk feldolgozhassa az adatokat, valamilyen módon a rendelkezésére kell azokat bocsátanunk. Ennek több módja is lehetséges: begépeljük a billentyűzeten; lemezen keresztül tesszük elérhetővé; modemen át töltjük be; szkennerrel (lapolvasó) másoljuk be stb. Bármilyen módszert is választunk, általában az adatok végül is az alábbi utat járják be: Periféria (billentyűzet, lemez, modem stb.) A program az általunk beleírt beviteli utasításokkal kezdeményezi az adatok beolvasását a memória meghatározott részére. Memória A program műveletvégző utasításai a számítógép központi egységénél kezdeményezik az előírt művelet végrehajtását és az eredmény elhelyezését a memória meghatározott részére. Számoló egység (a számítógép központi műveletvégző egysége) Az eredmények visszakerülnek a memóriába. Memória A program az eredményeket a meghatározott perifériára küldi, vagy újra felhasználja. Periféria (képernyő, nyomtató, lemez, modem stb.). A program az adatok számára helyet foglal a memóriában. A számítógép az adatokat bináris formában (kettes számrendszerben) tárolja. A 9-es szám például ebben a formában tárolódik: 00001001. A tárolás alapegysége (a legkisebb táregység) a byte (8 bináris számjegy, 8 bit). Azt, hogy egy adat számára hány byte tárhely szükséges, a programban nekünk kell előírni. Az adatok tárigénye típusuktól és/vagy méretüktől függ: a 9-es szám 1 byte helyet igényel, az 134-as szám (00000100 11010010) byte-ot, a BYTE szó (01000010 01011001 01010100 01000101) annyit, ahány betűből áll. A programokban egy adatra, pontosabban arra a tárhelyre, ahol megtalálható, a tárhely memóriacímével hivatkozunk. A memóriacím egy számkombináció, amely a tárhely memóriabeli sorszámát határozza meg. Az adatokkal, adatfeldolgozással részletesebben a következő fejezetben foglalkozunk. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 6

A szoftver mint termék Felhasználóként rendszerint a kész szoftverekkel kerülünk kapcsolatba. A szoftvert (üzemszerű) használata előtt természetesen be kell szerezni a szoftverről ekkor mint termékről beszélünk, és szoftvertermék fogalmába nemcsak a program, hanem egyéb kiegészítők is beletartoznak (dokumentációk, szerződések, licencek, esetleg betanítás stb.). Összefoglalás A számítógépes szoftver programból és a program által használt adatokból áll. A program mindig valamilyen feladatot, feladatokat old meg a feladatok általános megoldását rendszer-, modul- és algoritmustervekben rögzítjük. A megoldásokat valamilyen programozási nyelvbe átültetjük, és ezt fordítóprogram segítségével tesszük a gép számára érthetővé ez lesz a program. A program tehát a számítógép (processzor) által értelmezhető utasítások sorozata. A programok mindig adatokkal dolgoznak. Az adatok a programhoz hasonlóan a feldolgozás során a számítógép memóriájában vannak. A programok számára az adatokat különböző eszközökkel és módon tehetjük elérhetővé. Az adatokkal kapcsolatban fontos fogalmak a jelleg és az értékkészlet ezeket a jellemzőket a típus fogalmában egyesítjük. Az adatok típusának helyes megválasztása döntő jelentőségű mind a saját magunk által készített, mind a kész programok helyes, hibátlan kialakítása, illetve használata szempontjából. További ismeretek: A szoftver A számítógép működési elve (Hardver és szoftver) Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 7