Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Hasonló dokumentumok
Java I. A Java programozási nyelv

Java I. A Java programozási nyelv

I. Bevezetés. 1. ábra A Java "logója"

Szoftvertechnológia alapjai Java előadások

Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás

A NYELV NEVE. Kezdetben: Oak. James Gosling. Java: Sun Mycrosystems védjegyev

Programozási nyelvek JAVA EA+GY 1. gyakolat

4. Használati útmutatás

Tartalomjegyzék. Előszó... 10

Programozási nyelv Java

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

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Internet programozása. 1. előadás

JAVA SE/ME tanfolyam tematika

Bevezetés a Java programozási nyelvbe

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Programozás III. - NGB_IN001_3

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Bevezetés a Java programozási nyelvbe

Iman 3.0 szoftverdokumentáció

Java. JIT (Just in Time) fordítók alkalmazása, optimalizálás AOT (Ahead of Time) fordítók alkalmazásának lehetősége

Web-fejlesztés NGM_IN002_1

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Programozási technológia I.

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Dr. Schuster György október 30.

Előszó A Windows alkalmazásfejlesztés rövid története A Windows életútja A Windows 8 paradigmaváltása... 16

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Flex: csak rugalmasan!

Vizuális, eseményvezérelt programozás XI.

SZOFTVER = a számítógépet működtető és az azon futó programok összessége.

Operációs rendszerek gyak.

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

JAVA ALKALMAZÁSOK 1. ELŐADÁS 2/22/2017 1

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Már megismert fogalmak áttekintése

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

.NET (Dot-NET) #1 (Bevezetés)

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Inczédy György Középiskola, Szakiskola és Kollégium Nyíregyháza, Árok u. 53. TANMENET. Informatika szakmacsoport

A szoftverfejlesztés eszközei

vbar (Vemsoft banki BAR rendszer)

Végfelhasználói Applet kézikönyv

OOP és UML Áttekintés

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

Számítógépes munkakörnyezet II. Szoftver

A Java EE 5 plattform

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

Interaktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel

Bevezetés. Dr. Iványi Péter

1. A Windows Vista munkakörnyezete 1

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Objektumorientált programozás. Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

A Hypertext. Dr. Nyéki Lajos 2019

1_Linux_bevezeto_bash

Interfészek. PPT 2007/2008 tavasz.

Adatbázis és szoftverfejlesztés elmélet

A Java nyelv bemutatása

A Java programozási nyelv

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

TÁMOP A-11/ A MAGYAR TUDOMÁNYOS MŰVEK TÁRA (MTMT) PUBLIKÁCIÓS ADATBÁZIS SZOLGÁLTATÁSOK ORSZÁGOS KITERJESZTÉSE MTMT ÉS MTMT2

Mobil készülékek programozása

Processzusok (Processes), Szálak (Threads), Kommunikáció (IPC, Inter-Process Communication)

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Felhasználói kézikönyv. Verzió: 1.01

Folyamatok. 6. előadás

Tarantella Secure Global Desktop Enterprise Edition

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

Operációs rendszerek. Az NT folyamatok kezelése

Mobil szolgáltatások és alkalmazások fejlesztése

A szoftverfejlesztés eszközei

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Alkalmazások architektúrája

Imperatív programozás

Java Programozó képzés A&K AKADÉMIA 2019.

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 2.ELŐADÁS. Objektumorientált programozás

Bevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés

Hargitai Zsolt Novell Mo.

TELJESÍTÉNYMÉRÉS FELHŐ ALAPÚ KÖRNYEZETBEN AZURE CLOUD ANALÍZIS

UMN Mapserver és a Grass használata a Geológiában. Soós Dániel, Phd. Hallgató Miskolci Egyetem Geodéziai és Bányaméréstani Intézeti Tanszék

Vizuális, eseményvezérelt programozás X. V 1.0

Verifikáció és validáció Általános bevezető

Objektumorientált programozás C# nyelven

Veeam Agent for Windows and Linux

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Informatikai alkalmazásfejlesztő Információrendszer-elemző és - tervező

Microsoft SQL Server telepítése

MŰSZAKI KÖVETELMÉNYEK, A KÖRKERESŐ SZOFTVER SPECIFIKÁCIÓJA, KÖLTSÉGVETÉS. A) Műszaki követelmények

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

A webhelyhez kötődő szoftverek architektúrája

IPv6 Elmélet és gyakorlat

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Átírás:

Szoftver labor III. Dr. Csébfalvi Balázs Irányítástechnika és Informatika Tanszék e-mail: cseb@iit.bme.hu http://www.iit.bme.hu/~cseb/ Tematika Bevezetés Java programozás alapjai Kivételkezelés Dinamikus szerkezetek OOP tervezési minták a Java osztálykönyvtárban Abstract Windowing Toolkit (AWT) Appletek programozása ZH példák 2 / 17 Gyakorlatok mindenki ötször jön gyakorlatra a gyakorlat elején 5-10 perces kis ZH az el adás anyagából 2 sikeres kis ZH szükséges a nagy ZH-hoz 3 sikeres kis ZH esetén megajánlott elégséges 4 sikeres kis ZH esetén megajánlott közepes az els gyakorlaton is lesz! 3 / 17 1

