SZAKKÉPZÉSI KERETTANTERV
17. Szoftverfejlesztés gyakorlat tantárgy
372 óra
17.3. Témakörök
17.3.1. Programozási nyelv I.
62 óra
A témakör oktatásának célja, hogy a programozás és adatbázis-kezelés követelménymodul keretein belül megismert programozási nyelv haladó alkalmazásával fejlessze a tanulók algoritmizálási és kódolási készségeit, az elméletben megismert technológiákhoz gyakorlati példákat mutasson be. Egy elterjed 105.
módszer alkalmazásával a tanulók megismerjék a csoportban végzett szoftverfejlesztés gyakorlatát. Csoportmunkát és verziókövetést támogató eszközök alkalmazása. Programok strukturálása a clean code elveinek betartásával. Öröklés és polimorfizmus, interface-ek, absztrakt osztályok alkalmazása. Speciális modulok, osztályok, lambda kifejezések használata, készítése. Hash táblák műveletei. Fa és gráf adatszerkezetek alkalmazása feladatok megoldása során. Az „A star” (A*) algoritmus alkalmazása. Nagyobb feladatok megoldása csoportban. Javasolt programozási nyelvek: C#, Java
17.3.2. Programozási nyelv II.
93 óra
A témakör oktatásának célja, hogy a tanuló a képzés során megtanuljon alkalmazni egy elterjedt, objektum orientált második programozási nyelvet feladatok megoldásához. Adattípusok, vezérlési szerkezetek (szekvencia, szelekció, iteráció) használata. Összetett adattípusok: tömbök, kollekciók alkalmazása. Kifejezések készítése. Osztályok definiálása, objektumok példányosítása. Tagtípusok kiválasztása, alkalmazása. A kivételkezelés és a nyomkövetés alkalmazása. Generikus adattípusok alkalmazása. Állományok és adatbázisok kezelése. Több szálon futó programok készítése (pl.: Mandelbrot-halmazok rajzolása). Szálbiztos adatszerkezetek, executorok alkalmazása. Feladatok algoritmizálása, kódolása. Javasolt programozási nyelvek: C#, Java, C++, Python
17.3.3. Adatbázis-kezelés
62 óra
SQL lekérdezőnyelv haladó használata, összetett lekérdezések (pl. al-lekérdezések) alkalmazása. Feladatok megoldása SQL nyelv alkalmazásával. Felhasználók kezelése, jogrendszer kialakítása (DCL: GRANT, REVOKE) Tranzakciók kezelése (DTL: START TRANSACTION, SAVEPOINT, COMMIT and ROLLBACK) Migráció és rollback alkalmazása. Laza illesztések alkalmazása. Mobil platformok adatbázis-kezelése: SQLite használata mobil alkalmazások adatbázis kiszolgálójaként. Javasolt SQL kiszolgálók: MySQL, MS SQL server, SQLite
17.3.4. Hálózati operációs rendszer
31 óra
Hálózati kiszolgáló kiválasztásának szempontja, a telepítés tervezése. Telepítési opciók választása, a hálózati operációs rendszer telepítése. Meglévő kiszolgálók frissítése a migráció szabályok alkalmazása. Szerver konfigurálása: telepítés utáni feladatok. Server Manager használata, az adminisztráció delegálása Szerepkörök és szerepkör-szolgáltatások telepítése. Csoportházirend szerepe, csoportházirend objektumok. Házirend beállítások, a beállítások öröklésének rendszere. 106.
Az automatikus szoftvertelepítés lehetőségei és eszközei. Telepítő csomagok összeállítása, publikálása, frissítése és törlése. Rendszer- és alkalmazásnaplózás beállítása, a naplók elemzése. Az alkalmazások terjesztésének és működésének biztonsági kérdései. Virtualizációs eszközök alkalmazása. Javasolt hálózati kiszolgáló: Microsoft Server
17.3.5. Tesztelési ismeretek
31 óra
A témakör oktatásának célja, hogy a tanulók gyakorlati ismereteket szerezzenek az automatikus tesztelés módszeréről egy elterjedt keretrendszer (pl.: Selenium) használatán keresztül. IDE és API (WebDriver) használata, tesztek készítése és futtatása. Tesztkörnyezet kialakítása: mock, stub, dependency injection, config management használatval. Elemek kiválasztása lokátorok (ID, Name, Class Name, CSS, stb.) segítségével. HTML elemek, vezérlők elérése és programozása: Hivatkozások, parancsgombok, beviteli mezők, opció gombok, kapcsolókeretek, listák. Böngésző kezelése (oldalak betöltése, navigáció, frissítés, ablak méretezése, mozgatása, ablakok kezelése), Assert osztály használata. Hibakeresés tesztprogramokban. Véletlenszerű adatok (dátumok, logikai értékek, karakterláncok) előállítása. Frontend oldali unit tesztek készítése, futtatása. Szerveroldali (backend) tesztek készítése és alkalmazása.
17.3.6. Játékfejlesztés
62 óra
A témakör oktatásának célja, hogy a tanulók megismerjenek egy elterjed játékfejlesztési környezetet, melynek használatával egyszerűbb játékok elkészítésére lesznek képesek platform-független környezetben. A választott fejlesztői környezet telepítése. A játékfejlesztői környezet felhasználói felületének kezelése. Játék objektumok kezelése. Prefab készítése, alkalmazása. Projektek és assets-ek kezelése. Anyagok és textúrák készítése, felhasználása. Modellek importálása és exportálása. Animáció készítése. Fizikai tulajdonságok, hatások implementálása, ütközésvizsgálat kódolása. Fényforrások alkalmazása. Játék objektumok programozása, irányítása. Vizuális effektusok, hanghatások készítése. A játék felhasználói felületének kódolása. Játékok tesztelése. Játék fordítása és terjesztése desktop és mobil eszközökre. Javasolt fejlesztői eszközök: Unity, JavaSript keretrendszerek (Phaser, Pixi.js, three.js
17.3.7. 3D grafika
31 óra
A fejlesztői környezet telepítése, felépítése. Nézetablakok kezelése. Egyszerű testek létrehozása, kijelölése, mozgatása, forgatása, átméretezése, duplikálása, törlése és elnevezése. Testfelületek finomítása. 107.
Rétegek szerepe, kezelése. Globális és lokális orientáció. Objektumok térbeli elhelyezésének lehetőségei (középpont, origin, pivot pont kezelése), koordinátarendszerek. Otliner editor használata. Kamerák (nézetek) kezelése. Szerkesztő mód használata: kijelölések, műveletek (vágás, kihúzás, forgatás, csavarás, stb.) Testek készítésének módszerei, technikái. Anyagok és textúrák használata, renderelés. Fényforrások típusa és használatuk. Animációk típusai, egyszerű animációk készítése. Módosítók (modifiers), scene-ek kezelése, összetett modellek alkotása. Látványos effektusok (füst, tűz), hatások készítése a ParticleSystem használatával. Kényszerek létrehozása, kezelése. Javasolt 3D modellező: Blender