Modell Alapú Szoftverfejlesztés Eclipse-szel
|
|
- Andrea Vassné
- 9 évvel ezelőtt
- Látták:
Átírás
1 Modell Alapú Szoftverfejlesztés Eclipse-szel
2 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 2. GEF Graphical Editing Framework magas szintű grafikus eszközkészlet pl. gráf típusú hálózatoknál mozgatás, kijelölés, összekötés 3. GMF Graphical Modeling Framework EMF + GEF szisztematikus összeházasítása
3 1. Eclipse Modeling Framework (EMF) Előadás anyaga Modellező Keretrendszer Kód generálása modell alapján, iteratívan Modell relációk betartatásával (számosságok, kétirányú relációk stb.) Adatmodell szerviz funkciók mentés/betöltés (XML perzisztencia) Reflexió Dinamikusan módosítható adatmodell Segédletek UI készítéséhez Eclipse Property Sheet Változásértesítés (notification) Mi az a modell? Adatmodell: Objektumok, attribútumok Relációk Constraint-ek Műveletek tkp. az osztálydiagram Modellformátum: annotated Java.ecore (XML/XMI) Rational Rose
4 Modell formátumok Book Title: String pages: Int Annotated Java /** */ public interface Book /** */ String gettitle(); /** */ int getpages(); <ecore:epackage xmi:version="2.0" xmlns:xmi=" xmlns:xsi=" xmlns:ecore=" XMI name="library "nsuri=" nsprefix="library"> <eclassifiers xsi:type="ecore:eclass" name="book"> <estructuralfeatures xsi:type="ecore:eattribute" name="title" etype="ecore:edatatype <estructuralfeatures xsi:type="ecore:eattribute" name="pages" etype="ecore:edatatype </eclassifiers> </ecore:epackage> XML Schema <xsd:schema targetnamespace=" xmlns=" xmlns:xsd=" <xsd:complextype name="book"> <xsd:sequence> <xsd:element name="title" type="xsd:string"/> <xsd:element name="pages" type="xsd:integer"/> </xsd:sequence> </xsd:complextype> </xsd:schema>
5 Generált kód Book Title: String pages: Int Java interface public interface Book extends EObject String gettitle(); void settitle(string value); int getpages(); void setpages(int value); Java implementation public class BookImpl extends EObjectImpl implements Book... protected static final int PAGES_EDEFAULT = 0; protected int pages = PAGES_EDEFAULT; public int getpages() return pages; public void setpages(int newpages) int oldpages = pages; pages = newpages; if (enotificationrequired()) enotify(new ENotificationImpl(this, Notification.SET,..., oldpages, pages));...
6 Generált kód: relációk, tartalmazás Library Name: String Library 1 0..* books Book Title: String pages: Int books author 0..* 1 Writer Name: String Tartalmazás public EList getbooks() if (books == null) books = new EobjectContainmentEList (Book.class, this,...); return books; public NotificationChain basicsetauthor(..) Writer oldauthor = author; author = newauthor; if (enotificationrequired()) ENotificationImpl notification = new ENotificationImpl(this,...); if (msgs == null) msgs = notification; else msgs.add(notification); return msgs; Kétirányú reláció public void setauthor(writer newauthor) if (newauthor!= author) NotificationChain msgs = null; if (author!= null) msgs = ((InternalEObject)author). einverseremove(this,..., msgs); if (newauthor!= null) msgs = ((InternalEObject)newAuthor). einverseadd(this,..., msgs); msgs = basicsetauthor(newauthor, msgs); if (msgs!= null) msgs.dispatch(); else if (enotificationrequired()) enotify(new ENotificationImpl(this,...));
7 Továbbá... Factories public interface LibraryFactory extends EFactory LibraryFactory einstance = new LibraryFactoryImpl(); Book createbook(); Writer createwriter(); Library createlibrary(); LibraryPackage getlibrarypackage(); Használat LibraryFactory factory = LibraryFactory.eINSTANCE; Book book = factory.createbook(); Writer writer = factory.createwriter(); writer.setname("william Shakespeare"); book.settitle("king Lear"); book.setauthor(writer); A metódus törzseket az Impl osztályokban meg kell írni! Módosítások védelme /** *... NOT */ public String gettitle() // módosítás... return title; Értesítés kérése I. Adapter bookobserver =... book.eadapters().add(bookobserver); EObject someobject =...; Értesítés kérése II. AdapterFactory someadapterfactory =...; Object requiredtype =...; if(someadapterfactory.isfactoryfortype(requiredtype)) Adapter theadapter = someadapterfactory.adapt(someobject, requiredtype);...
8 Valamint... A kódgenerátor intelligens, jól paraméterezhető, és ha kell a sablonok is módosíthatók Nem említettük: EMF.Edit: további wrapper osztályok az Impl. fölé: CommandStack magasszintű modell szerk. Parancsokhoz Eclipse Property Sheet + attribútum szerkesztő segédletek enotification IViewerNotification... tkp. részletkérdés, mert elfedhető a GMF-fel EMF.Editor: hibrid grafikus/szöveges TreeView editor... használjuk inkább a GMF-et
9 2. Graphical Editing Framework (GEF) Előadás anyaga Tutorial 2005.ppt Eclipse Runtime-ban futó grafikus alkalmazásokat készítő keretrendszer Bővíthető, magas szintű eszköztár a leggyakoribb igényeknek megfelelő funkcionalitás megvalósításával RCP ui.views Platform Runtime SWT GEF Draw2D
10 Vizualizáció GEF Célkitűzések Modell grafikus megjelenítése Szerkesztés : modell-felhasználó interakció megteremtése GUI beviteli eszközök (egér, bill.) kezelése, Bevitt input modell szintű értelmezése Parancsok, undo/redo Modell változások kezelése Integráció Eclipse környezetbe Menük, billentyűkombinációk, Toolbar-ok, Wizard-ok Property Sheet szerkesztő Eclipse integráció: - gazdag editor/workbench szemléletű eszközkészletet ad - de csak Eclipse RCP-ben használható
11 GEF Architektúra Interaction Layer Model-to-View mapping Workbench Integration Rendering Layout Scaling Native (SWT) Layer
12 Egyszerű példa, grafikus lehetőségek Display d = new Display(); Shell shell = new Shell(d); shell.setlayout(new FillLayout()); FigureCanvas canvas = new FigureCanvas(shell); canvas.setcontents(new Label("Hello World")); shell.settext( draw2d ); shell.open(); while (!shell.isdisposed()) while (!d.readanddispatch()) d.sleep(); BorderLayout Left XYLayout Top Center Bottom Right Canvas/Figure hierarcha FlowLayout ToolbarLayout Bővíthető Layout Manager -ek 12,8,20,10 30,20,27,
13 További lehetőségek Koordináta-transzformációk, zoom, nézetek Szöveg-megjelenítés: Rich text a org.eclipse.draw2d.text-ből Keretek, színek, sortörés, font-ok, offset API stb... Label : text + icon, grafikus elemhez kötötten (pl. vonal közepe felett ) Connection: speciális Figure forrás/cél anchor Router-ek Anchor Location Labels placed using ConnectionLocators Midpoint Endpoint v u Fig 2 PolylineConnection (pl. Fan, Bendpoint, Manhattan, ShortestPath) Fig 1 PolygonDecoration
14 Model-View-Controller Model Root (Diagram) Children Diagram EditPart fig fig fig A tartalmazás reláció tükröződik, de nem feltétlen kell megfeleltetés (azért nem árt...) Model EditPart Factory EditParts GraphicalViewer
15 EditPart-ok készítése AbstractGraphicalEditPart-ból származtatva: 1. createfigure() - Figure megrajzolása (draw2d/swt) 2. refreshvisuals() - modell állapotának lekérdezése, grafika frissítése 3. getmodelchildren() - megfelelő modell objektum gyermekeinek lekérdezése Az editpart-okat be kell csatolni a modell változás-értesítés mechanizmusába: az editpart felelőssége, hogy intelligensen kitalálja, mely gyermekén kell refreshvisuals()-t hívni (újrarajzolni) GEF objektumok becsatolása EMF notification láncba problémás, de megoldható. Automatikus (generált) megoldást majd a GMF ad.
16 Szerkesztő parancsok életútja Tool Tool EditPart EditPolicy SWT Events Requests Requests showfeedback() erasefeedback() getcommand() Commands Commands EditPolicy Request Command EditPart-hoz rendelhető logika pl. figure anchorpoint-jára kattitva connection mozgató parancs visszaadása? Stack Stack Commands Tool Több grafikus elemre hivatkozó művelet vezénylő állapotgépe pl. creationtool: Palettából Canvas-ra DnD visszajelzéssel
17 Big Picture EditDomain EditPartViewer EditPartViewer EditPartViewer 1. acts on Model 2. events 3. request 4. command Palette CommandStack Active Tool Tool1 Tool2 Tool3 5. execute Command Command Command Command 6. modifies
18 3. Graphical Modeling Framework (GMF) EMF + GEF szisztematikus összeházasítása Kiindulás: EMF osztálydiagram Eredmény: GEF alkalmazás (plugin) A szükséges kód generálása %-ban automatikus, wizard-okkal fél-grafikus editorokkal támogatott (Fél)automatikusan generálja azt a glue kódot és alkalmazás logikát, amit unalmas lenne megírni Grafikus Eclipse alkalmazások fejlesztésében Segít? Nagyon sokat Korlátoz? Kicsit
19 GMF fejlesztés menete Domain Model: class diagram Domain Gen Model: EMF kódgenerátor paraméterek Graphical Def Model: Figure definíciók (modellek) Tooling Model: GEF Tool -ok Mapping Model: Figure Model elem Tool összerendelés Diagram Gen Model: GMF kódgenerátor paraméterek
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
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
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?
Grafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok
Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások
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:
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
Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést
IBM Európa, Közel-Kelet és Afrika szoftverbejelentés ZP11-0164, kelt: 2011. május 17. Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést Tartalomjegyzék
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á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. 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
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
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
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
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
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
CREATE TABLE student ( id int NOT NULL GENERATED ALWAYS AS IDENTITY PRIMARY KEY, name varchar(100) NOT NULL, address varchar(100) NOT NULL )
Célok: a Java DB adatbázis-kezelő rendszer használatának ismertetése, adatbázisok használata Java alkalmazásokban - kétrétegű architektúra, egyszerű kliens-szerver architektúra használata hálózati alkalmazásokhoz.
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
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
Grafikus szerkesztők készítése 2.
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 Bonyolult Mi a gond a GEF használatával? Sok kézzel írt kód
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
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
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,
Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II 12. előadás Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2014.
strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string
Resource Objects Adatforrás elemeket hivatkozás (referencia, mutató) segítségével használhatunk, ezek karakterláncok (stringek), képek, azonosítók vagy akár fájlok is lehetnek A mappastruktúra egységesen
Programozás II. ATM példa Dr. Iványi Péter
Programozás II. ATM példa Dr. Iványi Péter 1 ATM gép ATM=Automated Teller Machine Pénzkiadó automata Kezelő szoftvert szeretnénk írni Objektum-orientált módon 2 Követelmények Egyszerre csak egy embert
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:
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
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
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
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
JAVA nyelvi alapok. Adatbányászati technikák (VISZM185) Dávid István david@cs.bme.hu
JAVA nyelvi alapok Adatbányászati technikák (VISZM185) Dávid István david@cs.bme.hu Bevezető Hol és miért van szükség a JAVÁra az adatbányászatban? Programozott végrehajtás (imperatív, WF ) Platform (JRE
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,
OOP: Java 4.Gy: Java osztályok
OOP: Java 4.Gy: Java osztályok. 36/1 B ITv: MAN 2019.03.02 Feladat Készítsen el egy Employee osztályt és egy Employee osztályt használó osztályt (EmpProgram). Az Employee osztálynak: van name és salary
Szervlet-JSP együttműködés
Java programozási nyelv 2007-2008/ősz 10. óra Szervlet-JSP együttműködés Kérés továbbítás technikái legradi.gabor@nik.bmf.hu szenasi.sandor@nik.bmf.hu Szervlet-JSP együttműködés Témakörök Osztálykönyvtár
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
Algoritmusok és adatszerkezetek II.
Algoritmusok és adatszerkezetek II. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar horvath@inf.u-szeged.hu 6. Ugrólista (Skiplist) Definíció. Olyan adatszerkezet, amelyre
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
é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
Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs
Fordított és szkript nyelvek összehasonlító elemzése Sergyán Szabolcs IEEE: The 2016 Top Programming Languages IEEE: The 2016 Top Programming Language (Enterprise) Kutatás-fejlesztésben használt nyelvek
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
Ú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
Ajax és Echo 2. Bokor Attila
Ajax és Echo 2 Bokor Attila attila.bokor@netvisor.hu Tartalom Ajax áttekintés Echo2 Echo2 kiegészítések Asynchronous JavaScript and XML Webfejlesztési technika interaktív webalkalmazásokhoz Kifejezés közösen
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
Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 12. fejezet Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto A jegyzet az ELTE Informatikai Karának 2016. évi jegyzetpályázatának
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
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,
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
eseményvezérelt megoldások Vizuális programozás 5. előadás
Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket
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
Komplex feliratok készítése Maplex-el. Beke Dániel
Komplex feliratok készítése Maplex-el Beke Dániel Áttekintés Milyen típusú feliratok vannak az ArcGIS-ben? - Labeling - Maplex Label Engine vs. Annotation Felirat pozíciója Felirat elhelyezési stratégiák
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
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
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
Java programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. 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/17 Tartalomjegyzék
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
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
Java és web programozás
Budapesti Műszaki Egyetem 2015. 04. 08. 9. Előadás Kivétel kezelés a kivétel (exception) egy esemény, mely futás közben megbontja a program normális futási folyamatát például kivétel dobódik amikor 0-val
7. rész: A specifikációtól az implementációig az EJB rétegben
7. rész: A specifikációtól az implementációig az EJB rétegben Bakay Árpád NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu A tananyag készült az ELTE-IKKK projekt támogatásával Tartalom Tervezés lépései
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
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
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
Java-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
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
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,
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát
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)
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
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
ANDROID ALKALMAZÁSFEJLESZTÉS
ANDROID ALKALMAZÁSFEJLESZTÉS Android komponensek használata Activity Fragment Service Broadcast Recevier Runtime permissions 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
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
Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JavaServer Faces 1.2 AJAX
Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JavaServer Faces 1.2 AJAX Varga Péter peter.varga@sun.hu Zsemlye Tamás tamas.zsemlye@sun.com Áttekintés Hagyományos webalkalmazás-fejlesztés
ZH mintapélda. Feladat. Felület
ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új
JavaServer Pages (JSP) (folytatás)
JavaServer Pages (JSP) (folytatás) MVC architektúra a Java kiszolgálón Ügyfél (Böngésző) 5 View elküldi az oldal az ügyfélez View (JSP) Ügyfél üzenet küldése a vezérlőnek 1 3 4 Kérelem továbbítása a megjelenítőnek
Bánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
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
Java és web programozás
Budapesti M szaki Egyetem 2013. szeptember 11. Jó hír Jó hír Java lesz! Tárgyismertet Elérhet ségek: Kovács Kristóf: kkovacs@math.bme.hu Rimay Zoé: zrimay@math.bme.hu, Követelmények: Év végi beadandó (facebook):
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
Alternatív adatbázisok Gráfadatbázisok
Alternatív adatbázisok Gráfadatbázisok Adatbázis típusok Relációs PostgreSQL, Oracle, MySQL, stb. Dokumentum MongoDB, CouchDB, OrientDB Gráfadatbázis Neo4J, OrientDB, ArangoDB, InfiniteGraph Key-value
JAVA SE/ME tanfolyam tematika
JAVA SE/ME tanfolyam tematika TANFOLYAM TEMATIKA: A JAVA MEGISMERÉSE Java története, miért készült, miért népszerű NETBEANS környezet telepítése, megismerése Programozási alapok java nyelven Változók,primitív
CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék
CORBA Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 10. 15. Mi a CORBA? osztott objektum modell szabvány, amely definiálja a komponensek közötti interface-eket definiál
Programozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.
KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,
Adatbázisok webalkalmazásokban
Sapientia - EMTE, Pannon Forrás,,Egységes erdélyi felnőttképzés a Kárpát-medencei hálózatban 2010 A JDBC API A Data Access Object tervezési minta Adatforrás - DataSource JDBC architektúra A JDBC API java.sql
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
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):
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
Szálkezelés. Melyik az a hívás, amelynek megtörténtekor már biztosak lehetünk a deadlock kialakulásában?
Szálkezelés 1. A szekvencia diagram feladata az objektumok egymás közti üzenetváltásainak ábrázolása egy időtengely mentén elhelyezve. Az objektumok életvonala egy felülről lefelé mutató időtengely. A
Java programozási nyelv 8. rész Grafikus felhasználói felület
Java programozási nyelv 8. rész Grafikus felhasználói felület 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/17
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
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
Elemi Alkalmazások Fejlesztése II.
Elemi Alkalmazások Fejlesztése II. Osztályok közötti kapcsolatok öröklődés asszociáció aggregáció kompozíció 1. Feladat Készítsünk programot, amellyel testek térfogatát határozhatjuk meg, illetve megadhatjuk
Broadcast Service Widget
OE-NIK 2012. április 22. Sicz-Mesziár János sicz-mesziar.janos@ nik.uni-obuda.hu Broadcast Service Widget Broadcast Mi is ez? Aszinkron, üzenetszórásos értesítés Azok akik felregisztráltak rá értesülnek
Entity Framework + LINQ oktatási segédlet
Entity Framework + LINQ oktatási segédlet Török János Zsolt 2.0. változat Célok: - Ismerkedés az Entity Framework el - Adatbázis lekérdezések létrehozása LINQ segítségével Feladat: Megrendeléseket kezelő
12.óra jquery Framework #1. Gyimesi Ákos
12.óra jquery Framework #1 Gyimesi Ákos gyimesi.akos@gmail.com http://webprog.gy-i-m.com 12.óra jquery Framework #1 Miről lesz szó? JavaScript nyelv alapjai plusz: a JavaScript objektummodellje JavaScript
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
Main schema Types_uj.xsd. Simple Type HirkozlesVezetekFektetesJellegeEnum. Simple Type HirkozlesVezetekCelTipusEnum. Annotations
Main schema s_uj.xsd Properties Egységes elektronikus közmű- és nyomvonalas létesítmények nyilvántartása Attribute Form Default Element Form Default unqualified qualified Simple HirkozlesFektetesJellegeEnum
JAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
TSIMMIS egy lekérdezés centrikus megközelítés. TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek
TSIMMIS egy lekérdezés centrikus megközelítés TSIMMIS célok, technikák, megoldások TSIMMIS korlátai További lehetségek 1 Információk heterogén információs forrásokban érhetk el WWW Társalgás Jegyzet papírok
OOP: Java 7.Gy: Öröklődés, referenciák
OOP: Java 7.Gy: Öröklődés, referenciák 37/1 B ITv: MAN 2019.03.26 Öröklődés Egységbezárás (az egyik OOP alapelv) : az adatokat és rajtuk végzett műveleteket egy egységként kezeljük, ez az egység az osztály.
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
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 A mai előadás tartalma: Miért pont Java?