Grafikus szerkesztők készítése 2.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "Grafikus szerkesztők készítése 2."

Átírás

1 Grafikus szerkesztők készítése 2. Graphi4, GMF Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

2 Bonyolult Mi a gond a GEF használatával? Sok kézzel írt kód Egyszerű GEF editor o KéGéle csomópont, közökük élek o 3400 sor kód (modell nélkül) o 16 osztály, 150 metódus o Nem lehetne egyszerűbben?

3 EMF modellek Egyszerűsítés o Egységes kezelés o Mentés/megnyitás egyszerű o Fájlok közöz hivatkozások kezelhetőek Egyszerűbb interakció o Csak magas szintű funkciók implementációja

4 Graphi4 Kapcsolódó projektek o EMF- specifikus grafikus szerkesztő könyvtár GMF Nota4on o Megjelenítési modell - > ld. még Diagram Exchange GMF Run4me o EMF- specifikus grafikus szerkesztő könyvtár GMF Tooling o Modell- alapú eszköztár projektek készítésére

5 Graphi(

6 Graphi4 architektúra Screen Screen Rendering Engine Graphiti Graphiti R Interaction Component R Általános grafikus szerkesztő... (Universal Editor) Pictogram Pictogram Model Model Diagram Diagram Type Type Agent Agent Domain Domain Model Model Link Link Model Model Forrás:

7 Graphi4 architektúra Screen Screen R Rendering Engine Graphiti Graphiti Interaction Component R... saját domain segítségével testreszabva Pictogram Pictogram Model Model Diagram Diagram Type Type Agent Agent Domain Domain Model Model Link Link Model Model Forrás:

8 Graphi4 architektúra Screen Screen R Rendering Engine Graphiti Graphiti Interaction Component R Pictogram Pictogram Model Model Diagram Diagram Type Type Agent Agent Domain Domain Model Model Néze4 Szöveg modell Link Link Model Model Forrás:

9 Graphi4 architektúra Screen Screen R Rendering Engine Graphiti Graphiti Interaction Component R Pictogram Pictogram Model Model Diagram Diagram Type Type Agent Agent Domain Domain Model Model Link Link Model Model Üzle4 modell Forrás:

10 Graphi4 architektúra 2. Diagram Type Agent Diagram Type Agent Feature Provider Diagram Type Provider Add Feature Create Feature Delete Feature Forrás:

11 Graphi4 architektúra 2. Diagram Type Agent Diagram Type Agent Funkció (Feature): szerkesztési művelet az üzle4 modellen Feature Provider Add Feature Create Feature Diagram Type Provider Delete Feature Forrás:

12 Graphi4 architektúra 2. Diagram Type Agent Diagram Type Agent Feature Provider Diagram Type Provider Add Feature Create Feature Delete Feature Leggyakoribb felhasználói szolgáltatások elérhetőek Forrás:

13 Milyen fogalmakkal dolgozunk? Domain Links Pictogram modell Visualization Graphics Algorithms Result Forrás:

14 Milyen fogalmakkal dolgozunk? Domain EClass EAKribute Links Link Pictogram modell Container Shape Shape Visualization Graphics Algorithms Text EOpera4on AKribute Link Link Shape Container Shape Shape Text Result Link Link Shape Container Shape Text Shape Forrás:

15 Pictogram és link model Pictogram metamodell o Megjelenő objektumok o EMF modell o Metamodell elérhető: hkp://eclipse.org/graphi4/ images/pictograms.pdf Link o Kapcsolat Pictogram és saját modellek közök o Generikus (nincs példánymodellhez kötve)

16 Tool építés lépései 1. Diagram Type Provider implementáció 2. Diagram Type Provider regisztráció o Kiterjesztési pont 3. Feature Provider implementáció 4. Feature implementáció

17 Tool építés lépései 1. Diagram Type Provider implementáció 2. Diagram Type Provider regisztráció o Kiterjesztési pont 3. Feature Provider implementáció 4. Feature implementáció

18 DiagramTypeProvider public class SocialDiagramTypeProvider extends AbstractDiagramTypeProvider implements IDiagramTypeProvider { public SocialDiagramTypeProvider() { setfeatureprovider(new SocialNetworkFeatureProvider(this)); } }

19 DiagramTypeProvider public class SocialDiagramTypeProvider extends AbstractDiagramTypeProvider implements IDiagramTypeProvider { public SocialDiagramTypeProvider() { setfeatureprovider(new SocialNetworkFeatureProvider(this)); } } Feature Provider regisztráció

20 Tool építés lépései 1. Diagram Type Provider implementáció 2. Diagram Type Provider regisztráció o Kiterjesztési pont 3. Feature Provider implementáció 4. Feature implementáció

21 Feature Provider regisztráció Két kiterjesztési pont o Típusdefiníció Egyszerű leírás org.eclipse.graphi4.ui.diagramtypes o Implementáció Csatolás provider és npusdefiníció közök org.eclipse.graphi4.ui.diagramtypeproviders

22 Tool építés lépései 1. Diagram Type Provider implementáció 2. Diagram Type Provider regisztráció o Kiterjesztési pont 3. Feature Provider implementáció 4. Feature implementáció

23 Feature Provider Használjuk az AbstractFeatureProvider ősosztályt Megfelelő metódusba funciók regisztrálása o Ha nincs, akkor null visszatérési érték Többféle funció o Create: modellobjektum létrehozása o Add: hozzáadás a diagramhoz o Copy, Paste o Update o DirectEdi4ng

24 Tool építés lépései 1. Diagram Type Provider implementáció 2. Diagram Type Provider regisztráció o Kiterjesztési pont 3. Feature Provider implementáció 4. Feature implementáció

25 Funkció implementáció Absztrakt megvalósítások o Pl. AbstractAddShapeFeature Típusfüggő implementáció o Pl. canadd és add metódusok

26 Összegzés Magasabb szintű könyvtár GEF felek o EMF modellek o Univerzális szerkesztő Kevés kódolás Egységes kinézet De hiányzó funkciók

27 GMF Run(me és GMF Nota(on

28 GMF Run4me EMF és a GEF alapú Modell és diagram szintű szolgáltatások o Szinkronizáció GMF Nota4on diagrammal Bővíthető

29 GMF Run4me Grafikus editorok írását támogató keretrendszer o Újrahasznosítható komponensek o Standardizált diagram metamodell A logikai és diagram metamodellek különválnak o Bővíthető grafikus szerkesztőket készíthetünk az Eclipse Workbenchbe integrálva

30 GMF Run4me Grafikus editorok írását támogató keretrendszer o Command- jellegű működés az EMF és GEF együkes vezérléséhez Perzisztencia az EMF run4me segítségével MVC szerkesztés GEF alapokon o További felhasznált technológiák: EMF Model Transac4on EMF Valida4on Framework MDT Object Constraint Language (OCL) Apache Ba4k (SVG)

31 Néze4 infók tárolása: o Szín, betűnpus stb. Nota4on metamodel o Node esetében: pozíció, méret stb. o Edge esetében: töréspontok, dekorációk stb. Néze4 modell a domain modell fölé o GMF nyújtja, nincs szükség a domain modell megváltoztatására! o Ld. még Graphi4 Pictogram modell

32 Fő osztálya a View Nota4on metamodel o Wrappeli a domain modell objektumot o Domain modell objektum elérése: get/setelement() EObject View Node Diagram Edge

33 Standard komponensek Popup Ac4on Bar: Connection Handle: Compartment (collapsible): Geometrical Shape:

34 Standard komponensek Ac4on: Direct Edit: Toolbar: Properties View:

35 Standard komponensek Navigátor a modellen belül: Animált zoom: Áttekintő nézet: Note Attachment:

36 Standard komponensek Oldalbeállítás: Nyomtató előnézet: Diagram export képfájlba: Diagram másolás a vágólapra:

37 GMF Tooling

38 Célja: GMF Tooling o Modellvezérelt szerkesztő generálás o A diagram és logikai modellek elkülönülnek Diagram megjenelés (graphical), eszközök (tooling), leképezés a modellre (mapping) o TestreszaboK domain- specifikus szerkesztők gyors összedobása o Az eredmény legyen bővíthető és rugalmasan átalakítható Generált kód GMF Run4me felek fut o Terv: Graphi4 támogatás a jövőben

39 GMF szerkesztő modellezés

40 Ecore domain modell importálása GMF szerkesztő modellezés

41 GMF szerkesztő modellezés Ecore domain modell importálása Leképezés a modellek közök

42 GMF szerkesztő modellezés Ecore domain modell importálása Grafikus alakzatok megadása Leképezés a modellek közök

43 GMF szerkesztő modellezés Ecore domain modell importálása Grafikus alakzatok megadása Eszközök definiálása Leképezés a modellek közök

44 GMF szerkesztő modellezés Ecore domain modell importálása Grafikus alakzatok megadása Eszközök definiálása Generátor modell Leképezés a modellek közök

45 GMF szerkesztő modellezés Ecore domain modell importálása Grafikus alakzatok megadása Eszközök definiálása Generátor modell Leképezés a modellek közök Kódgenerátor

46 GMF szerkesztő modellezés Ecore domain modell importálása Grafikus alakzatok megadása Eszközök definiálása Generátor modell Testreszabás Leképezés a modellek közök Kódgenerátor

47 GMF Dashboard View Grafikusan követhető a fejlesztés menete

48 GMF és EMF projektek A diagramszerkesztő működéséhez szükség van az EMF projekt genmodeljéből generált projektekre: o Model o Edit Konvencionális projektszerkezet: o library EMF projekt model Modellfájlok könyvtára library.ecore EMF library.genmodel library.gmfgraph library.gmxool GMF library.gmfmap library.gmfgen src Generált EMF modell kód o library.diagram Generált GMF projekt o library.edit Generált EMF edit projekt

49 Domain Model A logikai metamodell Normál Ecore (EMF) modell Megadása az EMF- ben megszokok módon Pl. a GMF grafikus Ecore editorával

50 Graphical Defini4on Model Diagram metamodell (GMFGraph) o Független Nota4on modelltől! GMFGraph tooling modell, futásidőben nem szerepel Nota4on Model futás közben használatos Graphi4: csaka Pictogram model van! o Cél: A használni kívánt grafikus elemek megadása Figure modellek o Feltölthető rekeszek felvétele o Adatkötés: Mapping model (később) Tree editorral Van hozzá automa4kus támogatás (varázsló) o A domain modelből következtet, testreszabhatóan o Generált modell nem függ a domain modelltől!

51 Graphical Defini4on Model Java kódolás helyek modellezés

52 Graphical Defini4on Model Java kódolás helyek modellezés Előre megadott elemekből összeállított figure

53 Graphical Defini4on Model Java kódolás helyek modellezés Előre megadott elemekből összeállított figure Saját figure Java kód

54 Graphical Defini4on Model Java kódolás helyek modellezés Előre megadott elemekből összeállított figure Graphical Definition Saját figure Java kód

55 Graphical Defini4on Model Java kódolás helyek modellezés Előre megadott elemekből összeállított figure GEF EditPart Graphical Definition IFigure Saját figure Java kód

56 Graphical Defini4on Model PlaGormfüggetlen metamodell Felépítése: o Elemkönyvtárak (Figure Galleries) Rajzelemek hierarchiája (Figures) o Csomópontok (Nodes) o Kapcsolatok (Links) o Tartalmazók (Compartments) o Címkék (Diagram Labels) Támogatás: domain modellből következtethető o Generált változat független a domain modelltől

57 Figure descriptorok Figure Gallery Rajzelemek hierarchikusan o Label, Rectangle, Ellipse, Polygon, Polyline, Custom Figure stb. o Borders: Line, Margin, Compound, Custom Elrendezésük o Layouts: Flow, Border, Grid, XY, Stack, Custom Tulajdonságaik o Color, Font, Dimension, Insets Child Access: accessorok

58 Node Diagram csomópon pus A diagramok alapeleme Figure descriptorra hivatkozik Kitöltés és körvonal tulajdonságai megadhatóak

59 Címke a diagramon Két npus Diagram Label o Belső: Figure descriptor egy gyerekére (child access) hivatkozik o Külső: Figure descriptorra hivatkozik

60 Compartment Tartalmazást kifejező rekesz Figure descriptor egy gyerekére (child access) hivatkozik Lehet összecsukható

61 Összekötő Connec4on Figure descriptorra hivatkozik

62 Tooling Defini4on Model Tooling metamodell (GMFTool) A szükséges eszköztár- elemek megadása Szintén varázslós támogatás A generálás során implementálásra is kerülnek az ik megadok parancsok

63 Tooling Defini4on Model A szerkesztéshez használt eszközöket definiálja: o PaleKe o Tool (4pikusan crea4on) Csoportokba (tool group) rendezve o Menü Main/Popup o Ac4on o Toolbar A wizard generál egy alap változatot bármely domain metamodellhez

64 PaleKa Tool PaleKe Separator Tool Group

65 Mapping Model Leképezési metamodell (GMFMap) Az eddigi modellek összekötése Megfeleltetések megadása Domain graphical tooling

66 Mapping Model Graphical Definition Domain model Mapping model Tool Definition

67 Mapping Model Graphical Definition Domain model Mapping model Tool Definition

68 Mapping Model Graphical Definition Domain model Mapping model Tool Definition

69 Mapping Model Graphical Definition Domain model Mapping model Tool Definition

70 Mapping Model Graphical Definition Domain model Mapping model Tool Definition

71 Mapping Model Leírja a logikai kapcsolatot a következők közök: o Domain elemek (.ecore) o Grafikus elemek (.gmfgraph) o Tooling elemek (.gmxool) Validációra alkalmas o Model Valida4on Kényszereket vehetünk fel o OCL nyelven A wizard generál egy alapváltozatot a bemene4 metamodellek alapján

72 Canvas Mapping Graphical: a diagram hákere (a gmfgraph Canvas gyökéreleme) Domain: a hierarchia gyökerét reprezentáló osztály Tooling: o PaleKa o Menük o Eszközsorok

73 Node Mapping Top Node Reference o Domain: Containment Feature: a Canvas Mappingben megadok gyökérosztály tartalmazást reprezentáló referenciája Node Mapping o Graphical: a diagram node o Domain: az osztály, amit a csomópont reprezentál o Tooling: az osztályt létrehozó crea4on tool Gyerekei lehetnek: o Label Mapping o Child Reference o Compartment Mapping

74 Label Mapping Graphical: Diagram label Domain: (Design) Label Mapping esetén: semmi, sta4kus szöveg o Feature Label Mapping esetén: a megjelenítendő (és szerkesztendő) feature- ök szöveges minták a megjelenítésükhöz és parse- olásukhoz

75 Child Reference Csomópont gyerekei Ugyanúgy Containment Feature és Node Mapping a megadandó adatok, mint Top Node Reference esetén Két npus: o Affixed: a szülő node oldalán jelenik meg (pl. portok) o Compartment: a szülő node egy compartmentjében jelenik meg (következő dia)

76 Compartment Mapping Graphical: Compartment grafikus definícióját kell megadni Child Reference- re kell hivatkozni Így egy compartment csak azonos npusú node- okat tartalmazhat!

77 Node hierarchia példa

78 Node hierarchia példa

79 Node hierarchia példa Canvas Mapping

80 Node hierarchia példa Canvas Mapping Top Node Reference

81 Node hierarchia példa Canvas Mapping Top Node Reference owned Node Mapping

82 Node hierarchia példa Canvas Mapping Top Node Reference Node Mapping Child Reference

83 Node hierarchia példa Canvas Mapping Top Node Reference Node Mapping referenced Child Reference

84 Node hierarchia példa Canvas Mapping Top Node Reference Node Mapping Child Reference owned Node Mapping

85 Node hierarchia példa Canvas Mapping Top Node Reference Node Mapping Child Reference Node Mapping

86 Graphical: connec4on Domain: Link Mapping o Ha a kapcsolatot egy feature reprezentálja: a Target Feature- ben kell megadni o Ha a kapcsolatot egy osztály reprezentálja: Element: a kapcsolatot reprezentáló osztály Containment Feature: a kapcsolatokat tartalmazó feature Source/Target Feature: a kapcsolat két végét reprezentáló feature Tooling: az összeköketést létrehozó crea4on tool

87 ÖsszeköKetés osztállyal példa

88 ÖsszeköKetés osztállyal példa

89 ÖsszeköKetés osztállyal példa

90 ÖsszeköKetés osztállyal példa

91 ÖsszeköKetés osztállyal példa

92 Diagram Editor Generator Model Generátor modell (GMFGen) Kódgenerálás paramétereit tartalmazza o Az EMF genmodeljéhez hasonló o A mapping modell transzformációjával áll elő Kódgenerálás Java EmiKer Templates/Xpand technológiával o A template- eket ki lehet cserélni A kódgenerálás a GMF run4me- on futó kódot állít elő A generálást finomhangolhatjuk o Plug- in ID, provider name, package namespace stb. Run4me opciók o Nyomtatás támogatása, valida4on stb. o Diagram perzisztencia

93 Generátor adatok Lehetőség van RCP alkalmazás generálására Fájl tulajdonságai (Gen Editor) o Modell- és diagramfájl kiterjesztése o Modell- és diagramfájl külön vagy egyben legyen- e Plugin azonosító adatok (Gen Plugin) o ID, név, provider Diagramszerkesztő képességei később (Gen Diagram) o Validáció o Shortcuts o Providers

94 Generált kód KompleK kód Grafikus editor GEF alapon Sok extrával o Ld. Run4me features

95 Hasonló az EMF- hez

96 EMF Hasonló az EMF- hez

97 Hasonló az EMF- hez EMF Domain model (ECore)

98 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel)

99 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code

100 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code GMF

101 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code Domain Model (ECore) GMF Graphical Definition (GMFGraph) Mapping (GMFMap) Tool Definition (GMFTool)

102 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code Domain Model (ECore) GMF Graphical Definition (GMFGraph) Mapping (GMFMap) Generator Model (GMFGen) Tool Definition (GMFTool)

103 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code Domain Model (ECore) GMF Graphical Definition (GMFGraph) Mapping (GMFMap) Generator Model (GMFGen) Java code Tool Definition (GMFTool)

104 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code Domain Model (ECore) Transzformáció kóddal (Java) GMF Graphical Definition (GMFGraph) Mapping (GMFMap) Generator Model (GMFGen) Java code Tool Definition (GMFTool)

105 Hasonló az EMF- hez EMF Domain model (ECore) CodeGen Model (GenModel) Java code Domain Model (ECore) Transzformáció kóddal (Java) Sablonok (JET) GMF Graphical Definition (GMFGraph) Mapping (GMFMap) Generator Model (GMFGen) Java code Tool Definition (GMFTool)

106 Lehetőségek: A generált kód testreszabása o Custom osztályok a tooling modellben o Kód felülírása o Template módosítása o Extension point bővítése Érdemes külön pluginbe rakni a módosításokat

107 A generált kód testreszabása Saját osztályok Graphical o Figure, Connec4on, Decora4on, Border, Layout Generator o Behaviour (dupla klikk lekezelése) Előnyök o Modellalapú megközelítés (még akribútumok is) Hátrányok o Refactoring, sta4kus ellenőrzés nehézkes modell- kód átjárhatatlanság miak

108 A generált kód testreszabása Saját osztályok Példa

109 A generált kód testreszabása Saját osztályok Példa Egyedi viselkedés hozzáadása

110 A generált kód testreszabása Saját osztályok Példa Egyedi viselkedés hozzáadása Implementációs osztály megadása

111 A generált kód testreszabása Kód felülírása Generált metódusok felülírása, újak törlése NOT o Újonnan beszúrt kódnál nem kell Előnyök o Egyszerű Hátrányok o Törékeny

112 A generált kód testreszabása Kód felülírása NOT

113 A generált kód testreszabása Kód felülírása NOT Saját kód megírása

114 A generált kód testreszabása Template JET/Xpand sablonok módosítása o Generator modellben template directory megadása Előnyök o Újrahasznosítható Hátrányok o JET/Xpand technológia ismerete szükséges o Meg kell írni a template- et!

115 A generált kód testreszabása Template Példa Xpand template

116 A generált kód testreszabása Template Példa

117 A generált kód testreszabása Template Példa Generátor modell elem kiválasztása

118 A generált kód testreszabása Template Példa Saját template jelzése (Dynamic Templates)

119 A generált kód testreszabása Template Példa Saját template jelzése (Dynamic Templates) Hivatkozás saját sablonra

120 A generált kód testreszabása Template Példa Hivatkozás saját sablonra

121 A generált kód testreszabása Extension point *Provider extension point bővítése o View, EditPart, EditPolicy, Icon stb. Előnyök o Biztonságos Hátrányok o Sok boilerplate code

122 A generált kód testreszabása Extension point Példa Kiterjesztési pont megadása

123 A generált kód testreszabása Extension point Példa HivatkozoK osztály megvalósítása Kiterjesztési pont megadása

124 Haladó GMF technikák

125 Dig in/drill down Két eset: Diagram par44oning o Azonos diagramnpus (rekurzív tartalmazás) Pl. package- ek o Különböző diagramnpus Pl. séma- tábla

126 Diagram par44oning megvalósítása Generator model o Node Open Diagram Behaviour Azonos diagramnpus: o Diagram Kind, Editor ID üresen hagyandó Különböző diagramnpus: o Diagram Kind: céleditor Editor Generator/Model ID tulajdonsága o Editor ID: céleditor Editor Generator/Editor View/ID tulajdonsága

127 EMF modellben Kezdőérték megadása o Default value nevű property o Egyszerű érték GMF modellben: Mapping model o Node/Link Mapping Feature Seq Ini4alizer Feature Value Spec o OCL kifejezés» Value Expression

128 OCL nyelven Kényszerek ÖsszeköKetések Mapping Model o Link Mapping Link Constraint Pl. összekötő nem köthet össze egy elemet önmagával: o self <> oppositeend Már létrehozásnál sem sérülhet kényszer

129 Ugyanúgy OCL nyelven Mapping model o Audit Container Audit Rule Target Kényszerek Constraint Csak validációnál van hibajelzés

130 Validáció Engedélyezés: Generator model o Gen Diagram Valida4on Enabled Valida4on Decorators Live Valida4on UI Feedback Validáció elvégzése: Edit/Validate

131 Egy node élő másolata Hivatkozás (shortcut) Use case: egy elemre másik diagramban szeretnénk hivatkozni Engedélyezés: Generator Model o Gen Diagram Forrásdiagramban: Shortcuts Provided For = céldiagram fájlkiterjesztése Céldiagramban: Contains Shortcuts To = forrásdiagram fájlkiterjesztése

132 Szeman4kus információk tükrözése vizuálisan Ha csak bizonyos megjelenítési jellemzők függnek az állapokól: Általunk definiált Figure- metódus (pl. updateface()) meghívása o Konstruktorban o EMF értesítés protected void handlenotificationevent(notification notification) { if (notification.getnotifier() instanceof Port) { getprimaryshape().updateface(); } super.handlenotificationevent(notification); }

133 Szeman4kus információk tükrözése vizuálisan Ha állapokól függően teljesen más figure kell: 2 különböző node, különböző constraintekkel és kezdőértékekkel Mapping Top Node Reference Node Mapping Constraint Feature Seq Initalizer Feature Value Spec Value Expression Top Node Reference Node Mapping Constraint Feature Seq Initalizer Feature Value Spec Value Expression Diagram Node: Node TypeAFigure Body: self.type = CommonClassType::TypeA, Language: ocl Element Class: CommonClass Feature: CommonClass.type:CommonClassType Body: CommonClass.type::TypeA, Language: ocl Diagram Node: Node TypeBFigure Body: self.type = CommonClassType::TypeB, Language: ocl Element Class: CommonClass Feature: CommonClass.type:CommonClassType Body: CommonClass.type::TypeB, Language: ocl

134 Ikonok megváltoztatása összekötők Ha nincs hozzá külön osztály: Asszociációhoz kép rendelése ImageRegistryben

135 Ikonok megváltoztatása összekötők Ha nincs hozzá külön osztály: Asszociációhoz kép rendelése ImageRegistryben /** NOT */ private static ImageRegistry getimageregistry() { if (imageregistry == null) { imageregistry = new ImageRegistry(); imageregistry.put( } getimageregistrykey(socialnetworkpackage.einstance.getperson_membership()), SocialNetworkDiagramEditorPlugin.findImageDescriptor("icons/Membership.gif")); } return imageregistry;

136 Összefoglalás

137 Összegzés Grafikus technológiák GEF Graphiti GMF Modell Tetszőleges EMF EMF Nem gráf jellegű megjelenítés Viszonylag könnyű Nem Sok, bonyolult testreszabás szükséges Kód mennyisége Sok, ismétlődő kód Közepes mennyiségű kód Főleg modellezés, kevés kódolás Munkafolyamat Csak kódolás Csak kódolás Többlépcsős

138 Megéri használni Graphi4, GMF Megéri használni, ha: o EMF alapú modell o A megjelenítés módja: csúcs- él paradigma o Gazdag funkcionalitás, gyors implementáció o Integráció Eclipse modellezési eszközeivel

139 Graphi4 o Egyszerű esetekben Graphi4 vagy GMF? o Könnyebb követni a modell változásait GMF o Gyors proto4pizáláshoz priminv konkrét szintaxissal o Komolyabb eszközökhöz A modell nem változik gyakran ÖsszeteK szolgáltatások

Eclipse Graphical Modeling Framework (GMF) Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Eclipse Graphical Modeling Framework (GMF) Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse Graphical Modeling Framework (GMF) Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék GMF Graphical Modeling Framework Cél o Domain- specifikus nyelvek

Részletesebben

Domain- specifikus modellezés az Eclipse Modeling Framework használatával

Domain- specifikus modellezés az Eclipse Modeling Framework használatával 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 Domain- specifikus nyelvek: miért?

Részletesebben

Modell Alapú Szoftverfejlesztés Eclipse-szel

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

Részletesebben

Metamodellezés. Simon Balázs BME IIT, 2011.

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

Részletesebben

Utolsó módosítá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

Részletesebben

Grafikus felületek készítése 1.

Grafikus felületek készítése 1. Grafikus felületek készítése 1. SWT Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Grafikus felületek fejlesztése Java grafikus toolkitek o AWT Na>v widgetek

Részletesebben

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

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

Részletesebben

Modellező eszközök, kódgenerálás

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

Részletesebben

és az instanceof operátor

é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észletesebben

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. 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észletesebben

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 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)

Részletesebben

Ráth István. A fejlesztés evolúciója

Ráth István. A fejlesztés evolúciója 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

Részletesebben

Modell alapú tesztelés mobil környezetben

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

Részletesebben

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. 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

Részletesebben

Utolsó módosítás:

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.

Részletesebben

UML (Unified Modelling Language)

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)