ZH Beugró id tartam: 30 perc 6 rövid kérdés segédeszközt nem lehet használni Összetett feladat id tartam: 60 perc az el adás kinyomtatott vázlatai használhatók, de más segédeszköz nem a teljes Java osztálykönyvtárt nem kell ismerni, a feladathoz mellékelve lesznek a felhasználható könyvtári osztályok 4 / 17 Laborfeladatok Sakk program Alapok, OOP váz, megjelenítés konzolon Lépések kezelése AWT, eseménykezelés, applet Képfileok kezelése, Canvas, egérkezelés Szálkezelés, animáció 5 / 17 Jegyzet El adások vázlatai: http://cg.iit.bme.hu/portal/oktatott-targyak/szoftver-labor-iii Irodalom: Java útikalauz programozóknak Glenn Rowe: Java programozás, PANEM Kondorosi K., László Z., Szirmay-Kalos L.: Objektum-orientált szoftverfejlesztés, ComputerBooks, 1995 6 / 17 2

Történeti áttekintés 1990 Green Project (Sun) felhasználói elektronikai készülékek programozása hálózatról letölthet programok 1991 Oak interpreter 1995 a Java hivatalos bejelentése 7 / 17 A Java nyelv Egyszer, objektum-orientált Robusztus és biztonságos Architektúra-semleges, hordozható A Web programozási nyelve Interpretált, többszálú és dinamikus 8 / 17 Egyszer és objektum-orientált Egyszer : szintaktikája az ismert nyelvekhez hasonlít (C++) viszont nincsenek nehezen átlátható megoldások: referencia, destruktor, többszörös öröklés, C preprocesszor nincsenek jól átlátható de nehezen fordítható megoldások operátor overload, enumeráció, template Objektum-orientált(abb mint a C++): csak osztályok, objektumok örökl dés, egységbe zárás, polimorfizmus, dinamikus kötés a teljes run-time library, API objektum-orientált 9 / 17 3

Robusztus és biztonságos Robusztus: kevesebb lehet ség a programozói hibákra default értelmezés nem inicializált változó nulla a kód kiterjedt ellen rzése fordításkor és futtatáskor: interpretált nyelv Biztonságos: szigorú szabályok az internetr futtatásakor l töltött kód (appletek) 10 / 17 Hordozhatóság.cpp: C++ forrás Gép független Bcc: fordító Gép függ.exe Gépi kód processzor.java: Java forrás Javac: fordító Java Virtual Machine Minden osztály külön fájlba Gép független.class Java virt. Gép bájt kód Szerver Gép függ Java: interpreter vagy Just in time fordító Kliens Proc. 11 / 17 Hordozhatóság Ugyanaz az osztálykönyvtár minden platformon Java Development Kit, azaz JDK Operációs rendszer és ablakozó rendszer függetlenség Ugyanaz a program m köd képes Windows, Solaris, Linux, stb. alatt. Szabványosított kezelés: GUI, hálózat, clipboard, www, nyomtatás, adatbázis elérés, 3D, stb..class Java virt. Gép bájt kód Java: interpreter vagy Just in time fordító Operációs és ablakozó rendszert elfed könyvtár Op. rendszer Proc. 12 / 17 4

Többszálas nyelvi szinten támogatja többszálú alkalmazások írását és a köztük szükséges szinkronizációt Felhasználói beavatkozásra vár f program szál Utasítások mint két független folyamat utasításai, párhuzamos végrehajtás 13 / 17 Dinamikus Osztályok dinamikus linkelése: csak a szükséges osztályok tölt dnek be, azok viszont akár futás közben is (szemben a C++-szal, ahol monolitikus EXE, esetleg DLL-ek vannak) az osztályok bárhonnan betölthet ek: file, hálózat, adatbázis, stb. C: void f( ) { } void g( ) { } _f _g 14 / 17 Java programok fajtái: Alkalmazás Parancssorból indítható v. ablakban futó program Ugyanarra képes, mint bármilyen más, az adott platformra írt szoftver Futtatás: java (JDK) vagy más, hasonló programmal (interpreter) bizonyos platformokon (pl. Linux bizonyos verziói) kernel támogatással közvetlenül editor javac java Program.java osztaly.class 15 / 17 5

Java programok fajtái: Applet Internetr l letölthet, böngész b l futtatható kis alkalmazás HTML oldalba van ágyazva Speciális biztonsági rendszabályok: nem férhet hozzá a lokális fájlokhoz nem férhet hozzá rendszer er forrásokhoz (nyomtató, clipboard, stb.) Futtatás: Böngész b l: Netscape, Internet Explorer appletviewer (JDK) programmal appletviewer Program.htm editor Program.java javac osztaly.class netscape 16 / 17 Példa Appletre 17 / 17 6