A tanfolyamról
A tanfolyam alapvető célja az Eclipse platform bemutatása a keretrendszerrel már fejlesztői szinten megismerkedett, és a modellvezérelt fejlesztés iránt érdeklődő mérnökök számára. A tanfolyam keretében a résztvevők megismerkednek a modellvezérelt szoftverfejlesztés alapelveivel, technikáival, előnyeivel, a legjobb gyakorlatokkal és az Eclipse ökoszisztéma kapcsolódó kurrens technológiáival.
- Elsőként bemutatjuk a szoftvermodellezés elméleti alapjait (metamodellezés, szakterület-specifikus modellezési és programozási nyelvek, modellvezérelt fejlesztési folyamatok és tervezési minták). Az alapelvek gyakorlati alkalmazását a szoftvermodellezés ipari de-facto standardjaként ismert Eclipse Modeling Framework (EMF) részletes tárgyalásával mutatjuk be. A hallgatók áttekintést kapnak arról, hogy hogyan lehet az EMF segítségével egyes alkalmazási területek vagy konkrét projektek igényeihez illeszkedő, szakterület-specifikus modellezési nyelveket (domain-specific modeling language) létrehozni, illetve az azokhoz kapcsolódó modern modellezési eszközök alapjait automatikus módszerekkel előállítani. A nyelvtervezés módszereinek és technikáinak tárgyalása után bemutatjuk az Eclipse szabványos Unified Modeling Language (UML) támogatását és az iparban széles körben használt Papyrus modellezőeszközt.
- Másodikként bemutatjuk a szakterület-specifikus modellezési nyelvek professzionális használatához szükséges szöveges és grafikus ábrázolási módok, illetve az ezekhez kapcsolódó modern fejlesztőeszközök létrehozásához szükséges ismereteket. A szöveges modellezési és programozási nyelvek tervezését és megvalósítását az Xtext keretrendszer részletes és példaorientált tárgyalásán keresztül mutatjuk be. Továbbá a hallgatók betekintést nyernek az Xtext-hez kapcsolódó Xtend programozási nyelvbe is. A tanfolyam második modulját a grafikus szintakszis (diagramszerkesztők) legmodernebb technológiai szintjét képviselő Sirius keretrendszer bemutatása zárja.
- Végül a tanfolyam bemutatja a haladó modellvezérelt szoftverfejlesztés során kulcsfontosságú modell-lekérdezéseket és modelltranszformációkat. A tanfolyam oktatóinak részvételével fejlesztett EMF-IncQuery és VIATRA hivatalos Eclipse.org technológiák részletes bemutatásán keresztül a hallgatók betekintést nyernek a professzionális modellező eszközök, modelltranszformációk és kódgenerátorok tervezésébe és megvalósításába. Gyakorlati példák segítségével bemutatjuk a legfontosabb tervezési mintákat, technikákat és kapcsolódó legjobb gyakorlatokat.
A tanfolyam végén a résztvevők:
- tisztában lesznek a modellvezérelt szoftverfejlesztés előnyeivel, módszereivel, alaptechnikáival
- képesek lesznek szakterület-specifikus modellezési nyelvek és kapcsolódó modellezőeszközök megtervezésére és megvalósítására
- ismerik és alkalmazni tudják a haladó modellvezérelt technikákat (modell-lekérdezések, transzformáció, jólformáltsági validáció, kódgenerálás)
- képesek lesznek a modellvezérelt fejlesztés Eclipse alapú technikáit a gyakorlatban is alkalmazni a fejlesztés és dokumentáció hatékonyabbá tételére
Tematika
1. nap
- Szoftvermodellezés alapjai, metamodellezés, szakterület-specifikus és általános célú modellezési és programozási nyelvek.
- Az Eclipse Modeling Framework bemutatása
- Eclipse UML és Papyrus
- Gyakorlat: szakterület-specifikus modellezési nyelv és egyszerű szerkesztő készítése, UML és szakterületi modellezés Papyrusszal
2. nap
- Szakterületi nyelvek konkrét szintakszisai, szöveges és grafikus szerkesztők alapelvei.
- Az Eclipse Xtext és Xtend bemutatása
- Az Eclipse Sirius bemutatása
- Gyakorlat: szöveges és grafikus szerkesztők készítése az első napon definiált modellezési nyelvhez
3. nap
- Haladó szintű modellezés: modell-lekérdezések, transzformációk, kódgenerálás.
- Az EMF-IncQuery és szolgáltatásai, inkrementális modell-lekérdezések, jólformáltsági ellenőrzés, vizualizáció
- A VIATRA keretrendszer bemutatása, modelltranszformációk és kódgenerálás Xtend használatával
- Gyakorlat: jólformáltsági validáció, egyszerű modelltranszformáció és kódgenerátor az első napon definiált modellezési nyelvhez
Kinek ajánljuk
Előfeltételek
- Haladó Java ismeretek
- Fejlesztői Eclipse ismeretek