Eclipse alapú fejlesztés és integráció

Tárgyfelelős: 
Varró Dániel
Oktatók: 
Ráth István
Oktatók: 
Semeráth Oszkár
Oktatók: 
Ujhelyi Zoltán

Röviden a tárgyról

Az Eclipse alapú fejlesztés és integráció c. MSc szakmai választható tárgy célja, hogy az Eclipse-en, mint fejlesztőkörnyezeten és nyílt forrású szoftverplatformon keresztül bemutassa a modern modellvezérelt szoftverfejlesztés vezető irányzatának, a szakterület-specifikus modellezésnek (domain-specific modeling) a gyakorlati alapjait. Az Eclipse a mai Java világ meghatározó szereplője, mivel egyrészt számos nagy kereskedelmi szoftvergyártó támogatását élvezi (pl. IBM, Oracle, Nokia, SAP, és további cégek), másrészt egy jelentős, és gyorsan növekvő nyílt forrású közösség segítésével nagyon széles technológiai palettán kínál megoldásokat a fejlesztők számára.

A tárgyban röviden áttekintjük az Eclipse nyílt fejlesztőrendszer felépítését, használatát és továbbfejlesztési lehetőségeit. Az Eclipse alapú technológiák tárgy anyagára építve bemutatjuk a fejlesztőrendszerek felépítésének általános alapelveit, majd az Eclipse architekturális részleteivel, programozásával ismerkedünk meg.

A tantárgy oktatása során részletesen bemutatjuk a modell-alapú fejlesztés eszközeit, valamint megmutatjuk, hogyan lehet integrált fejlesztőkörnyezetet biztosítani különböző modell-alapú domain-specifikus nyelvek számára, beleértve a modellek előállítását, feldolgozását, és tárolását. A kapcsolódó Eclipse Modeling alprojektek (mint az EMF, GMF, stb.) megismerésével azonnal alkalmazható ismereteket oktatunk testreszabott modellező környezetek, szöveges és grafikus programozási nyelvek vagy éppen automatikus kódgenerátorok fejlesztéséhez.

Az előadások során lépésről lépésre megnézzük, hogyan lehet saját fejlesztésű modulokkal kiegészíteni, testre szabni egy keretrendszert, hogy az megfeleljen valós ipari projektek során felmerülő egyedi igényeknek. A gyakorlatokon önálló munkát várunk el, azaz az általunk kiadott segédletek alapján, oktatói segítséggel, de mindenki saját maga oldja meg a feladatokat.

A tárgyban az a célunk, hogy a gyakorlatban is használható tudást adjunk át, ezért az előadások és gyakorlatok mellett nagyon fontosnak tartjuk a mindenki által önállóan elkészítendő házi feladatot. A házi feladat témáját mindenki szabadon kitalálhatja, de természetesen oktatói segítséget is adunk a feladat kiválasztásához. A feladat jellege hasonló, mint amit más gyakorlat-orientált szakmai választható tárgyakban megszokhattatok: kb. 1-2 hét munkával elkészíthető, de elvárjuk az igényes munkát (kommentezett forráskód, alapvető dokumentáció). A félév végén mindenki saját maga mutatja be a házi feladatát, és ezt a bemutatót kiemelten számítjuk be a végső vizsgajegybe -- azaz így a legkönnyebb jó jegyet szerezni a tárgyból. A tárgy (egyetemi és meghívott) oktatói több éves tapasztalattal rendelkeznek ipari és akadémiai nyílt forrású Eclipse-es projektek fejlesztésében.

Megszerezhető ismeretek

A tárgyban olyan Eclipse fejlesztői készségeket fejlesztünk, mellyel bárki elhelyezhedhet komolyabb Eclipse fejlesztő állásokba (igen, ilyenre a magyar piacon is van bőven kereslet). A tárgy alapvető célkitűzése, hogy egyrészt áttekintő jelleggel megmutassa azokat az alapvető kapaszkodókat és technológiákat, melyek ismeretével már bátran becsatlakozhatsz egy Eclipse-alapú fejlesztési projektbe, másrészt elmélyült ismereteket adjon a beágyazott szoftveriparban, és számos más területen is nagyon keresett modellvezérelt fejlesztés, és szakterület-specifikus modellezés témakörökben.

Kinek ajánljuk?

A tárgyat elsősorban olyanoknak ajánljuk, akik már rendelkeznek alapvető Eclipse programozói ismeretekkel (esetleg elvégezték az Eclipse alapú technológiák c. BSc szakmai választható tárgyat), és érdeklődnek a modellvezérelt fejlesztés, szakterület-specifkus modellezés iránt.

Tematika

  • Eclipse plug-inek fejlesztése
  • Modellezés és metamodellezés Eclipse környezetben
  • Grafikus modellező környezetek fejlesztése
  • Szöveges modellező környezetek fejlesztése
  • Modellek transzformációi (modelltranszformációk, kódgenerálás)