Részletesebben

NEPTUN ID BMENET ID. Címtár BME VPN. vcenter VPN SVN. Trac Wiki. Wifi

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

Részletesebben

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 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

Részletesebben

Enterprise JavaBeans 1.4 platform (EJB 2.0)

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

Részletesebben

CTools és Panels pluginok

CTools és Panels pluginok CTools és Panels pluginok Wittmann Balázs Ádám Drupal fejlesztő KYbest 2013, November 16. Elérhetőségek Előadás diák http://kybest.hu/hu/blog Forráskódok https://github.com/whitelikeman/ctools_plugin_examples.git

Részletesebben

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens Hozzunk létre egy ASP.NET Empty Web Site projektet! A projekt neve legyen WCFAPP1. Ez

Részletesebben

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. 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

Részletesebben

Közösség, projektek, IDE

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

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Programozás alapjai Ha egy adott adattáblára Ctrl + G t nyomunk,

Részletesebben

Programozási nyelvek Java

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

Részletesebben

Programozási technológia

Programozási technológia Programozási technológia Swing GUI készítése NetBeans IDE segítségével Dr. Szendrei Rudolf ELTE Informatikai Kar 2018. Bevezető Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi

Részletesebben

Java VII. Polimorfizmus a Java nyelvben

Java VII. Polimorfizmus a Java nyelvben Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)

