Aspektus- és objektum-orientált modellek Java-ban

A tantárgy angol neve: Aspect and Object Oriented Models in Java

Adatlap utolsó módosítása: 2007. március 22.

Tantárgy lejárati dátuma: 2009. november 24.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar

Villamosmérnöki Szak

Műszaki Informatika Szak

Választható tárgy

Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VITT9023 6, 8, 10 4/0/0/v 5 1/1
4. A tantárgy előadója

Név:

Beosztás:

Tanszék, Int.:

dr. Adamis Gusztáv

Adjunktus

TMIT

Paller Gábor, Ph.D.

Kovács Gábor

Vendégelőadó

ügyvivő szakértő

NOKIA Hungary Kft.

TMIT

5. A tantárgy az alábbi témakörök ismeretére épít

Az objektum-orientált tervezés és programozás alapjainak ismerete (Jáva, C++) előnyt jelent.

6. Előtanulmányi rend
Ajánlott:

Kötelező előtanulmány:

VIET1017 Programtervezés II. (villamosmérnöki szak), illetve

BMEVIEE1239, 1240 Programozás alapjai I., II. (műszaki informatika szak)

Ajánlott előtanulmány:

VITT0127 Informatika II. (villamosmérnöki szak), illetve

VIFO2237 Számítógéplabor III. (műszaki informatika szak)

7. A tantárgy célkitűzése

Megismertetni a hallgatókat a Jáva nyelvet használó összetettebb technológiákkal, Jávás alkalmazásmodellekkel és az aspektus-orientált programozással Jáva nyelven.

8. A tantárgy részletes tematikája

A Jáva nyelv rövid bemutatása

- Az alaptípusok, operátorok, vezérlési szerkezetek áttekintése.

- Az objektum-orientáltság a Jáva nyelv esetében: osztály, tulajdonságok, módszerek, példány, interfészek, öröklődés, polimorfizmus.

- A Jáva API osztályhierarchiájához kapcsolódó nyelvi elemek: kivételkezelés, szinkronizáció és többszálúság, introspection és reflection.

Jáva alkalmazásmodellek és Jáva alapú technológiák bemutatása és szemléltetése példákon keresztül:

- Jáva alkalmazás.

- Applet, Web-böngésző, mint Jáva futtatókörnyezet + AWT grafikus felület.

- MIDlet, Jáva implementáció a mobiltelefonokban és hasonló szűk erőforrásokkal rendelkező eszközökben, a MIDlet rendelkezésére álló szolgáltatások.

- Xlet, CDC konfiguráció, Personal Basis és Personal Profile.

- Servlet, JSP, webszerver, mint futtatókörnyezet, a szervlet kapcsolata a HTTP protokollal.

- J2EE/EJB, Jáva az alkalmazás szerverekben + kommunikációs technológiák Jávában (web services, RMI, RMI-IIOP).

- OSGi, menedzselhető Jáva platform kis erőforrással rendelkező eszközökre, OSGi keretrendszer és alapvető OSGi szolgáltatások.

- Jáva alapú szövegfeldolgozás, lexikai elemző (JLex), parser (CUP).

Az aspektus-orientált programozási nyelvek elmélete és Jáva megvalósítása:

- Az aspektus-orientált rendszerek által megoldani kívánt problémák, összefésülődés (cross-cutting) és szétszóródás (tangling), ezek bemutatása motivációs példákon keresztül (hibakezelés, naplózás, biztonsági és teljesítménykövetelmények).

- Az aspektus-orientált megoldás: aspektus dekompozíció és összeszövés (weaving).

- Aspektus-orientált megoldás a motivációs példákra, elvárások (concern) egységekbe szervezése, osztályoktól függetlenítése.

- AspectJ példák (a Jáva aspektus-orientált kiterjesztése):

- join points (static, dynamic)

- pointcut

- advice

- aspect

- Az AspectJ-ben írt program működése, statikus és dinamikus pointcut kiértékelés és hatása fordítás és futás közben.

- További Jáva-alapú aspektus-orientált rendszerek (HyperJ, AspectWerkz, JBoss AOP).

9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

(előadás, gyakorlat, laboratórium):

Előadás és laboratórium.

10. Követelmények

a. A szorgalmi időszakban:

Az aláírás feltétele: vizsgajegy. A vizsgajegy alapja: vizsgaeredmény és laboratóriumi gyakorlatra kapott jegyek átlagának súlyozott összege.

b. A vizsgaidőszakban:

Írásbeli vizsga.

  1. Elővizsga:

Nincs.

11. Pótlási lehetőségek

Egy laboratóriumi gyakorlat pótlására lehetőséget biztosítunk.

12. Konzultációs lehetőségek

Előadások után, illetve e-mail-en keresztül folyamatosan, vizsgák előtt igény esetén szervezetten.

13. Jegyzet, tankönyv, felhasználható irodalom

Móricz Attila : Java programozási nyelv

Nyékyné Gaizler Judit: Java 2 útikalauz programozóknak 1.3

Horstmann, Cay S.: Core Java

14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

:

 

Kontakt óra

60

Félévközi készülés órákra

45

Felkészülés zárthelyire

0

Házi feladat elkészítése

0

Kijelölt írásos tananyag elsajátítása

30

Vizsgafelkészülés

15

Összesen

150

15. A tantárgy tematikáját kidolgozta

Név:

Beosztás:

Tanszék, Int.:

Paller Gábor, Ph.D.

vendégelőadó

NOKIA Hungary Kft.

Németh Krisztián

ügyvivő szakértő

TMIT

Kovács Gábor

doktorandusz

TMIT