Szoftverfejlesztés

bsc.png bsc.png bsc.png

A specializáció elvégzése során a hallgatók megismerik a modern szoftvertechnológia eszközeit és módszereit, az informatikai rendszerek megvalósítását és tesztelését. Az ágazaton téma- és önálló labort, valamint szakdolgozatot választó hallgatók megismerkedhetnek a felhő alapú és elosztott informatikai rendszerekkel, ezek jellemző technológiáival, alkalmazásfejlesztési eszközeivel, minőségi kritériumaival és tesztelési módszereivel.

Tématerületek


Felhő infrastruktúra fejlesztése

A projekt célja az IIT és az IK által közösen kifejlesztett CIRCLE (circlecloud.org) rendszer bővítése, továbbfejlesztése, valamint olyan alkalmazási portfólió készítése, ami kisvállalatok számára egyszerűsíti az irodai és fejlesztői környezet kialakítását, üzemeltetését.

Számítás-igényes alkalmazások támogatása

A számítási pontosság és sebesség növelése újabb lehetőségeket nyit minden tudomány-területen (pl. orvosbiológia, gyógyszerkutatás, génkutatás, részecskefizika). A projekt konkrét kutatások informatikai támogatását, algoritmusok fejlesztését nyújtja (superman.eik.bme.hu).

Komponens alapú szoftverek fejlesztése

Szoftverfejlesztői környezetek kutatása és megvalósítása párhuzamos és elosztott .NET, Java és Android alkalmazások kialakításával ill. fejlesztésének támogatására. A témában a tervezési fázis kérdéseitől a kódgeneráláson át a tesztelés támogatásáig terjedő teljes spektrumból választhatók részfeladatok.

GPU–k általános célú felhasználása

Ha egy feladatban nagy a számításigény és van lehetőség párhuzamosításra, ott a GPU bevethető: tőzsdei kereskedés, fizikai szimuláció, videókódolás, molekula-dokkolás, kódtörés, PET-rekonstrukció, orvosi képfeldolgozás, digitális holográfia, Litecoin bányászat.

Tárgyak


Objektumorientált szoftvertervezés (IIT, 5. félév)

Tervezési elvek: Liskov alapelv, dependency injection, design by contract, Demeter elv, stb.
Tervezési hibák felismerése és javítása
Objektumorientált metrikák
Speciális helyzetek kezelése: perzisztencia, elosztott objektumorientáltság, párhuzamos tervezési minták, tranziens esetek.

3D grafikus rendszerek (IIT, 6. félév)

Grafikus hw/sw architektúra (JavaScript vs. C++)
Web-es mobil és PC platformok: WebGL, OpenGL/GLSL,Direct3D
Játékmotorok, virtuális valóság, GUI
GPGPU: CUDA, OpenCL, DirectCompute

Adatvezérelt rendszerek (AUT, 5. félév)

Kiszolgáló és szerver oldali megoldások
Adatréteg és az üzleti logikai
ORM keretrendszerek (Hibernate, Entity Fw,
Sorosítás (XML, JSON)

Integrációs és ellenőrzési technikák (MIT, 6. félév)

Integrációs megoldások elosztott környezetekben
Szemantikus web technológiák alkalmazásával
Szoftver komponensek tesztelése
Teszt tervezés

Kliens oldali technológiák (AUT, 6. félév)

Felhasználói platformok (desktop, tablet, mobil), ergonómia, futtatókörnyezetek
Vastagkliens fejlesztés
Vékonykliens technológiák (ASP.NET, HTML5, JavaScript)
Adatkötési megoldások, űrlap generálás.

Témalabor

A témalabor bemutatja a specializáció, illetve az ágazat tanszékéhez tartozó műhelyeket, amelyek később az Önálló laboratórium, illetve a Szakdolgozat-készítés tantárgyakat kiszolgálják. A hallgatók a témalabor foglalkozásai során megismerkednek a műhely munkájával, és elsajátítják a műhely témáinak műveléséhez szükséges speciális szakmai ismereteket. A témalabor tantárgy elvégzése után a hallgatók képesek lesznek az adott szakmai műhelyben választott önálló laboratóriumi feladat további felkészítés nélküli kidolgozására.

A félév során az első 4 hétben ún. tutoriálokat tartunk, amelyek bepillantást engednek a műhelyek kutatási projektjeibe. A felkínált témák közül az 5. hét közepéig kell a hallgatóknak választani. A félév maradékában a kiválasztott témán kell egyénileg vagy csoportosan dolgozni. A félévet szóbeli és írásbeli beszámoló zárja.

Oktatók