Részletesebben

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

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ó

Részletesebben

GráfRajz fejlesztői dokumentáció

GráfRajz fejlesztői dokumentáció GráfRajz Követelmények: A GráfRajz gráfokat jelenít meg grafikus eszközökkel. A gráfot többféleképpen lehet a programba betölteni. A program a gráfokat egyedi fájl szerkezetben tárolja. A fájlokból betölthetőek

Részletesebben

Komponens alapú fejlesztés

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

Részletesebben

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés

Részletesebben

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.

Programozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein. Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 8. Csak bázisosztályként használt/értelmezhető

Részletesebben

Programozási nyelvek Java

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:

Részletesebben

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver

Overview. Service. Application Activity Activity 2 Activity 3. Fragment. Fragment. Fragment. Frag ment. Fragment. Broadcast Receiver ANDROID ALKALMAZÁSFEJLESZTÉS Android komponensek használata Activity Fragment Service Broadcast Recevier sicz- m e s z i a r. j a n o s @ n i k. u n i - o b u d a. h u Sicz-Mesziár János 2015. március

Részletesebben

C#, OOP. Osztályok tervezése C#-ban

C#, OOP. Osztályok tervezése C#-ban C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat

Részletesebben

Generikus Típusok, Kollekciók

Generikus Típusok, Kollekciók Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections

