Domain- specifikus modellezés az Eclipse Modeling Framework használatával
|
|
- Gyöngyi Pappné
- 9 évvel ezelőtt
- Látták:
Átírás
1 Domain- specifikus modellezés az Eclipse Modeling Framework használatával Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
2 Domain- specifikus nyelvek: miért? A mai szobverfejlesztés kihívásai o Komplexitás Növekvő fejlesztési idő és költség o Sokféleség Domain, követelmény, implementációs technika, eszköz o Változás Környezet, követelmények, hibajavítások
3 Domain- specifikus nyelvek Cél: a szakterüles fogalmakkal fejezzük ki magunkat o Absztrakciós szint növelése o Szakértő (nem fejlesztő) is értse a modellt! Domain- specifikus nyelv (Domain Specific Language) o Pl. HTML, SQL, reguláris kifejezések Lehetne általános célú nyelv (General Purpose Language) o Pl. Java, C stb. o De túl implementációspecifikus o Szakértő nem tudja hatékonyan használni
4 Domain- specifikus nyelvek: mikor? Előnyök o Specifikus problémák gyorsabb megoldása o Követelmények kifejezése a problématér szintjén o AutomaSkus validáció Hátrányok o Jártasság szükséges a szakterületben (költség) o Nyelvtan megalkotása szubjek`v, bonyolult o Eszköztámogatás fejlesztése költséges lehet (a behatárolt alkalmazhatósághoz képest) o InkompaSbilis DSL- ek elterjedhetnek ugyanarra a területre Szabványosítás
5 Nyelv: o Modellek leírása o Emberek számára Nyelv- alapú fejlesztés o Cél: problématerület ábekintése Biztosítandó o Fubatás o Analízis o Tesztelés o Implementáció o
6 Nyelvek együbes kezelése Feladat: több nyelv együbes kezelése o Transzformáció o Aspektus integráció o Szinkronizáció o Finomítás és ekvivalencia vizsgálata o Evolúció Hasonlóan az aspektus- orientált programozáshoz o Több szempont o Azonos rendszer
7 Az UML lehetőségei és korlátai Előnyök: o Standard közös nyelv o Vizuális Hátrányok: o Nem formális szemanska Nincs egy közös, általánosan használható szemanska o Korlátozob hatókör UML Profilok o Nem domain- specifikus o Unified (NOT Universal) Modeling Language
8 Metamodellezés Modellező nyelvek tervezése
9 Modellező nyelvek tervezése Metamodellezés: Tervezési metodológia modellező nyelvekhez Metamodell: egy modellező nyelv modellje Részei: o Konkrét szintaxis o Absztrakt szintaxis o Jólformáltsági szabályok További lehetőségek: o SzemanSka o Leképezések más nyelvekre
10 Konkrét szintaxis A modellek (vagy programok) megjelenése o Szöveges jelölés: + Könnyen írható: Komplex kifejezések megadása gyorsan - Nehéz olvasni: Ábekinthetőség, kapcsolatok megjelenítésének hiánya - Nehéz karbantartani: Névvel történő hivatkozások o Vizuális jelölés: + Könnyen olvasható: Intui`v, könnyen érthető jelölésrendszer + Biztonságosan írható: Csak szintakskailag helyes modellek készíthetőek - Nehéz írni: A grafikus szerkesztés lassabb
11 Példa: konkrét szintaxis Grafikus jelölés Szöveges jelölés request [load<10] Idle CalculaSng response void request() { if(state == IDLE && this.load < 10) state = CALCULATING; } void response() { if (state == CALCULATING) state = } IDLE;
12 Absztrakt szintaxis (metamodell) Metamodell: a modellező nyelv modellje Cél: definiálni... o a nyelv által tartalmazob koncepciókat o és az ezek közöo lehetséges kapcsolatokat Tartalma: o Alapelemek definíciója o Kapcsolatok az elemek közöb o Absztrakció/finomítás (Taxonómia, Ontológia) az elemek közöb o Kényszerek (pl. számosság) o (Egyéb jólformáltsággal kapcsolatos szabályok)
13 Metamodellek és példányok Automaton Metamodell szint AccState initial states transitions State from Transition color:{r,g,b} to Metamodell Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
14 Metamodellek és példányok Automaton AccState initial states transitions State from Transition color:{r,g,b} to Osztály Metamodell szint Metamodell Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
15 Metamodellek és példányok Automaton Metamodell szint AccState initial states transitions State from Transition color:{r,g,b} to Metamodell Osztály Abribútum Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
16 Metamodellek és példányok Automaton Asszociáció Metamodell szint AccState initial states transitions State from Transition color:{r,g,b} to Metamodell Osztály Abribútum Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
17 Metamodellek és példányok Öröklődés Metamodell szint AccState Automaton initial states transitions State from Transition color:{r,g,b} to Asszociáció Osztály Metamodell Abribútum Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
18 Metamodellek és példányok Automaton Metamodell szint AccState initial states transitions State from Transition color:{r,g,b} to Metamodell Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
19 Metamodellek és példányok Automaton Metamodell szint AccState initial State states color:{r,g,b} Objektum Metamodell from to transitions Transition Modell szint t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
20 Metamodellek és példányok Automaton Metamodell szint AccState initial State states color:{r,g,b} Objektum Metamodell from to transitions Transition Modell szint Kapcsolat t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Absztrakt szintaxis Konkrét szintaxis
21 Példányosítás Automaton initial states transitions AccState State from Transition color:{r,g,b} to instance t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr
22 Példányosítás AccState instance Automaton initial states transitions State from Transition color:{r,g,b} to Kapcsolat modellszint és metamodell szint közöb t3 fr to ini st st s1 a1 s3 tr st tr fr to t1 s2 t2 to fr
23 Létező metamodellek Különböző alkalmazási domainek az UML körül o SysML (rendszerfejlesztés) o SPEM (folyamat modellezés) o CWM (adabárházak) o GRM (általános erőforrás metamodell) o EDOC (nagyvállalas elosztob rendszerek)
24 Jólformáltsági szabályok Számossági kényszerek o Legfeljebb egy: 0..1 o Sok: * Aggregáció/Tartalmazás o Minden modellelemnek legfeljebb egy szülő Nyelvspecifikus kényszerek o Pl. egyedi nevek o Pl. OCL- ben (Object Constraint Language) kifejezhető
25 Dinamikus szemanska SzemanSka: a nyelv fogalmainak jelentése Fő megközelítések: o Denotációs: egyik nyelv fogalmainak lefordítása a másik nyelvre fordítob o Operációs: a nyelvi fogalmak viselkedésének modellezése interpretált
26 Eclipse Modeling Framework (EMF) Metamodellezés Eclipse alab
27 Eclipse Modeling Framework Modellezési komponens Eclipse alá Lehetőség domain- specifikus nyelvek definiálására Szerkesztés o Alapvető parancsok o Értesítés változásokról o Visszavonás o Alapvető editor komponens XML/XMI export- import támogatás Saját metamodellező mag
28 Az EMF eszközkészlet
29 Az EMF eszközkészlet Plaxorm független modell Metamodell megadása
30 Az EMF eszközkészlet Plaxorm specifikus modell ECore model - > plaxorm leképezés
31 Az EMF eszközkészlet Kód sablonok a generátorhoz
32 Az EMF eszközkészlet Kódgenerálás
33 Az EMF eszközkészlet Modell perzisztencia Java osztályok
34 Az EMF eszközkészlet Modell manipuláció ÜzleS logika Elemek létrehozása, törlése
35 Az EMF eszközkészlet Modell editor Fastrukturájú megjelenítés
36 ECore Az EMF metamodellező nyelve o Meta- nyelv: metamodellező nyelv A metamodellek plaxormfüggetlenek o További nyelv(ek) az implementáció- közeli modellezésre Strukturális modellek definíciójára szolgál
37 Ecore A legfontosabb elemek
38 Ecore A legfontosabb elemek Egy `pust jelképez Többszörös öröklődés Tetszőleges számú abribútum Tetszőleges számú asszociáció
39 Ecore A legfontosabb elemek Típusos abribútum
40 Ecore A legfontosabb elemek Egyirányú, bináris kapcsolat Opcionálisan ellenkező irány is Hivatkozob `pust definiálja
41 Teljes ECore hierarchia
42 Közös ősosztály Teljes ECore hierarchia
43 Típusok csomagokba szervezve Teljes ECore hierarchia
44 Teljes ECore hierarchia Atomi ada~pus
45 Teljes ECore hierarchia Felsorolt `pus
46 Teljes ECore hierarchia Tulajdonság
47 Teljes ECore hierarchia Művelet
48 Az EMF felhasználása Define Plaxorm Independent Model Define Generator Model Generate Code Evaluate Result Define or Override Code
49 Az EMF felhasználása Define Plaxorm Independent Model Define Generator Model Generate Code Evaluate Result Define or Override Code
50 ECore modell létrehozása
51 ECore modell létrehozása Többféle konkrét modellmegadás
52 ECore modell létrehozása UML osztálydiagram Megfelelően sorosítva Pl. RaSonal SoBware Architect EclipseUML
53 ECore modell létrehozása Egy XML dokumentum metamodellje
54 ECore modell létrehozása Szöveges DSL ecore modell leírásra
55 ECore modell létrehozása Közvetlen megadás (ecore model editor)
56 ECore modell létrehozása Speciálisan annotált Java Közvetlen interfészek megadás (ecore model editor)
57 EmfaSc Szöveges DSL EMF metamodellek számára
58 ECore Tools: ECore Diagram Editor Grafikus DSL EMF metamodellek számára
59 Példa: KapcsolaS háló
60 Példa: Az ECore metamodell
61 Példa: Az ECore metamodell Csomag
62 Példa: Az ECore metamodell Osztály
63 Példa: Az ECore metamodell Abribútum
64 Példa: Az ECore metamodell Referencia
65 Példa: Az ECore metamodell Felsorolt `pus
66 Az EMF felhasználása Define Plaxorm Independent Model Define Generator Model Generate Code Evaluate Result Define or Override Code
67 Kódgenerálás ECore modellből forráskód generálható o Modell perzisztencia o Modell menedzsment o Modell editor o Modell tesztelés Ezek testre szabhatóak o Generátor modell o Kód sablonok
68 Kódgenerálás A generálás alapja egy genmodel fájl o Plaxorm- specifikus o Az ECore modell alapján készül o Részletes Létrejön néhány Eclipse plug- in o Alapértelmezeb editor o Perzisztencia kezelés o Modell manipulációs
69 Kódgenerálás Nem kulcsrakész megoldás o Az editor nem túl felhasználóbarát o Az üzles logika sem feltétlenül elégséges
70 Generátor modell Cél: o Kódgenerálási beállítások megadása EMF modell o Tree Editor o Hivatkozik a saját ecore modellünkre Kódgenerálási beállítások o Java verzió (pl. Java 5 esetén enumok használata) o Package/projektnevek o
71 Generátor modell
72 Generátor modell Hivatkozob ECore modellelemek (akár több ECore modellből is)
73 Generátor modell Általános paraméterek
74 Generátor modell Modellmanipuláci ó paraméterei
75 Generátor modell Szerkesztőspecifiku s paraméterek
76 Generátor modell Modellspecifikus paraméterek
77 Az EMF felhasználása Define Plaxorm Independent Model Define Generator Model Generate Code Evaluate Result Define or Override Code
78 Kódgenerátor keretrendszerek Java o Java Emiber Templates (JET) o Velocity (Jakarta) o JSP (XML/HTML).NET o CodeDOM
79 Java Emiber Templates Java Emiber Temlates (JET) o JSP alapú template nyelv o Szabad kimenes formátum (Szöveges) o Java objektumok átadhatóak Az EMF generátor használja
80 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo>
81 JET példa jet package="hello" imports="java.util.*" JET fejléc class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo>
82 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> Bemenő paraméter <demo> definíció <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo>
83 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> <% for (Iterator i = elementlist.iterator(); Céldokumentu i.hasnext(); ) { %> m kezdete <element><%=i.next().tostring()%></element> <% } %> </demo>
84 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo> Ciklus a bemenő paraméter alapján
85 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo>
86 JET példa jet package="hello" imports="java.util.*" class="xmldemotemplate" %> <% List elementlist = (List) argument; %> <?xml version="1.0" encoding="utf-8"?> <demo> Ciklusmag <% for (Iterator i = elementlist.iterator(); i.hasnext(); ) { %> <element><%=i.next().tostring()%></element> <% } %> </demo>
87 Az EMF felhasználása Define Plaxorm Independent Model Define Generator Model Generate Code Evaluate Result Define or Override Code
88 A A generált EMF komponensek 3. Tree editor 2. Modellmanipuláció 1. Modell tárolása
89 A A generált EMF komponensek
90 EMF.Model Az ECore modell teljes implementációja Hatékony perzisztenciakezelés o XMI technológia A modell és a kód közel van egymáshoz o Előre tudjuk, mit kapunk o Általában nem szükséges módosítani
91 EMF.Model Lehetséges kiegészítések o Saját fájlformátum támogatás Parser Okos szerkesztő Xtext projekt így működik o Extra információk beszúrása a generált forrásfájlokba Kerülendő Inkább legyen az ecore modell része
92 Főbb képességek o Reflexió Az ECore keretrendszer o Értesítés (nosficason) o Perzisztencia o Asszociációk kezelése o Többszörös öröklődés
93 Reflexió eclass() o Minden üzles objektum megkaphatja a saját EClass reprezentációját o Hasonló a Java getclass() hívásához eget/eset/eisset/eset/eunset() o Tulajdonságok generikus kezelése econtainer/econtents() o Hierarchia o Szülő/gyerekek visszaadása tartalmazások mentén
94 Értesítés Minden modellobjektum támogatja az értesítésküldést o Observer minta o Event objektumok az értesítésben o Genmodellben állítható, hogy mi vált ki értesítést
95 Értesítés Feliratkozás o eadapters().add(adapter) Értesítésküldés o enotify(notification) A megvalósítást nem részletezzük o EMF biztosítja o Tipikusan sose akarjuk módosítani
96 Perzisztencia EMF modellek tárolása: erőforrásokban (resource) Egy objektumhoz rendelhetünk egy Resource példányt o eresource() adja vissza Beépíteb implementáció: XMIResourceImpl o Betöltés/mentés XMI formátumú fájlokból/fájlokba
97 EPackage implementáció Példány elérése: <csomagnév>package.einstance Minden osztályhoz metódus o EClass get<osztálynév> Minden osztály minden tulajdonságához metódus o EStructuralFeature get<osztálynév>_<tulajdonságnév>
98 EFactory implementáció Példány elérése: o <csomagnév>factory.einstance o <csomagnév>package.einstance.get<csomagnév>factory Minden osztály példányosítására metódus o <osztálynév> create<osztálynév>
99 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki
100 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki Publikus interfészek
101 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki Publikus interfészek Implementációs osztályok
102 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki Általános értesítési mechanizmus Publikus interfészek Implementációs osztályok
103 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki Általános értesítési mechanizmus EMF megvalósítás Publikus interfészek Implementációs osztályok
104 EClass implementáció A generált kód egy előre definiált keretrendszert terjeszt ki Általános értesítési mechanizmus EMF megvalósítás Publikus interfészek Implementációs osztályok Saját meta- modell elemei
105 Eclass implementáció Abribútumok és referenciák kezelése o EAbribute: geber és seber metódusok o EReference: mulsplicitásfüggő many : szerkeszthető kollekció, hozzá egy geber metódus one : geber metódus az értékre Kezdőértékek tárolása és inicializálása
106 EAbribute implementáció protected static final String NAME_EDEFAULT = null; protected String name = NAME_EDEFAULT; public String getname() { return name; } public void setname(string newname) { String oldname = name; name = newname; if (enotificationrequired()) { enotify(new ENotificationImpl( )); } } Általában nem akarjuk módosítani az implementációt o Kivéve pl. származtatob tulajdonságok
107 Ereference implementáció Hasonló az EAbribute- hoz A `pus ib egy másik objektum lesz Néhány kiegészítés szükséges, ha nem tartalmazás jellegű reláció van o Az objektum más tárban is lehet Referencia- feloldás o Ellenőrizni kell a késrányú referenciák integritását Ellenkező oldal frissítése
108 EoperaSon implementáció Az ECore modellben metódusokat is megadhatunk Nincs támogatás a szemanska definiálására Ötlet o Az ECore modellben definiáljuk a metódus Nevét Paramétereit, `pusukat Visszatérési értékének `pusát o Implementáljuk Java- ban A kódgenerátor csak kódvázat generál
109 EOperaSon implementáció ecore model emf.core Ha definiáltunk egy metódust o Hozzáadja az interfészhez o Egy üres implementációt készít az implementáló osztályban
110 EOperaSon implementáció public class Ximpl extends EObjectImpl implements X { } /** NOT */ void f() { // Provide the implementation } Első generálásnál az EMF egy ExcepSon- t dobó implementációt készít Át kell venni a felügyeletet o Beállítjuk taget NOT- ra o Implementáljuk a metódust
111 A A generált EMF komponensek
112 A A generált EMF komponensek
113 EMF.Edit Szerepe o A GUI és a modell szétválasztása o GUI független akciók implementálása Nagyobb eséllyel módosítjuk o Módosítjuk az element providert o Új parancsokat adunk hozzá
114 Generator minta Minden modell objektumhoz o Egy adapter jön létre Neve: ItemProvider Pl. ArSstItemProvider A providerek közös őse: o org.eclipse.emf.edit.provider.itemprovideradapter Alapértelmezeb implementáció alap funkcionalitáshoz Egy részét definiáljuk felül
115 Generator struktúra
116 Megjelenítés List- és TableViewerben Generator struktúra
117 Megjelenítés szerkezete TreeViewerbe n Generator struktúra
118 Generator struktúra Megjelenítés szövege és képe
119 Generator struktúra Tulajdonságok megjelenítése a ProperSes Viewban
120 Generator struktúra Modellhierarchi a módosító parancsai
121 EMF.Edit és a tervezési minták
122 Címkék változtatása A testreszabás Spikus példája a címkék változtatása o A genmodel- ben megadhatjuk, hogy egy objektum mely abribútuma jelenjen meg címkeként o Mi van, ha többől akarjuk összerakni? Változtatni kell a ItemProvider.getText- en o Töröljük/NOT- ra állítjuk taget o Saját implementációt írunk
123 Ikonok változtatása Másik Spikus példa az ikonok megváltoztatása A genmodel egy egyszerű ikont rendel minden elemhez o Az elemek az edit projekt icons/full könyvtárában találhatóak obj16: konkrét osztályokhoz ctool16: gyerekelem- létrehozási parancsokhoz A legegyszerűbb a fájlok lecserélése saját ikonra Ha logika alapján kell: ItemProvider.getImage felülírása
124 EMF.Edit parancsok Minden módosítás parancsokon (command) keresztül történik o Menü akció o Abribútum változtatás o Drag- n- drop Undo/redo támogatás A keretrendszer generált és már létező kód keverékét használja o EMF Common Command Framework (CCF) o EMF.Edit által generált parancsok
125 Parancsok használata EMF.Edit- ben A parancsok használata a Template Method mintára épül Az ItemProvider implementálja a createcommand() metódust, a kéréseket továbbítja protected metódusaiknak o createaddcommand() o createremovecommand() o A módosítás során a protected metódusok egyikét módosítjuk általában
126 Parancsok az EMF.Edit- ben: Példa public class SetArtistNameCommand extends SetCommand { } public SetArtistNameCommand(EditingDomain domain, Eobject owner, EStructuralFeature feature, Object value) { super(domain, owner, feature, value); } public void doexecute() { Artist artist = (Artist)this.owner; Logger.log(MessageFormat.format( "Name of artist changed from {0} to {1}", artist.getname(), value.tostring())); super.doexecute(); } Egyszerű példa: loggolás hozzáadása Bonyolultabb példák esetén az összeteb parancsok módosítása is szükséges lehet
127 A A generált EMF komponensek
128 A A generált EMF komponensek
129 EMF.Editor Az EMF.Editor generálja az SWT/JFace kódot a grafikus editorhoz Két fő opció o Meghagyjuk alapértelmezejen o Újraimplementáljuk teljes egészében
130 Editor (JFace alapú) o Fastruktúra Mi generálódik? o Események akciók összekötése o Workbench elemek beállítása Menük Varázsló (új modell ) Plugin acsvator
131 A generált szerkesztő
132 EMF.Editor - Összefoglalás A generált editor elsődlegesen tesztelésre való o Fastruktúra nehezen átlátható o Alapszintű műveletek Alterna`v megoldások o GMF: GEF technológiára alapuló grafikus editor EMF modellekhez o Xtext: szöveges editor EMF modellekhez
133 EMF - Összefoglalás
134 EMF Általános modellező keretrendszer o Többféle bemenet o Sorosítási és szerkesztési támogatás Kódgenerálás o Testreszabható o Jó alapértelmezések Sokan használják o Sokféle Eclipse- es projekt alaptechnológiája o Jól alkalmazható különféle területeken
135 További EMF alapú technológiák ValidaNon o Kényszerek megadása és ellenőrzése Query o Magas szintű lekérdezések fubatása Compare o Modellek strukturális összehasonlítása (pl. verziókezeléshez) Teneo o EMF modellek perzisztenciája relációs adatbázisba SDO o Service Oriented Architecture megvalósítása EMF alapon CDO o Elosztob, kliens- szerver EMF modellek
Metamodellezés. Simon Balázs BME IIT, 2011.
Metamodellezés Simon Balázs BME IIT, 2011. Bevezetés Metamodellezés EMF & ecore Tartalom (C) Simon Balázs, BME IIT, 2011. 2 Hétfő: Simon Balázs Bevezetés hetente felváltva: előadás és gyakorlat metamodellezés
é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
Java 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
Modellező eszközök, kódgenerálás
Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK
Modellinformációk szabványos cseréje Papp Ágnes, agi@delfin.unideb.hu Debreceni Egyetem EFK Tartalom MOF, UML, XMI Az UML és az XML séma MDA - Model Driven Architecture Networkshop 2004 2 Az OMG metamodell
Modellek végrehajtása, kódgenerálás
Modellek végrehajtása, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
OOP é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
Utolsó módosítás:
Utolsó módosítás: 2012. 02. 20. 1 Bonyolult rendszerekkel csak úgy tudunk dolgozni, hogy először egy egyszerűbb modellt építünk, megvizsgáljuk a rendszert különböző szempontokból. A modellezés nagyon általános
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata,
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István
Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben Ráth István rath@mit.bme.hu A grafikus nyelvek... mindenhol ott vannak: Grafikus felületek (Visual Studio) Relációs sémák (dbdesign)
Szoftver ú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
UML (Unified Modelling Language)
UML (Unified Modelling Language) UML (+ Object Constraint Language) Az objektum- modellezés egy szabványa (OMG) UML A 80-as, 90-es években egyre inkább terjedő objektum-orientált analízis és tervezés (OOA&D)
Ficsor 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
Interfé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
Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése
Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése Somogyi Ferenc Attila 2016. December 07. Szoftver verifikáció és validáció kiselőadás Forrás Mathijs Schuts and Jozef
Enterprise JavaBeans 1.4 platform (EJB 2.0)
Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans
Modell alapú tesztelés mobil környezetben
Modell alapú tesztelés mobil környezetben Micskei Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék A terület behatárolása Testing is an activity performed
A Java EE 5 plattform
A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13. A Java EE 5 platform A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési
Má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
Programozá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
Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
S01-8 Komponens alapú szoftverfejlesztés 2
S01-8 Komponens alapú szoftverfejlesztés 2 Tartalom 1. Komponens megvalósítása: kölcsönhatás modell, viselkedési vagy algoritmikus modell és strukturális modell. 2. Komponens megtestesítés: finomítás és
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
Kö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
Modell Alapú Szoftverfejlesztés Eclipse-szel
Modell Alapú Szoftverfejlesztés Eclipse-szel Miről lesz szó? Három Eclipse projekt 1. EMF Eclipse Modeling Framework modellközpontú szoftverfejlesztés ami a modellben benne van, azt nem kell kézzel megírni
JAVA webes alkalmazások
JAVA webes alkalmazások Java Enterprise Edition a JEE-t egy specifikáció definiálja, ami de facto szabványnak tekinthető, egy ennek megfelelő Java EE alkalmazásszerver kezeli a telepített komponensek tranzakcióit,
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás 2015-2016
Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS 2015-2016 Objektumorientált programozás OOP PHP-ben 2 A PHP az 5.0-as verziójától megvalósítja az OO eszközrendszerét OO eszközök:
JAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
Magas szintű adatmodellek Egyed/kapcsolat modell I.
Magas szintű adatmodellek Egyed/kapcsolat modell I. Ullman-Widom: Adatbázisrendszerek. Alapvetés. 4.fejezet Magas szintű adatmodellek (4.1-4.3.fej.) (köv.héten folyt.köv. 4.4-4.6.fej.) Az adatbázis modellezés
Szé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:
Java 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
Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
OOP: 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
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Segédeszközök szükségessége Szoftver
Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3
Domain-specific modeling (and the Eclipse Modeling Framework) Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3 Méréstechnika és Információs Rendszerek Tanszék
III. OOP (objektumok, osztályok)
III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit
Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez
Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez Székely István Debreceni Egyetem, Informatikai Intézet A rendszer felépítése szerver a komponenseket szolgáltatja Java nyelvű implementáció
Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22
Szerializáció Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) Szerializáció 2014 1 / 22 Tartalomjegyzék 1 Szerializációs Alapfogalmak 2 Szerializációs Megoldások Object Szerializáció XML
Programozási technológia
Programozási technológia UML emlékeztető, Öröklődés Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. UML Osztályok jelölése A diagramokban az osztály jelölésénél a nevét, az attribútumok nevét és a műveletek
Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3
Domain-specific modeling (and the Eclipse Modeling Framework) Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3 Budapesti Műszaki és Gazdaságtudományi Egyetem
OOP. 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
Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Folyamatmodellezés és eszközei Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Folyamat, munkafolyamat Ez vajon egy állapotgép-e? Munkafolyamat (Workflow):
Web-fejlesztés NGM_IN002_1
Web-fejlesztés NGM_IN002_1 Rich Internet Applications RIA Vékony-kliens generált (statikus) HTML megjelenítése szerver oldali feldolgozással szinkron oldal megjelenítéssel RIA desktop alkalmazások funkcionalitása
Szoftver-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
Autóipari beágyazott rendszerek. Komponens és rendszer integráció
Autóipari beágyazott rendszerek és rendszer integráció 1 Magas szintű fejlesztési folyamat SW architektúra modellezés Modell (VFB) Magas szintű modellezés komponensek portok interfészek adattípusok meghatározása
Aspektus-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
Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
CORBA bevezetés. Paller Gábor 2004.10.08. Internet és mobil rendszerek menedzselése
CORBA bevezetés Paller Gábor 2004.10.08 CORBA Common Object Request Broker Architecture Az Object Management Group (OMG) felügyeli (ugyanaz, mint az UML-t) A specifikáció célja alkalmazások együttműködésének
Osztá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
Osztá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
Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa
Web Technológiák Java Server Pages - JSP Répási Tibor egyetemi tanársegéd Miskolc Egyetem Infomatikai és Villamosmérnöki Tanszékcsoport (IVM) Általános Informatikai Tanszék Iroda: Inf.Int. 108. Tel: 2101
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Abstract 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,
Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.
Sapientia - EMTE 2008 Az előadás célja JPA - - perzisztencia ORM - - Objektumrelációs leképzés - Entitásbabok Állandóság Mechanizmus amely során az alkalmazás adatai megőrzésre kerülnek valamely perzisztens
Miért is transzformáljunk modelleket? Varró Dániel
Miért is transzformáljunk modelleket? Varró Dániel Mit látunk a képen? Tipikus kérdések (Hardvertervezés) Jól működik-e? 1+1 = 2? Hogyan készítsünk 8 bites összeadót 4 bites összeadóval? Hogyan készítsünk
JNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
List<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,
Utolsó módosítás:
Utolsó módosítás: 2016. 02. 16. 1 Bonyolult rendszerekkel csak úgy tudunk dolgozni, hogy először egyszerűbb modelleket építünk, és ezeknek a segítségével megvizsgáljuk a rendszert különböző szempontokból.
Nagy bonyolultságú rendszerek fejlesztőeszközei
Nagy bonyolultságú rendszerek fejlesztőeszközei Balogh András balogh@optxware.com A cég A BME spin-off-ja A Hibatűrő Rendszerek Kutatócsoport tagjai alapították Tisztán magánkézben Szakmai háttér Hibatűrő
Komponens alapú fejlesztés
Komponens alapú fejleszté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
A szoftverfejlesztés eszközei
A szoftverfejlesztés eszközei Fejleszt! eszközök Segédeszközök (szoftverek) programok és fejlesztési dokumentáció írásához elemzéséhez teszteléséhez karbantartásához 2 Történet (hw) Lyukkártya válogató
Programozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)
10-es Kurzus OMT modellek és diagramok OMT metodológia OMT (Object Modelling Technique) 1 3 Modell és 6 Diagram Statikus modell : OMT Modellek és diagramok: Statikus leírása az összes objektumnak (Név,
NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi
Tanszék N NEPTUN ID Címtár vcenter Trac Wiki SVN Wifi VPN BMENET ID BME VPN BME címtár elérés Drupal alól Ujhelyi Zoltán Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
Bevezető. Servlet alapgondolatok
A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig
Objektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
S0-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.
Pelda ö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
Elő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.
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22: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_14-1 - E jegyzet
Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban
Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban Nagy Attila Mátyás 2016.12.07. Áttekintés Bevezetés Megközelítés Pilot tanulmányok
Osztályok. construct () destruct() $b=new Book(); $b=null; unset ($b); book.php: <?php class Book { private $isbn; public $title;
PHP5 objektumok 1 Osztályok class, new book.php: construct () destruct() $b=new Book(); törlés: $b=null; vagy unset ($b); -elnevezési konvenciók private $isbn; public $title; function
Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
Korszerű fejlesztő környezetek Ráth István Tartalom A szoftverfejlesztés evolúciója Szakterület-specifikus nyelvek és előnyeik Verifikáció és validáció a rendszertervezésben Modern fejlesztőkörnyezetek
Java 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
Univerzális munkafolyamat szimulátor
Univerzális munkafolyamat szimulátor Ütemterv Készítette: Kerek Róbert KERQABT.SZE Gazdaságinformatikus BSc III. évfolyam Külső témavezető Kesztyűs Attila Lajos Siemens PSE Kft. Belső konzulens Dr. Ferenc
Komponensek 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
Book Template Title. Author Last Name, Author First Name
Book Template Title Author Last Name, Author First Name Book Template Title Author Last Name, Author First Name I. rész - Szoftver technológia 1. fejezet - Esettanulmány Bevezetés Az alkalmazás fejlesztésére
Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?
A "java Villa -v" parancs jelentése: A java interpreter elindítja a Villa osztály statikus main metódusát, és átadja neki paraméterként a "-v" stringet. A java interpreter elindítja először a Villa osztály
ISA 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
Vizuális és eseményvezérelt programozás , II. félév BMF NIK
Vizuális és eseményvezérelt programozás 2006 2007, II. félév BMF NIK Eseménykezelés A képviselő( delegate ) Képviselők C# nyelvi megvalósítása Metódushívás képviselőn keresztül Az esemény ( event ) Esemény
Mi a különbség az extends és az implements között. Mikor melyiket kell használni? Comperable-t megvalósító oasztályokban össze lehet hasonlitani
Mi a legabsztraktabb típus a JAVA-ban? Object Mikor preferált interface-ek használata a konkrét típusok helyett? Ha egy osztály több interfacet is használhasson, vagy ha fvek implementálását a az osztályra
Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás
Petőfi Irodalmi Múzeum A Digitális Irodalmi Akadémia megújuló rendszere technológiaváltás II. Partnerek, feladatok Petőfi Irodalmi Múzeum Megrendelő, szakmai vezetés, kontroll Konzorcium MTA SZTAKI Internet
problémák elvárások megoldások EAI MDA MOF CWM köztes Sw eszközök hatékonyság konklúzió 09:09 problémák elvárások megoldások EAI MDA MOF CWM
Az IR-fejlesztés problémái A vállalati alkalmazásintegráció szabványos megoldása avagy A domén-modell UML-alapú transzformációja -elvű modellezési stratégia alkalmazásával Néhány adat az informatikai rendszerekről:
Programozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 13. előadás Throwable Error Exception RuntimeException IOException Saját (általában) Nem ellenörzött kivételek (Unchecked
Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus
Interfészek. Programozás II. előadás. Szénási Sándor.
Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása
Java Programozás 11. Ea: MVC modell
Java Programozás 11. Ea: MVC modell 20/1 B ITv: MAN 2018.03.02 MVC Model-View-Controller A modell-nézet-vezérlő a szoftvertervezésben használatos szerkezeti minta. Az MVC célja elválasztani az üzleti logikát
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 5-ös Kurzus (UML) Visszatekintés: történelmi szempontok Az UML létrejötte UML-1 (Unified Modeling Language) és UML-2 Magyarul
C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
RIA Rich Internet Application
Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal
Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.
Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel Németh Rajmund Vezető BI Szakértő 2017. március 28. Szövetkezeti Integráció Központi Bank Takarékbank Zrt. Kereskedelmi Bank FHB Nyrt.
ELTE, Informatikai Kar december 12.
1. Mi az objektum? Egy olyan változó, vagy konstans, amely a program tetszőleges pontján felhasználható. Egy olyan típus, amelyet a programozó valósít meg korábbi objektumokra alapozva. Egy olyan változó,
Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
A SZOFTVERTECHNOLÓGIA ALAPJAI
A SZOFTVERTECHNOLÓGIA ALAPJAI Objektumorientált tervezés 8.előadás PPKE-ITK Tartalom 8.1 Objektumok és objektumosztályok 8.2 Objektumorientált tervezési folyamat 8.2.1 Rendszerkörnyezet, használati esetek
Objektumorientá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
ELTE SAP Excellence Center Oktatóanyag 1
Oktatóanyag 1 Oktatóanyag 2 Az oktatás folyamán használt példák a fent látható egyszerű modell implementációi. Oktatóanyag 3 A definíciós részben definiálja a fejlesztő az egyes attribútumokat, metódusokat,
A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
A J2EE fejlesztési si platform (application model) 1.4 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. A J2EE application model A Java szabványok -