A specializáció tárgyai

 1. félév

Mobilszoftver-platformok (BMEVIAUMA05)

A tárgy célja, hogy a hallgatókkal megismertesse a tipikus, mobilszoftvert alkalmazó rendszereket, és a szoftverek kialakításához szükséges, legelterjedtebb megközelítéseket és platformokat. 

A tárgy két nagyobb részre osztható. Az első rész az egyes elterjedt platformokat és tervezési elveiket mutatja be (Android, iOS, Windows Phone). Az alapelveik megértésén túl a tárgy bemutatja a fejlesztési lehetőségeket az adott platformra, illetve összeveti az általuk használt irányelveket, módszereket. A gyakorlati órák során mindez kipróbálásra is kerül.

A második nagyobb rész a multiplatform mobilalkalmazás-fejlesztésbe vezet be. A C++ megoldások közül a Qt keretrendszere kerül bemutatásra, ennek mobil kiterjesztésével. A tárgy áttekinti a deklaratív (QML alapú) multiplatform alkalmazások készítését. Ezután a webes technológiákra építő, mobilweb alkalmazások építőelemeit ismerik meg a hallgatók. A klasszikus értelemben vett mobil weben túlmutatóan a tárgy megismerteti a webes technológiákra építő multiplatform rendszereket.

A tárgyat elvégző hallgató képes lesz a legelterjedtebb mobilplatofrmok közül a feladatnak megfelelőeket azonosítani, a platformokra szoftvert tervezni és megvalósítani. Ezen túlmenően képes lesz a multiplatform megoldások alkalmazhatóságát eldönteni, és multiplatform alkalmazást tervezni és készíteni.

 

 2. félév

A tárgy célja a számítógépekhez kapcsolódó főbb biztonsági problémák ismertetése, és az azok megoldását szolgáló elvek és a gyakorlatban használt módszerek és eszközök bemutatása. Számítógép alatt különböző típusú számítástechnikai eszközöket értünk (pl. személyi számítógépeket, szervereket, mobil eszközöket, beágyazott számítógépeket, stb).  A tárgy lefedi ezen eszközök fizikai és operációs rendszer szintű biztonságát, valamint az eszközökön futó alkalmazások biztonsági kérdéseit; foglalkozik a biztonságos szoftverfejlesztés módszereivel, és a rosszindulatú szoftverekkel (malware), valamint számítógép-biztonsági incidensek kezelésével.

3. félév

Mobilszoftver-rendszerek fejlesztése (BMEVIAUMB01) 

A tantárgy célja a mobilszoftver-tervezés és fejlesztés általánosan érvényes irányelveinek bemutatása, valamint mérnöki szemlélet kialakítása a területen. 

A tantárgy ismerteti a mobil eszközök korlátait, energiagazdálkodási kérdéseket, ezek szoftveres kezelését, valamint a hálózati kapcsolat rendelkezésre állásából fakadó kommunikációs és adatkezelési nehézségeket. Platform-független modellezési és tervezési technológiákat használva megismerhetők a tipikus kliens-szerver architektúra lehetőségei, illetve gyakorlatban bevált módszerei mobil környezetben. A kommunikációs protokollok tervezése és megvalósítása során bemutatásra kerül a push jellegű kommunikáció, valamint a szinkronizálási kérdések.

Általánosan használt kódkönyvtárakon keresztül bemutatásra kerül a 3rd party modulok illesztését és használatát, mobilfizetés és alkalmazáson belüli fizetés használatát, közösségi platformok integrációját. Ebből az irányból megközelítve mutatja be a tárgy a felhő-alapú megoldásokat, a backend-as-a-service szolgáltatások alkalmazását.

A hallgatók megismerkednek a különféle tesztelési lehetőségekkel, köztük az automatizált felhasználói-felület tesztelésével. A tárgy kitér a dokumentálás és különböző piactereken történő publikálás kérdéseire is.

A tárgyat elvégző hallgató képes lesz a mobilalkalmazások fejlesztése során a megfelelő eszköztárat kiválasztani és felhasználni. Szintén képes lesz a mobilalkalmazásokat és rendszereket különböző szempontok szerint értékelni és optimalizálni, illetve ilyen módon megtervezni (pl. energiahatékonyság, kommunikációs overhead). Ezen túl kompetenciát szerez a teljes fejlesztési ciklus lépéseinek tervezésében és végigvitelében.

Mobilszoftver laboratórium (BMEVIAUMB02) 

A laboratórium célja a Mobilszoftver-platformok, illetve Mobilszoftver-fejlesztés tárgyakon tanultak személyes kipróbálása és alkalmazása.

A vezetett méréseken hét fő témakört körüljárva készülnek önálló alkalmazás-prototípusok a következő ismeretek elmélyítésére: Szoftverfejlesztés Android platformra, Szoftverfejlesztés iOS platformra, Szoftverfejlesztés Windows Phone platformra, Multiplatform mobilalkalmazás készítése Qt alapokon, Kliens-szerver architektúrába illeszkedő mobilalkalmazás kialakítása, Ergonomikus felhasználói felület tervezése és megvalósítása, Mobilalkalmazások tesztelése különböző szinteken.