Java programok bonyolultságát mérő program, Eclipse plugin (Nagyprogram dokumentáció)
|
|
- Nóra Kiss
- 5 évvel ezelőtt
- Látták:
Átírás
1 Java programok bonyolultságát mérő program, Eclipse plugin (Nagyprogram dokumentáció) Pataki Norbert, Sipos Ádám Témavezető: dr. Porkoláb Zoltán december 28.
2 Tartalomjegyzék 1. Bevezetés Eclipse Metrikák és a szoftvertechnológia Aspektus-orientált programozás Az antlr Tervminták AV-gráf 7 3. A metrika kibővítése az aspektus-orientált programozásra Aspektusok Advice-ok Pointcut deklarációk Példák Felhasználói dokumentáció Telepítés A plugin helye az Eclipse környezetben A kimenet Fejlesztői dokumentáció A plugin felépítése Paraméterek kezelése, felhasználói felület Szintaktikai elemzés AV-gráf építés Eredmények kimentése Osztályreferencia Tesztelési dokumentáció Mérési eredmények
3 7. Összefoglalás 22 2
4 1. fejezet Bevezetés Nagyprogramunk témája egy olyan Eclipse plugin kifejlesztése volt, amely Java illetve AspectJ programok bonyolultságát méri. Ehhez nézzük át az alapfogalmakat Eclipse Az Eclipse[1] egy ingyenes fejlesztői környezet, elsősorban Java fejlesztőknek, bár vannak lehetőségek C++, C# és egyéb nyelvek használatára is az IDEben. Az Eclipse-t Java-ban írták, nyílt forráskódú. Ugyanakkor lehetőséget ad arra is, hogy ún. plugin-okkal bővítsük a meglévő rendszert. A pluginok külön (Java) programok, amelyek beépíthetőek a meglévő rendszerbe, ezáltal kibővítve az IDE funkcionalitását. Maga az Eclipse is egy kis magtól eltekintve plugin-okból épül fel, és pluginokkal támogat olyan népszerű lehetőségeket, mint a refactoring, vagy az UML diagramok használata. Ez teszi népszerűvé a fejlesztőeszközt Metrikák és a szoftvertechnológia Már a korai időkben is felmerültek az alábbi kérdések a programokkal kapcsolatban: Milyen bonyolult a program? Mennyire könnyen illetve nehezen látható át a kód egy külső személy részéről? Milyen költsége lesz a tesztelésnek? 3
5 1.1. ábra. Az Eclipse IDE Mekkora költsége lesz a karbantartásnak és a továbbfejlesztésnek? Mérhető-e, hogy a programozó egy adott kódrészlet kapcsán helyesen döntött-e? A szoftvertechnológia ezekre a kérdésekre akart válaszolni, ezért különböző számítási modelleket dolgoztak ki. A különböző mérési eljárások által használt kiadott számadat a metrika. Például a legtriviálisabb mérték, a program sorainak a száma. Az idők folyamán programozási nyelvek és a paradigmák folyamatosan változtak, de az alapkérdések nem. Emiatt számos metrika alakult ki főleg az aktuális paradigmára korlátozva a számadat racionalitását Aspektus-orientált programozás A Java lett a melegágya egy új paradigma kifejlődésének. Az új paradigma az objektum-orientált paradigma felett valósult meg. Az új paradigmát 4
6 aspektus-orientált programozásnak nevezték el. Az aspektus-orientált programozás egy magasabb szintű absztrakciót vezet be az objektum-orientált programozáshoz képest. Megadja nekünk az alkalmazáslogikát keresztülvágó (crosscutting) síkok kiemelésének lehetőségét. Az AspectJ-re[2, 3] keresztelték a Java aspektus-orientált kiterjesztését. Mára számos nyelvet bővítettek ki az új paradigma használatára, pl. C++, Ruby, Python, PHP, stb.. Az új paradigma kapcsán, mindenkinek van szubjektív véleménye, hogy jobb-e, mint az objektum-orientált paradigma, sőt bizonyos feladattípusok kapcsán,,érezhetően jobb az új fajta megközelítés, ilyen például, amikor hibafelderítést kell végezni egy kódban (debug-golás), mert az eredeti kód módosítása nélkül tudjuk ezt elvégezni. Ugyanakkor nincs objektív információnk arról, hogy mikor érdemes az aspektus-orientáltságot kihasználni. Például, a [8] dolgozatban egy bonyolultabb alkalmazás kapcsán próbálta a szerző összehasonlítani a két paradigmát: a fejlesztés időtartama, a tesztelés időtartama, az ELOC metrika (Effective Lines of Code valódi kódsorok száma) illetve, informális eszközökkel: karbantarthatósági, újrafelhasználhatósági, modularitási jellemzőkkel. Az általánosan használt aspektus-orientált metrikák összefoglalása megtalálható a [9] cikkben. Ebben elég egyszerű metrikákat használnak, mint például a gyermekek száma (NOC Number of Children), ami összeszámolja az alosztályokat és az alaspektusokat, vagy egy aspektus keresztülvágásának a foka (CDA Crosscutting Degree of an Aspect), ami az egy aspektus által érintett modulok számát határozza meg. Hasonló metrikák leírása megtalálható a [10] honlapon is. Itt az adott metrikák implementációja is megtalálható Az antlr Az antlr[4] ANother Tool for Language Recognition egy parser generátor program, azaz egy nyelvtan szabályaiból elkészíti a lexikális és a szintaktikus elemzőt[5]. Sajnos, az AspectJ nyelvtana nem létezik megfelelő formátumban, ezért a Java nyelvtani szabályokat mi bővítettük ki, hogy aspektus-orientált programozást is lehessen elemezni Tervminták A tesztelés folyamán a tervmintáknak fontos szerepe volt, ezért ejtünk néhány szót ezekről is. 5
7 A tervminták (design patterns)[7] az objektum-orientált programozás e- gyik fontos eszköze. Bizonyos általános célú feladatokra nyújtanak általános érvényű megoldásokat, ezért használatuk mindennapos objektum-orientált környezetekben. Szokás osztályozni a tervmintákat, eszerint vannak létrehozási, szerkezeti, és viselkedési tervminták. A legismertebb tervminták: a singleton (egyke), az iterator, a feljegyzés, a figyelő. 6
8 2. fejezet AV-gráf Az AV-gráf mérték programok bonyolultságának mérésére alkalmas. Érdekessége, hogy mind a strukturális, mind az objektum orientált tulajdonságok alapján mér, nem pedig egy-egy kiragadott jellegzetességet használ fel. Ezt a paradigma-függetlenséget felhasználtuk arra, hogy aspektus-orientált programok bonyolultságát is meghatározhassuk. Az AV-gráf formális bevezetése megtalálható a [6] dolgozatban. Az AV-gráf bevezetését a programok adatkezelése indokolta: A Howatt és Baker-féle szám a vezérlési gráfok bonyolultságát igen jól kifejezi, azonban az adatok kezelését nem veszi figyelembe. Ellenben, az AV-gráf mindkét aspektus szerint határozza meg egy program bonyolultságát, és még ezen is túlmutató dolgokat is figyelembe vesz, mint például az adatáramlás iránya: a bonyolultság szempontjából nem mindegy, hogy írunk, olvasunk vagy írunk és módosítunk egy adatot. Az AV-gráfot a program szintaxisfájából kaphatjuk meg: az AV-gráf építésekor mindig el tudjuk dönteni, hogy utasítás csúccsal vagy adat csúccsal bővítjük a gráfot a vezérlési szerkezetnek megfelelően, a Java szemantikai értelmezése alapján az adatáramlás irányának megfelelően élet illetve éleket tudjuk a gráfba felvenni. Osztályok esetében, az osztály AV-gráfja az osztály függvényeinek AVgráfjainak az összessége. A gráfból lehet meghatározni a programok bonyolultságát, az AV-gráfot kell bejárni és összeadni a különböző részgráfokhoz tartozó bonyolultságokat. Az alábbi példa egy Java nyelven írt dátum osztály kódja és a hozzátartozó AV-gráfja: public class Date { private int year; 7
9 private int month; private int day; void set_next_month() { if (month == 12) { month = 1; ++year; } else ++month; } } void set_next_year() { if (year == -1) year = 1; else ++year; } 8
10 3. fejezet A metrika kibővítése az aspektus-orientált programozásra Mivel a [6] dolgozatban található metrika paradigma független, elsősorban ennek a bővítésével foglalkozunk. A paradigma függetlenség azt jelenti, hogy a metrika egyaránt használtható struktúrált, objektum-orientált, generikus vagy akár aspektus-orientált programokra is, esetleges bővítéssel. Vizsgáljuk meg, hogy a különböző AspectJ konstrukciók, hogyan befolyásolják a programok bonyolultságát Aspektusok Az aspektusok foglalják egységbe az advice-okat (lejjebb), vannak adatai, függvényei, tartalmazhat named pointcut-okat. Így ezek nagyon hasonlóak az osztályokhoz: vannak adatai (adattagjai) és advice-ai (ez tagfüggvény fogalmához áll közel). Így egy aspektus bonyolultsága: az adattagok, a tagfüggvények, az adviceok és a pointcutok bonyolultságának összege Advice-ok Az advice-ok fogalmazzák meg azt, hogy milyen kódot szőjjön hozzá a deklarációban szereplő függvényekhez a weaver. Az advice-ok bonyultsága az a deklaráció bonyolultságának és a törzse bonyolultságának a szorzata. 9
11 3.3. Pointcut deklarációk A pointcut deklarációk reguláris kifejezések, melyek meghatározzák, hogy az advice-ok törzsét hova kell beleszőni a programba. Lehetőség van ezeket névvel ellátni, ezesetben named pointcut-ról beszélünk Példák Az első példában egy int-et visszaadó, paraméter nélküli f függvény futását vizsgáljuk: public aspect LogAspect { before(): execution(int f()) { System.out.println("az f fuggveny elindul"); } } after(): execution(int f()) { System.out.println("az f fuggveny veget er"); } A második példa hasonló, de jóval többet bemutat a pointcut-ok lehetőségéről: a függvény neve f betűvel kell, hogy kezdődjön, tetszőleges objektumot adhat vissza, és akárhány paramétere és akármilyen típusú paramétere lehet: public aspect LogAspect { } before(): execution(* f*(..)) { System.out.println("az f* fuggveny elindul"); } A következő példában további lehetőségeket vizsgáljuk: itt a nem privát, int-et vagy void-ot visszaadó, olyan foo nevű függvény meghívását elemezzük, aminek akárhány paramétere lehet, és vagy Base osztálynak vagy abból származó osztálynak a tagfüggvénye: 10
12 public aspect LogAspect { } before(): call(!private (int void) Base+.foo(..)) { System.out.println("a foo fuggvenyt meghivtak"); } 11
13 4. fejezet Felhasználói dokumentáció 4.1. Telepítés Az Eclipse futtattásához szükség van, Java Virtuális gépre. Ez ma a legtöbb gépen megtalálható. 1. A CD-ről másoljuk át az eclipse könyvtárat a merevlemezre. Ebben a verzióban már benne van a plugin, ezért mást nem kell telepíteni. Az eclipse könyvtárban lévő weights.cfg file ne legyen írásvédett, ha módosítani kell a súlyokat. 2. Ha a környezet indítása után mégsem látszódna a plugin, akkor eclipse -clean paraméterrel futassuk az eclipse-t A plugin helye az Eclipse környezetben Sikeres telepítés után, a menürendszer kibővül egy új menüponttal: Metrika néven. A menünek két pontja van: Súlyok beállítása Mérés A Súlyok beállítása menüpontban a különböző nyelvi konstrukciók bonyolultságát tudjuk állítani, és elmenteni: A Mérés menüpontot kiválasztva, eldönthetjük, hogy egy file vagy könyvtár bonyolultságát kívánjuk-e mérni: Ezután kiválaszthatjuk a megfelelő inputot, majd a következő ablakon ellenőrizhető, hogy tényleg azt szeretnénk-e mérni, illetve beállítható, hogy az AV-gráfot is el szeretnénk-e menteni a dot file-ba. Ezután a mérés gombra 12
14 kattintva kiválasztható, hogy az eredmények milyen könyvtárba kerüljenek. A kiválasztás végeztével, a számítási folyamat elindul, és amikor véget ér, ezt jelezi A kimenet A program az eredményeket file-ba írja a megadott helyre: HTML és CSV típusú file-okba, illetve lehetőség van a függvények AV-gráfjának elmentésére is. A HTML kimenetet internet böngésző programokkal (pl. Internet Explorer, Mozilla Firefox, Opera, stb.) lehet megtekinteni, a CSV file-okat pedig 13
15 Microsoft Excel-lel. Az AV gráfokat, dot file-ba menti, aminek konvertálásához mellékelünk ingyenes programot. Ez képes jpg, ps, stb. formátumba konvertálni a gráfokat. 14
16 5. fejezet Fejlesztői dokumentáció A program két részből áll: az Eclipse pluginból az elemző programból 5.1. A plugin felépítése A plugin felépítése: A plugin, mint egyke osztály A pluginhoz kapcsolódó menüpontok, ablakok és kezelő osztályok Az elemző program felépítése: A program a következő fő részekre bomlik: Paraméterek kezelése, felhasználói felület Szintaktikai elemzés AV-gráf építés Eredmények kimentése 5.2. Paraméterek kezelése, felhasználói felület Amikor az Eclipse-hez plugint írunk, szigorú szabályokat kell betartani, hogy a plugint az Eclipse különböző verziói is használni tudják. Sajnos, maga az Eclipse API-ja is rendszeresen változik. 15
17 Mivel ezek a részek emiatt nagymértékben használják az Eclipse API-t, az öröklődési hierarchiák ismertetésétől eltekintünk. Maga a plugin egy egyke objektum, a menüpontok, az ablakok pedig szintén objektumok. Az események lekezelését (például gombnyomás) anonim osztályok temporális objektumai végzik Szintaktikai elemzés Az elemzést az ANTLR csomag végzi, mely egy olyan Java nyelvtanból készít elemzot, melyet a töltöttünk le. A nyelvtant ezután módosítottuk, hogy aspektus-orientált programokat is elfogadjon, majd implementáltuk a szintaxisfa-építést. Az ANTLR egy AST típusú csúcsokból álló fát hoz létre, melyből az elemzés során szerzett információkat lehet kinyerni függvényhívások segítségével. A program feltételezi, hogy az elemzett program szintaktikusan és szemantikusan is helyes (ellenkező esetben nincs értelme bonyolultságról beszélni) AV-gráf építés A felépített szintaxisfán gráfkereséseket hajtunk végre. A program először részeire bontja az elemzett file-t: először osztályokra, majd azokat függvényekre szedi szét. Minden ily módon megtalált függvényhez készít egy AVgráfot, majd ezek súlyait összeadva képzi az osztály súlyát. Az AV-gráf a Node.java fileban implementált Node-okat, és annak leszármazottait tartalmazza. Minden utasításhoz létrehozunk egy InstructionNode-ot, majd erre egy irányított élt állítunk, és végére egy DataNode-ot kötünk 1. Az összes utasítás (értékadás, függvényhívás stb.) ilyen DataNode-ba kerül, majd erre egy másik típusú élt kötünk mely a paraméterek irányából mutat az utasításra. A paraméterek felől az utasításokba mutató élek nemcsak struktúrális tartalmazást jelenthetnek, hanem adatáramlást is. A bonyolultságba ez az írás-olvasás is beszámít. A program ezután bejárja a gráfot a struktúrális és adatfolyam élek mentén. A DataNode-ok és az élek bonyolultságát adja össze a program. 1 Több kitüntetett szerepű Instruction Node létezik, ilyen pl a PARAMETERS, mely a bejövő paramétereket köti, a RETURN, mely a függvény végét jelenti stb 16
18 5.5. Eredmények kimentése Az elemzett osztályok bonyolultságát a ComplexityData osztály példányai tárolják, ezeket csv illetve HTML file-okba tudja menteni. Az AV-gráfok a program paraméterezése szerint elmenthetők egy kimeneti dot file-ba. A struktúrális élek itt fekete éllel, az adatfolyam élek kékkel jelöltek. A Data- Node-ok háromszög alakúak, az InstructionNode-ok ellipszisek Osztályreferencia ComplexityData: egy függvény vagy osztály bonyolultságát tárolja DataNode: egy utasítás részműveleteit, azok paramétereit reprezentálja Edge: két Node közötti élt reprezentálja, lehet struktúrális (0 súlyú) illetve adatfolyam (1-2 súlyú) FileOrDirWidget: ez az osztály valósítja meg és kezeli azt az ablakot, ahol kiválasztjuk az input adat típusát, és magát az inputot 17
19 FlowGraph: az AV-gráf megvalósítása, képes megmérni a saját bonyolultságát FlowGraphBuilder: az ANTLR által elkészített szintaxisfában megtalált függvény definíciójából AV-gráfot készít InstructionNode: ezek az AV-gráf,,gerince, egy-egy utasítást jelentenek, ők,,tartják a gráfban a DataNode-okat JavaAST: az ANTLR AST osztályából származó osztály, mely a szintaxisfa egy csúcsát reprezentálja JavaLexer: lexikális elemző, az ANTLR készíti a nyelvtan alapján JavaMetric: ez az osztály kezdi el a szintaxisfa elemzését, megtalálja a különféle szerkezeti egységeket (osztály, interface stb) JavaRecognizer: szintaktikai elemző, az ANTLR készíti JavaTokenTypes: a tokeneket tároló file, az ANTLR készíti Main: főprogram MeasureOptions: a program paramétereit, beállításait tárolja MetrikaAction: a,,mérés menüpontot kezelő osztály MetrikaPluginPlugin: a plugint tároló egyke osztály MetrikaWeights: a,,súlyok beállítása menüpontot kezelő osztály MyJFace: a mérés elindítására szolgáló ablakot megvalósító és kezelő osztály Node: a Node típusok ősosztálya StartNode: egy függvény belépési pontját reprezentáló csúcs Statistics: az elemzett osztályok bonyolultságát tárolja TerminatingNode: egy függvény végét reprezentáló csúcs WeightsFace: a súlyok beállításakor látható ablakot megvalósító és kezelő osztály 18
20 6. fejezet Tesztelési dokumentáció A plugint csak Windows operációs rendszer alatt teszteltük. Bár a Java és az Eclipse is platformfüggetlen, mégis a plugin-nak előre meg kellett adni a futtattási paramétereket (pl. operációs rendszer illetve ablakozó felület). Emiatt a platform függetlenség kicsit sérül, bár szükség esetén viszonylag gyorsan át lehet állítani a plugin beállításait. A tesztelés elég komoly probléma egy ilyen szoftver kapcsán. Problémát jelent, hogy ha egy adott ponton rosszul számol a program, akkor a végeredmény nagyon eltorzulhat. Mivel hosszabb programoknak kézzel elég nehéz meghatározni a bonyolultságát, ezért arra törekedtünk, hogy a nyelvi eszközök minél szélesebb skáláját alkalmazva sok (kb ) rövid programnak határoztuk meg kézzel a bonyolultságát, és meggyőzödtünk arról, hogy a program is ezt adja eredményként. Az alábbi táblázat összefoglalja a legfontosabb teszteseteket, az,,építőkockákat, valamint az ezen kifejezésekre a program által kiszámított, majd általunk leellenőrzött bonyolultságot. Kifejezés Adatok nélkül Beágyazás nélkül Bonyolultság ++i; if (true) ++i; x=y; if (true) x=y; a=b+c; if (true) a=b+c; b+=c; if (true) b+=c; Ezen tesztesetek sikeres ellenőrzése után a programot a Tervminták javas és AOP-s megvalósításán is teszteltük, majd a kimenetként kapott AVgráfokat ellenőriztük. 19
21 6.1. Mérési eredmények A fenti kisebb programok után a [11] oldalon található tervminták Javas, majd AspectJava-s implementációján is teszteltük a programot. E megvalósítások egyenként is több osztályból, azok pedig több függvényből állnak, így egy-egy tervminta bonyolultsága ezen értékek összege. A tesztelés sikeres volt, a program ezekben az esetekben jól működött, és a mérés sikeres volt. Ezen eredményeket foglaltuk össze az alábbi táblázatban. Design Pattern neve Megvalósítás Adatok Beágyazás Bonyolultság nélkül nélkül adapter java AOP bridge java AOP builder java AOP decorator java AOP factorymethod java AOP flyweight java AOP interpreter java AOP memento java AOP observer java AOP prototype java AOP state java AOP strategy java AOP templatemethod java AOP visitor java AOP
22 Összesen 23 tervminta található meg a honlapon, ebből a programunk a fenti 14-et tudja hibátlanul parse-olni és mérni. A program további javítása, valamint az eredmények elemzése (vagyis, hogy mely esetekben érdemes aspektus-orientált paradigmát alkalmazni, és mikor nem 1 ) további kutatómunkát igényel, és terveink között szerepel. 1 Más szóval: mi az oka, hogy pl a observer vagy state minták esetében sokkal egyszerubb a kód AOP környezetben mint natív java-ban, és miért fordított a helyzet pl a strategy mintánál 21
23 7. fejezet Összefoglalás Nagyprogramunk eredményei: Kidolgoztuk az AV metrika aspektus-orientált programok feletti kibővítését Megvalósítottuk az ezt mérő programot Elkészítettük az Eclipse-plugin-t A programot sikeresen teszteltük Ennek kapcsán sok mindennel megismerkedtünk: Aspektus-orientált programozással Szoftver metrikákkal Eclipse-szel antlr-rel Összetett kérdésekkel foglalkoztunk: Aspektus-orientált programozás hatékonyabb-e, mint az objektum-orientált? Mi alapján lehet ezt objektíven eldönteni? Mely metrikák függetlenek az aktuális paradigmáktól? Milyen feladatokon érdemes a tesztet elvégezni? 22
24 További fejlesztési lehetőségek vannak az AspectJ nyelvtanának bizonyos ritkábban használt elemeinek implementálásában, és a mérési eredmények elemzése során szerzett tapasztalatok alapján a metrika további finomhangolását is el lehet végezni. Fontos teendőnk még az eredmények mélyebbre ható vizsgálata. Még további lehetőség, hogy a Java új nyelvi eszközét, a generic-et[12, 13] is belevesszük a nyelvtanba illetve a mérésekbe, ezáltal a metrikát kibővítve a generikus paradigmára is. 23
25 Irodalomjegyzék [1] Eclipse Home, [2] The AspectJ project, [3] Palo Alto Research Center, [4] ANTLR Parser Generator, [5] Csörnyei Zoltán: Bevezetés a fordítóprogramok elméletébe I-II., ELTE Kiadó, [6] Porkoláb Zoltán: Programok Struktúrális Bonyolultságának Mérőszámai, 2003 [7] Sike Sándor: Programozási Technológia II, elektronikus jegyzet, [8] Magnus Mickelsson: Aspect-Oriented Programming Compared To Object-Oriented Programming When implementing A Distributed, Web-based Application, 2004, [9] Mariano Ceccato, Paolo Tonella: Measuring the Effects of Software Aspectization, 2004, [10] aopmetrics: AOP Metrics, 2005, [11] Aspect-Oriented Design Pattern Implementations, [12] Java Generics, 24
26 [13] A Gentle Introduction to Generics in Java, 25
Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás Programozási nyelv felépítése szabályok megadása Lexika Milyen egységek építik fel? Szintaktikus szabályok
RészletesebbenAspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet
Aspektus-orientált nyelvek XML reprezentációja Kincses Róbert Debreceni Egyetem, Informatikai Intézet kincsesr@inf.unideb.hu Bevezetés OOP: helyesen alkalmazva jó minőségű szoftvert lehet vele előállítani
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenSzoftver metrika Eclipse-plugin KÉSZÍTETTE: BARTA JÁNOS (SS4TCD)
Szoftver metrika Eclipse-plugin KÉSZÍTETTE: BARTA JÁNOS (SS4TCD) Témák áttekintése A szoftver metrika bemutatása Eclipse és plugin kapcsolat Jelentősebb Eclipse-pluginek ismertetése Eclipse Metrics Plugin
RészletesebbenProgramozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenA szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
RészletesebbenNév: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
RészletesebbenJava I. A Java programozási nyelv
Java I. A Java programozási nyelv története,, alapvető jellemzői Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 02. 12. Java I.: Történet, jellemzők, JDK JAVA1 / 1 Egy kis történelem
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenSTL gyakorlat C++ Izsó Tamás május 9. Izsó Tamás STL gyakorlat/ 1
STL gyakorlat C++ Izsó Tamás 2016. május 9. Izsó Tamás STL gyakorlat/ 1 Komponensek kapcsolata Deklarálja az alábbi osztálydiagramon szereplő osztályok közül az A, AA és AB osztályokat! A konstruktorokat
RészletesebbenObjektum Vezérelt Szoftverek Analízise
Objektum Vezérelt Szoftverek Analízise Ferenc Rudolf és Beszédes Árpád ferenc@inf.u-szeged.hu beszedes@inf.u-szeged.hu Szegedi Tudományegyetem FrontEndART Szoftver Kft. Bevezetés A szoftver rendszerek
RészletesebbenFlex: csak rugalmasan!
Flex: csak rugalmasan! Kiss-Tóth Marcell http://kiss-toth.hu marcell@kiss-toth.hu Magyarországi Web Konferencia 2006 2006. március 18. tartalom bevezető Adobe Flex alternatív technológiák bevezető az Internetnek
RészletesebbenProgramozás II gyakorlat. 7. Példák a polimorfizmus alkalmazásaira
Programozás II gyakorlat 7. Példák a polimorfizmus alkalmazásaira Probléma class A { public: ~A() { cout
RészletesebbenIman 3.0 szoftverdokumentáció
Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3
RészletesebbenKözösség, projektek, IDE
Eclipse Közösség, projektek, IDE Eclipse egy nyílt forráskódú (open source) projekteken dolgozó közösség, céljuk egy kiterjeszthető fejlesztői platform és keretrendszer fejlesztése, amely megoldásokkal
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenInternet programozása. 1. előadás
Internet programozása 1. előadás Áttekintés 1. Mi a PHP? 2. A PHP fejlődése 3. A PHP 4 újdonságai 4. Miért pont PHP? 5. A programfejlesztés eszközei 1. Mi a PHP? Egy makrókészlet volt, amely személyes
RészletesebbenOrszágos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.
Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010. május 1. BEVEZETÉS Az útmutató célja az Országos Területrendezési
RészletesebbenOO rendszerek jellemzői
OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenS0-02 Típusmodellek (Programozás elmélet)
S0-02 Típusmodellek (Programozás elmélet) Tartalom 1. Absztrakt adattípus 2. Adattípus specifikációja 3. Adattípus osztály 4. Paraméterátadás 5. Reprezentációs függvény 6. Öröklődés és polimorfizmus 7.
RészletesebbenSSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ
SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ GIRODIRECT SZOLGÁLTATÁST IGÉNYBEVEVŐ ÜGYFELEKENEK Verzió: v1.04 Dátum: 2018. január 5. Készítette: A jelen dokumentum tartalma szerzői jogi védelem alatt áll, a mű
RészletesebbenProgramozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai A magas szintÿ programozási nyelv fogalma
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenFicsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 04. 17. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
RészletesebbenKözoktatási Statisztika Tájékoztató 2012/2013. Használati útmutató
Közoktatási Statisztika Tájékoztató 2012/2013 Tartalomjegyzék 1. Technikai információk... 2 2. Publikus felület... 2 2.1 Bejelentkezés... 2 2.2 Összesítés... 3 2.2.1 Statisztikai tábla megtekintése...
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
RészletesebbenJava programozási nyelv 6. rész Java a gyakorlatban
Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék
RészletesebbenSzoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom
Szoftver újrafelhasználás (Software reuse) Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 18. Roger S. Pressman: Software Engineering, 5th e. chapter 27. 2 Szoftver újrafelhasználás Szoftver
RészletesebbenGENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok
GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben
RészletesebbenSZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS. A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC
SZÁMÍTÓGÉPES ADATBÁZIS-KEZELÉS A MySQL adatbáziskezelő PHP folytatás JDBC, ODBC ADATBÁZISOK Adatbázis = adott formátum és rendszer szerint tárolt adatok összessége. DBMS feladatai: adatstruktúra (adatbázisséma)
RészletesebbenSzoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs
Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus
RészletesebbenSzoftver-mérés. Szoftver metrikák. Szoftver mérés
Szoftver-mérés Szoftver metrikák Szoftver mérés Szoftver jellemz! megadása numerikus értékkel Technikák, termékek, folyamatok objektív összehasonlítása Mér! szoftverek, programok CASE eszközök Kevés szabványos
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenIdőkönyvelő Projektfeladat specifikáció
Időkönyvelő Projektfeladat specifikáció 1 Tartalomjegyzék 1 Tartalomjegyzék... 2 2 Bevezetés... 3 2.1 A feladat címe... 3 2.2 A feladat rövid ismertetése... 3 3 Elvárások a feladattal kapcsolatban... 4
RészletesebbenObjektum orientált programozás Bevezetés
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenA NetBeans IDE Ubuntu Linux operációs rendszeren
A NetBeans IDE Ubuntu Linux operációs rendszeren Készítette: Török Viktor (Kapitány) E-mail: kapitany@lidercfeny.hu 1/10 A NetBeans IDE Linux operációs rendszeren Bevezető A NetBeans IDE egy Java-ban írt,
RészletesebbenSzoftver újrafelhasználás
Szoftver újrafelhasználás Szoftver újrafelhasználás Szoftver fejlesztésekor korábbi fejlesztésekkor létrehozott kód felhasználása architektúra felhasználása tudás felhasználása Nem azonos a portolással
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenEgy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK
RészletesebbenAbsztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenElektronikusan hitelesített PDF dokumentumok ellenőrzése
Elektronikusan hitelesített PDF dokumentumok ellenőrzése Adobe Reader beállítása és használata a hitelesített PDF dokumentumok ellenőrzéséhez A dokumentáció szabadon tovább terjeszthető, a legfrissebb
RészletesebbenOOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
RészletesebbenAbstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
RészletesebbenJava-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
RészletesebbenStunnel leírás. Az stunnel programot a következő módon telepíthetjük Windows környezetben:
Stunnel leírás A Stunnel használatához Caesar azonosító szükséges. Az azonosító elkészíthető a https://ugykezelo.elte.hu oldalon. (Így a Stunnelt az ELTE dolgozói és hallgatói is egyaránt tudják használni.)
RészletesebbenImage Processor BarCode Service. Felhasználói és üzemeltetői kézikönyv
Image Processor BarCode Service Áttekintés CIP-BarCode alkalmazás a Canon Image Processor programcsomag egyik tagja. A program feladata, hogy sokoldalú eszközt biztosítson képállományok dokumentumkezelési
RészletesebbenÁNYK53. Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése
ÁNYK53 Az Általános nyomtatványkitöltő (ÁNYK), a személyi jövedelemadó (SZJA) bevallás és kitöltési útmutató együttes telepítése Az ÁNYK53 egy keretprogram, ami a személyi jövedelemadó bevallás (SZJA,
RészletesebbenBevezetés a Programozásba II 1. előadás. Szoftverfejlesztés, programozási paradigmák
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 1. előadás, programozási paradigmák 2014.02.10. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenTanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren
Tanúsítványkérelem készítése, tanúsítvány telepítése Microsoft Internet Information szerveren Tartalomjegyzék 1. BEVEZETÉS...3 2. A MICROSOFT IIS INDÍTÁSA...3 3. TITKOS KULCS GENERÁLÁSA...3 4. TANÚSÍTVÁNYKÉRELEM
RészletesebbenSegédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat
Formális nyelvek a gyakorlatban Formális nyelvek, 1 gyakorlat Segédanyagok Célja: A programozási nyelvek szintaxisának leírására használatos eszközök, módszerek bemutatása Fogalmak: BNF, szabály, levezethető,
RészletesebbenObjektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
RészletesebbenObjektum orientált kiterjesztés A+ programozási nyelvhez
Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:
RészletesebbenFelhasználói kézikönyv. Verzió: 1.01
Felhasználói kézikönyv Verzió: 1.01 Tartalomjegyzék Általános áttekintés 3 A DocGP rendszer célja 3 A rendszer által biztosított szolgáltatások 3 A felhasználói felület elérése 3 JAVA JRE telepítése 3
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
RészletesebbenWebes alkalmazások fejlesztése
Webes alkalmazások fejlesztése 3. gyakorlat Authentikáció, adatok feltöltése Szabó Tamás (sztrabi@inf.elte.hu) - sztrabi.web.elte.hu Authentikáció Manapság már elvárás, hogy a felhasználó regisztrálni
RészletesebbenBevezetés a programozásba előadás: Alapvető programtervezési elvek
Bevezetés a programozásba 2 12. előadás: Alapvető programtervezési elvek Miről lesz szó A félév célja a nagyobb programrendszerek felépítésében való részvétel képességét megszerezni Mindenki a saját widgetkészletének
RészletesebbenK&H token tanúsítvány megújítás
K&H token tanúsítvány megújítás felhasználói kézikönyv 2014.10.15. verzió: 1.2 1 Tartalomjegyzék 1 Bevezetés... 3 2 Technikai feltételek... 3 3 A tanúsítványok megújításának folyamata Firefox... 6 4 A
RészletesebbenLogon megrendelő felület
Szilárd, megbízható alapokon. Logon megrendelő felület Felhasználói kézikönyv Holcim Magyarország Kft. Cement Logisztika 2014 Holcim Country Company Name 1 Tartalomjegyzék Bevezetés 3 1. Bejelentkezés
RészletesebbenEseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
RészletesebbenKomponensek együttműködése web-alkalmazás környezetben. Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT richard.jonas@tsoft.
Komponensek együttműködése web-alkalmazás környezetben Jónás Richárd Debreceni Egyetem T-Soft Mérnökiroda KFT Komponensek a gyakorlatban A szoftverkomponenseket fejlesztő csoportoknak szüksége van olyan
RészletesebbenSzéchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
RészletesebbenSzoftverminőségbiztosítás
NGB_IN003_1 SZE 2014-15/2 (10) Szoftverminőségbiztosítás Struktúra alapú (white-box) technikák A struktúrális tesztelés Implementációs részletek figyelembevétele Tesztelési célok -> lefedettség Implicit
RészletesebbenAlprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
RészletesebbenBisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.
Bisonc++ tutorial Dévai Gergely A Bisonc++ egy szintaktikuselemz -generátor: egy környezetfüggetlen nyelvtanból egy C++ programot generál, ami egy tokensorozat szintaktikai helyességét képes ellen rizni.
RészletesebbenZimbra levelező rendszer
Zimbra levelező rendszer Budapest, 2011. január 11. Tartalomjegyzék Tartalomjegyzék... 2 Dokumentum információ... 3 Változások... 3 Bevezetés... 4 Funkciók... 5 Email... 5 Társalgás, nézetek, és keresés...
RészletesebbenPDF. Tartalomjegyzék 1/21
PDF Napjainkban a publikálás elterjedt formája a PDF dokumentumok előállítása. A weben ez szinte szabvánnyá vált hosszú dokumentumok esetén. Akkor is nagyon hasznos lehet, ha a gondosan megformázott word
RészletesebbenAz alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában.
Tisztelt Ügyfelünk! Az alábbiakban szeretnénk segítséget nyújtani Önnek a CIB Internet Bankból történő nyomtatáshoz szükséges böngésző beállítások végrehajtásában. A CIB Internet Bankból történő nyomtatás
RészletesebbenInczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport
TANMENET Informatika szakmacsoport Programozási gyakorlatok III. tantárgy 12. évfolyam A osztály 2013/2014 tanév Heti óraszám: Éves óraszám: 3 óra 96 óra Készítette: Szikszai Gusztáv tanár Ellenőrizte:.
RészletesebbenAz Outlook levelező program beállítása tanúsítványok használatához
Az Outlook levelező program beállítása tanúsítványok használatához Windows tanúsítványtárban és kriptográfia eszközökön található tanúsítványok esetén 1(10) Tartalomjegyzék 1. Bevezető... 3 2. Az Outlook
RészletesebbenFelhasználó által definiált adattípus
Felhasználó által definiált adattípus C++ Izsó Tamás 2017. február 24. Izsó Tamás Felhasználó által definiált adattípus/ 1 Irodalom Izsó Tamás Felhasználó által definiált adattípus/ 2 Programtervezési
RészletesebbenUnit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
RészletesebbenVáltozók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):
Javascript Változók Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai): Név Érték Típus Memóriacím A változó értéke (esetleg más attribútuma is) a program futása
RészletesebbenÚtmutató az OKM 2007 FIT-jelentés telepítéséhez
Útmutató az OKM 2007 FIT-jelentés telepítéséhez 1. OKM 2007 FIT-JELENTÉS ASZTALI HÁTTÉRALKALMAZÁS telepítése 2. Adobe Acrobat Reader telepítése 3. Adobe SVG Viewer plugin telepítése Internet Explorerhez
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenOOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.
OOP #1 (Bevezetés) v1.0 2003.03.07. 18:39:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_01-1 - E jegyzet másolata
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
RészletesebbenTanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre
Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre Windows XP, Vista és Windows 7 operációs rendszeren 1(6) 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Bevezető... 3 3. AuthentIC Manager
RészletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
RészletesebbenObjektum orientáltság alapjai A Java nyelv Fordítás - futtatás
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással
RészletesebbenAz MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI
Az MTA Cloud a tudományos alkalmazások támogatására Kacsuk Péter MTA SZTAKI Kacsuk.Peter@sztaki.mta.hu Tudományos alkalmazások és skálázhatóság Kétféle skálázhatóság: o Vertikális: dinamikusan változik
RészletesebbenIroda++ 2010 DEMO telepítési útmutató
Az Iroda++ 2010 DEMO csomag telepítésének lépései Az alábbi pontok szerint telepítheti számítógépére a revolution Iroda++ 2010 program DEMO változatát. Fontos, hogy az Iroda++ rendszere SQL szerveres adatmotort
RészletesebbenSegédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger)
Segédlet kriptográfiai szolgáltatást beállító szoftverhez (CSPChanger) szoftveres, PKCS#12 formátumú tanúsítvány átalakításához 1(8) 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Bevezető... 3 3. CSPChanger
RészletesebbenElőzmények 2011.10.23.
Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.
RészletesebbenFelhasználói leírás: STAHL Ex-Tool v1.0 rev101-2 -
Felhasználói leírás: STAHL Ex-Tool v1.0 rev101-1 - Kezelési útmutató Tartalomjegyzék: Kezelési útmutató... 1 Tartalomjegyzék:... 1 Szoftver feladata:... 2 Szoftver telepítése:... 2 Els használat:... 3
RészletesebbenÍrta: GYIMÓTHY TIBOR HAVASI FERENC KISS ÁKOS FORDÍTÓPROGRAMOK. Egyetemi tananyag
Írta: GYIMÓTHY TIBOR HAVASI FERENC KISS ÁKOS FORDÍTÓPROGRAMOK Egyetemi tananyag 2011 COPYRIGHT: 2011 2016, Dr. Gyimóthy Tibor, Havasi Ferenc, Dr. Kiss Ákos, Szegedi Tudományegyetem Természettudományi és
RészletesebbenTanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre. Windows 7, Windows 8, Windows 8.1 és Windows 10-es operációs rendszeren 1(9)
Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre Windows 7, Windows 8, Windows 8.1 és Windows 10-es operációs rendszeren 1(9) Tartalomjegyzék 1. Bevezető... 3 2. AuthentIC Manager szoftver
RészletesebbenTanúsítvány feltöltése Gemalto.NET kártyára és Gemalto SIM termékre
Tanúsítvány feltöltése Gemalto.NET kártyára és Gemalto SIM termékre Windows XP, Vista és Windows 7 operációs rendszeren 1(6) 1. Tartalomjegyzék 1. Tartalomjegyzék... 2 2. Bevezető... 3 3. MiniDriver Manager
RészletesebbenProgramzás I. - 1. gyakorlat
Programzás I. - 1. gyakorlat Alapok Tar Péter 1 Pannon Egyetem Műszaki Informatikai Kar Számítástudomány Alkalmazása Tanszék Utolsó frissítés: September 15, 2007 1 tar@dcs.vein.hu Tar Péter (PE-MIK-DCS)
RészletesebbenGlobális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
Részletesebben