Részletesebben

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

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

Részletesebben

Név: Neptun kód: Pontszám:

Né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észletesebben

Java programozási nyelv 5. rész Osztályok III.

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

Részletesebben

Miért is transzformáljunk modelleket? Varró Dániel

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

Részletesebben

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME

SDI ALKALMAZÁS I. Workspace / ResourceView / Toolbar / IDR_MAINFRAME. Workspace / ResourceView / Menu / IDR_MAINFRAME SDI ALKALMAZÁS I. Feladat: Készítsünk egy olyan alkalmazást, amely az év végi adózás céljából rögzíti egyetlen évközi bevételnek az adatait: bruttó jövedelem adóel ı leg nettó bevétel jövedelem forrása

Részletesebben

Java VII. Polimorfizmus a Java nyelvben

Java VII. Polimorfizmus a Java nyelvben Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)

Részletesebben

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba Inheritance beállítás Ez egy olyan beállítás, amely a modell alapján

Részletesebben

A Java EE 5 plattform

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

Részletesebben

JAVA webes alkalmazások

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,

Részletesebben

RIA Rich Internet Application

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

Részletesebben

A szerzõrõl... xi Bevezetés... xiii

A szerzõrõl... xi Bevezetés... xiii TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány

Részletesebben

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Eclipse Rich AJAX Pla0orm

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Eclipse Rich AJAX Pla0orm Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Eclipse Rich AJAX Pla0orm RAP bevezetés RAP és RCP RAP- alapú UI design Tartalom A RAP lehetőségei és korlátai

