Mobilszoftver-rendszerek fejlesztése (VIAUMB01)

Tárgy hivatalos adatlapja: http://www.vik.bme.hu/kepzes/targyak/VIAUMB01

A tantárgy célkitűzése: 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. 

Rövid tematika: 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.

 

 

Előadás anyaga

1.

Az előadáson a bevezetés után a mobilszoftver-specifikáció kérdéseinek és platformválasztásnak a körüljárása történik. A formális specifikáció elkészítése mellett megvizsgáljuk a platformfüggetlen, illetve hordozható részek kiemelését. Átnézzük, milyen szempontokat kell figyelembe venni mobil alkalmazás tervezésénél.

2.

A felhasználói felület kapcsán kitérünk a képernyőképek tervezésére, illetve a fragmentációra való felkészülésre. A csak tablet- illetve csak mobiltelefon-felület tervezésének különbségeit is vizsgáljuk. Bemutatjuk a platformspecifikus vs. generikus felhasználói felület közti különbségeket. Körüljárjuk a mock alkalmazások készítésének lehetőségét. Feltárjuk, milyen felhasználói élmény emelésére alkalmas szempontokra kell figyelni.

3.

Az előadáson körbejárjuk az adatréteg tervezés kérdéseit, az adattárolás helyét, illetve a backenddel való szinkronizáció lehetőségeit, típusait. Bemutatunk elterjedt mobilos ORM megoldásokat.

4.

A tanóra témája a Kommunikációs réteg tervezése. Bemutatjuk, hogyan kell egyedi kommunikációs protokoll tervezésni és leírni, megvalósítani. Átvesszük az kapcsolódó eljárásokat és technikákat (mint a REST, az XML vs. JSON, illetve különböző, ezt támogató kódkönyvtárak). Megvizsgáljuk a Push üzenetek szerepét és hasnálatát. Megvizsgáljuk a kommunikációs réteg tesztelésének módjait, illetve további stratégiákat (pl. Cache, hálózat elérhetősége).

5.

A mobil alkalmazások kapcsán vzsgáljuk a közösségi rendszerekkel való integráció lehetőségét. Ennek kapcsán részletesebben nézzük az OAuth megvalósítását. Áttekintjük a gyakori közösségi site-ok szolgáltatásait és integrációjukat.

6.

Az óra tematikája a „Backend as a service” koncepció bemutatása, elemzése, illetve használata. Ennek kapcsán megvizsgálunk több BaaS típust és képességeiket.

7.

Az előadáson a csapatban történő mobilszoftver fejlesztés kihívásaival foglalkozunk. Ennek részeként áttekintjük a verziókövetés, build szerverek, continuous integration, illetve a kódmetrika és automatikus kódmetrika report készítésének lehetőségeit.

8.

Az előadás témája a külső (vezetéknélküli) eszközök integrálása. Megvizsgáljuk a korszerű technológiákat (BLE, NFC, Zigbee/Z-Wave). Emellett szintén az óra anyaga a hordható informatika és integrációja (Google wear, okosszemüveg, orvosi eszközök stb.)

9.

Az óra keretein belül megismerkedünk a mobilszoftverek tesztelési kérdéseivel, illetve a TDD, BDD módszertanokkal.

10.

A tesztelési kérdések kapcsán ezen az előadáson a felhasználói felület tesztekkel, automatizált UI teszteléssel foglalkozunk.

11.

A tanóra anyaga az analitikai és loggolási funkciók beépítése, illetve ezekhez külső szolgáltatások integrációja. Az óra bemutatja a crash reporting megoldásokat és jelentőségüket. Az analitika egy területeként kitérünk a felhasználói felület használatának mérésére, hőtérkép készítésére, illetve az A/B tesztelésre.

12.

Bemutatjuk a mobil piacterekre lépés feladatait, az alkalmazás publikálás elemeit. Az előadás bemutatja, hogyan tervezzük meg a mobil alkalmazásunk béta-programját.

13.

Áttekintjük az elterjedt alkalmazás-finanszírozási modelleket, úgymint: paid, ad-supported, freemium, in-app purchase, enterprise, illetve ezek szoftveres támogatását. Szintén elemezzük a szoftver életciklus kezelés és frissítés módjait.

 

14.

Félév elején egyeztetett időpontban Zárthelyi iratása

 

 

Gyakorlat anyaga

1.

A gyakorlat során konkrét, informális funkcionális specifikációból kiindulva készítünk formális funkcionális specifikációt mobilszoftverhez.  gyakorlat része a képernyőterveknek az elméletben megismert eszközökkel való megtervezése is.

2.

Az előző gyakorlaton specifikált alkalmazáshoz adatréteget, illetve kommunikációs protokollt tervezünk. Emellett a gyakorlatban kipróbálunk különböző szinkronizációs modelleket.

3.

A gyakorlat során megvizsgáljuk, hogyan lehet kiváltani egyes funkciókat konkrét Backend-as-a-Service használatával.

4.

A gyakorlat során a konkrét példán keresztül nézzük meg a verziókövetés és build szerver használatát, illetve a continouos integration szerver működését.

5.

Ezen a gyakorlaton a konkrét példa kiegészítésével a felahsználói felület tesztelésének módszereit próbáljuk ki.

6.

A gyakorlat folyamán az alkalmazáshoz konkrét analitika és crash reporting kódkönyvtárat választunk és építünk be.

7.

A gyakorlat célja az A/B tesztelés beépítése az eddig megvalósított alkalmazásba. Ezután a piactérre lépés folyamatát egy adott piactéren próbáljuk ki.

Hírek   A tárgy híreinek olvasása RSS-en keresztül

Elővizsga eredmények

Felkerültek az elővizsga eredmények.
(Ekler Péter Dr., 2017.05.22. 23:09) · Bővebben »

Vizsgaterem beosztás

A 2017. 05. 23-i terembeosztás.
(Forstner Bertalan Dr., 2017.05.22. 16:37) · Bővebben »

ZH eredmények

Az oldalon elérhetők az eredmények.
(Ekler Péter Dr., 2017.03.24. 15:39) · Bővebben »

Zárthelyi időpont és helyszín

A mobilszoftver-rendszerek fejlesztése c. tárgy félévközi zárthelyijét márc. 21-én, 8.15 órától írjuk.
(Forstner Bertalan Dr., 2017.03.15. 14:17) · Bővebben »

PótZH és elővizsga

A Neptunon lehet jelentkezni.
(Forstner Bertalan Dr., 2016.05.18. 16:59) · Bővebben »

Régebbi hírek »

Jegyzetek