Modellalapú szoftverfejlesztés labor

A tantárgy angol neve: Model-based Software Development Laboratory 

Adatlap utolsó módosítása: 2022. december 27.

Budapesti Műszaki és Gazdaságtudományi Egyetem
Villamosmérnöki és Informatikai Kar
Szoftverfejlesztés specializáció
Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
VIAUMA23   0/0/3/f 5  
3. A tantárgyfelelős személy és tanszék Dr. Mezei Gergely,
4. A tantárgy előadója
Dr Mezei Gergely, docens, AUT 
Dr Somogyi Ferenc, tanársegéd, AUT 
Dr Simon Balázs, docens, IIT 
Dr Semeráth Oszkár, adjunktus, MIT 
5. A tantárgy az alábbi témakörök ismeretére épít Szoftvermodellezés, objektumorientált programozás 
6. Előtanulmányi rend
Kötelező:
(NEM
(TárgyEredmény( "BMEVIAUMA03", "jegy" , _ ) >= 2
VAGY
TárgyEredmény("BMEVIAUMA03", "FELVETEL", AktualisFelev()) > 0) )

ÉS

TárgyTeljesítve("BMEVIAUMA22")

A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

7. A tantárgy célkitűzése A tárgy célja, hogy a hallgatók a modellalapú szoftverfejlesztés témakörében megszerzett elméleti tudást a gyakorlatban is megtanulják alkalmazni. 
8. A tantárgy részletes tematikája
A hallgatók egy szakterületi nyelv, valamint az abból készíthető modellek kialakításának és feldolgozásának folyamatát veszik végig.  

1. Labor: a szakterület megismerése, az EMF-alapú metamodell kialakítása  
2. Önálló projektfeladat: Xtext alapú szövegszerkesztő készítése a metamodellhez (2 alkalom) 
3. Feladatbemutatás: Xtext 
4. Önálló projektfeladat: Modellfeldolgozás gráftranszformáció segítségével (2 alkalom)
5. Feladatbemutatás: Gráftranszformáció 
6. Önálló projektfeladat: Kiegészítő modulok, Blockly és ANTLR (2 alkalom) 
7. Feladatbemutatás: Modulok 

 A tárgyhoz tartozik egy 10x4 órás idősáv, amiben a jelenléti alkalmakra is sor kerül. Az 1. labor elvégezhető szinkron módon jelenléti, ill. aszinkron módon online formában (a kiadott segédanyagok alapján). A labor eredményét az oktatók a félév elején kihirdetett határidő szerint értékelik.   

Az önálló projektfeladatok 2 alkalomnak felelnek meg kiméretüket tekintve. Ezeket a feladatokat a hallgatók otthon végzik el, de a tárgy idősávjában személyes konzultációs lehetőséget biztosítanak. Az önálló projektfeladatok eredményét a személyes feladatbemutatások alkalmával kell prezentálni (szintén az idősávban). A megoldások a bemutatások alkalmával kerülnek értékelésre.
9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Labor
10. Követelmények
Az első labor feladatának elégséges szintű megoldása (az előírt modell előállítása), a labor eredménye ezen túl nem számít bele a félévvégi jegybe.  

A félév további részében az elégséges jegy feltétele mind a három témakörben legalább elégséges értékű munka bemutatása a feladatbemutatókon. Ha ez a feltétel teljesül, akkor a félévközi érdemjegy a három feladatbemutatón kapott jegy átlaga.
11. Pótlási lehetőségek Az első feladat nem pótolható. A három feladatbemutatók mindegyike pontlevonás mentén (egy jegy büntetéssel) egy alkalommal pótolhatóak a félév elején kihirdetett ütemezés szerint.
12. Konzultációs lehetőségek Az előadókkal egyeztetve
13. Jegyzet, tankönyv, felhasználható irodalom
Krysztof Czarnecki, Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley, 2000. 

Steven Kelly, Juha-Pekka Tolvanen, Domain-Specific Modeling: Enabling Full Code Generation, Wiley-IEEE Computer Society Press, 2008. 

Martin Fowler, Domain-Specific Languages, Addison-Wesley Professional, 2010 

Lengyel László, Mezei Gergely, Mészáros Tamás, Asztalos Márk, Vajk Tamás, Fehér Péter: Modellvezérelt paradigmák, Egyetemi jegyzet, VI 201-010, 2013. 
14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
Kontakt óra42
Félévközi készülés órákra18
Önálló projektfeladat 60
Mérési jegyzőkönyv elkészítése30
Kijelölt írásos tananyag elsajátítása
Vizsgafelkészülés
Összesen150
15. A tantárgy tematikáját kidolgozta
Dr Mezei Gergely, docens, AUT 
Dr Somogyi Ferenc, tanársegéd, AUT 
Dr Simon Balázs, docens, IIT 
Dr Semeráth Oszkár, adjunktus, MIT