Részletesebben

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

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

Részletesebben

Modellek végrehajtása, kódgenerálás

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

Részletesebben

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

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

Részletesebben

A Java nyelv. Dialógus ablakok. Elek Tibor

A Java nyelv. Dialógus ablakok. Elek Tibor A Java nyelv Dialógus ablakok Elek Tibor Dialógus ablakok Szerepe: felbukkanó ablak (üzenet, input) Felépítése, használata majdnem ua., mint JFrame Tulajdonos: lehet tulajdonosa, amellyel együtt ikonizálódik,

Részletesebben

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS

Részletesebben

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

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

Részletesebben

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:

Részletesebben

Már megismert fogalmak áttekintése

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

Részletesebben

Bánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31

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

Részletesebben

Szoftver újrafelhasználás

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

Részletesebben

Osztálytervezés és implementációs ajánlások

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

Részletesebben

Osztálytervezés és implementációs ajánlások

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

Részletesebben

Swing GUI készítése NetBeans IDE segítségével

Swing GUI készítése NetBeans IDE segítségével Programozási Swing e NetBeans IDE segítségével Informatikai Kar Eötvös Loránd Tudományegyetem 1 Tartalom 1 2 2 Eddig a grafikus felhasználói felületet kódból hoztuk létre kézzel. A mi feladatunk volt az

Részletesebben

OOP #14 (referencia-elv)

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

Részletesebben

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.

Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. AWT Grafika Bevezető Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. Fogalmak: geometriai alakzatok, felületek,

Részletesebben

Modellalkotás UML-ben

Modellalkotás UML-ben Modellalkotás UML-ben Modellalkotás UML-ben A Unified Modeling Language (UML) egy grafikus modellező nyelv, amely lehetőséget nyújt egy megoldandó probléma specifikációjának leírására absztrakt szinten,

Részletesebben

S0-02 Típusmodellek (Programozás elmélet)

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.

Részletesebben

OOP: Java 8.Gy: Abstract osztályok, interfészek

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

Részletesebben

Access alapok. Megnevezés Művelet Minta. Új adatbázis létrehozása. Új / Üres adatbázis.. Tábla létrehozása tervező nézetben.

Access alapok. Megnevezés Művelet Minta. Új adatbázis létrehozása. Új / Üres adatbázis.. Tábla létrehozása tervező nézetben. Access alapok Megnevezés Művelet Minta Új adatbázis Új / Üres adatbázis.. A tábla mezőinek beállítása tervező nézetben Mezőnév = az adott oszlop neve, Adattípus = az oszlopban szereplő adatok mintája (szöveg,

Részletesebben

S01-7 Komponens alapú szoftverfejlesztés 1

S01-7 Komponens alapú szoftverfejlesztés 1 S01-7 Komponens alapú szoftverfejlesztés 1 1. A szoftverfejlesztési modell fogalma. 2. A komponens és komponens modell fogalma. 3. UML kompozíciós diagram fogalma. 4. A szoftverarchitektúrák fogalma, összetevői.

Részletesebben

6.1.1.2 Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján.

6.1.1.2 Új prezentáció létrehozása az alapértelmezés szerinti sablon alapján. 6. modul Prezentáció A modul a prezentációkészítéshez szükséges ismereteket kéri számon. A sikeres vizsga követelményei: Tudni kell prezentációkat létrehozni és elmenteni különböző fájl formátumokban A

Részletesebben

Virtuális függvények (late binding)

Virtuális függvények (late binding) Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy

Részletesebben

JNDI - alapok. Java Naming and Directory Interface

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

Részletesebben

Alap számológép alkalmazás

Alap számológép alkalmazás Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom

Részletesebben

Android Pie újdonságai

Android Pie újdonságai Android Pie újdonságai Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Android 9 újdonságok Fejlesztői érdekességek API változások Mit tartogat a jövő? Android 9 újdonságok Testreszabott rendszer Egyszerűbb,

Részletesebben

kommunikáció Megoldások

kommunikáció Megoldások Információ és kommunikáció Megoldások Megoldások Információ és kommunikáció 1. A címsorba gépelje be a http://www.nbc.com címet! A Kedvencek hozzáadása panelen kattintunk a létrehozás gombra! Kattintsunk

Részletesebben

Interfészek. PPT 2007/2008 tavasz.

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

Részletesebben

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István (viczus@freemail.hu) Viczián István Java objektumok leképzése relációs adatbázisokra -vel Viczián István (viczus@freemail.hu) Előszó E cikk olyan haladó programozóknak nyújt segítséget, kik tisztában vannak a Java nyelvvel, és többször is

Részletesebben

PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL

PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL PÉLDATÁR 7. 7. BEGYAKORLÓ FELADAT SÍKFESZÜLTSÉGI PÉLDA MEGOLDÁSA VÉGESELEM-MÓDSZERREL Szerző: Dr. Oldal István 2 Végeselem-módszer 7. PÉLDA SÍKFESZÜLTSÉGI ÁLLAPOTRA 7.1. Saroklemez vizsgálata Határozzuk

Részletesebben

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

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

Részletesebben

Előzmények 2011.10.23.

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.

Részletesebben

Segédanyag: Java alkalmazások gyakorlat

Segédanyag: Java alkalmazások gyakorlat Segédanyag: Java alkalmazások gyakorlat Készítette: Szabó Attila 2010/2011-2 félév, 11. gyakorlat (az előző 2 gyak közül az egyiken ZH volt, a másik szünet miatt elmaradt) 1 JAR fájl készítés A JAR (Java

Részletesebben

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

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

Részletesebben

Az MS Word szövegszerkesztés modul részletes tematika listája

Az MS Word szövegszerkesztés modul részletes tematika listája Az MS Word szövegszerkesztés modul részletes tematika listája A szövegszerkesztés alapjai Karakter- és bekezdésformázás Az oldalbeállítás és a nyomtatás Tabulátorok és hasábok A felsorolás és a sorszámozás

Részletesebben

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

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,

Részletesebben

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül DEBRECENI EGYETEM INFORMATIKAI KAR Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül Témavezető: Pánovics János egyetemi tanársegéd Készítette: Hegedűs József programtervező

Részletesebben

Szoftvertechnológia alapjai Java előadások

Szoftvertechnológia alapjai Java előadások Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html 1 Kivételkezelés I. szokatlan, váratlan

Részletesebben

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. 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:

Részletesebben

Avery Design Pro 4.0

Avery Design Pro 4.0 Avery Design Pro 4.0 Felhasználói útmutató Az Avery Design egy egyszerű, de sokfunkciós, könnyen kezelhető címkenyomtató, kártyatervező program. Készítsük el a kártyasablont Indításkor az Üdvözlő ablak

Részletesebben

C++ fejlesztés az ECLIPSE környezetben

C++ fejlesztés az ECLIPSE környezetben Bevezetés kr304@hszk.bme.hu UNIX, 2005. május 13. Bevezetés Tartalomjegyzék 1 Bevezetés IDE IDE eszközök 2 Célkitűzés Architektúra CDT Project Összefoglalás Bevezetés IDE IDE eszközök Integrated Development

Részletesebben

Java programozási nyelv 6. rész Java a gyakorlatban

Java 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észletesebben

Osztályok. 4. gyakorlat

Osztályok. 4. gyakorlat Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum

Részletesebben

Collections. Összetett adatstruktúrák

Collections. Összetett adatstruktúrák Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,

Részletesebben

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe Webes alkalmazások fejlesztése Bevezetés az ASP.NET MVC 5 keretrendszerbe ASP.NET MVC Framework 2009-ben jelent meg az első verziója, azóta folyamatosan fejlesztik Nyílt forráskódú Microsoft technológia

Részletesebben

Újdonságok a Google műhelyéből. Péter Ekler

Újdonságok a Google műhelyéből. Péter Ekler Újdonságok a Google műhelyéből Péter Ekler peter.ekler@aut.bme.hu Android O újdonságok? Alkalmazás viselkedés változások 1/2 Korlátozott háttérben futás > Alacsonyabb prioritás a háttér szolgáltatásoknak

Részletesebben

Dr. Pétery Kristóf: CorelDRAW 9 testre szabás

Dr. Pétery Kristóf: CorelDRAW 9 testre szabás 2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery István

Részletesebben

Programozási technológia

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

Részletesebben

3. modul - Szövegszerkesztés

3. modul - Szövegszerkesztés 3. modul - Szövegszerkesztés Érvényes: 2009. február 1-jétől Az alábbiakban ismertetjük a 3. modul (Szövegszerkesztés) syllabusát, amely a gyakorlati vizsga alapját képezi. A modul célja Ezen a vizsgán

Részletesebben

Szoftvertechnolo gia 7. gyakorlat

Szoftvertechnolo gia 7. gyakorlat Szoftvertechnolo gia 7. gyakorlat Román Gábor 1. Feladat Készítsen az alábbi leírás alapján egy Egyed kapcsolat (EK) diagramot, majd annak alapján Visual Studio 2013-ban Entity Framework entitás diagramot!

Részletesebben

Abstract osztályok és interface-ek. 7-dik gyakorlat

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,

Részletesebben

Eseményvezérelt alkalmazások

Eseményvezérelt alkalmazások Szabóné Nacsa Rozália nacsa@inf.elte.hu Eseményvezérelt alkalmazások A Windows alkalmazások eseményvezérelt alkalmazások Esemény: egér kattintás billenty leütés stb. Üzenetkezelés Operációs rendszer kódja

Részletesebben