Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Bevezetés a mobilszoftver-fejlesztésbe

    A tantárgy angol neve: Introduction to Mobile Software Development

    Adatlap utolsó módosítása: 2015. április 2.

    Tantárgy lejárati dátuma: 2016. június 30.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Villamosmérnöki szak, 
    Mérnökinformatikus szak,
    Gazdaságinformatikus szak

    Szabadon választható tantárgy

     

     

     

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUAV69   2/0/0/f 2  
    3. A tantárgyfelelős személy és tanszék Dr. Forstner Bertalan,
    4. A tantárgy előadója
    Név:Beosztás:Tanszék, Int.:
    Dr. Forstner Bertalanegyetemi adjunktus

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Ekler Péter adjunktus Automatizálási és Alkalmazott Informatikai Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít

    A programozás alapjai 1, 2

    6. Előtanulmányi rend
    Kötelező:
    NEM ( (Training.Code=("5N-A8") ÉS
    StudentTraining.Startingdate >= Datum(2014, 8, 20) )
    VAGY EgyenCsoportTagja("INFOBSc 2passz miatt új 14-es tantervre") )



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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:
    2014 őszén vagy később beiratkozottak nem vehetik fel


    7. A tantárgy célkitűzése

    A tárgy keretében a hallgatók megismerkednek a mobil eszközökre történő szoftverfejlesztés alapjaival. Megismerik a különféle mobil platformokat, valamint a platformokra való szoftverfejlesztéshez szükséges eszközöket. Megismerik a mobil eszközökre való fejlesztés sajátosságait, ergonómiai kérdéseit és a fejlesztés során alkalmazható legjobb gyakorlatokat. Ezen kívül találkoznak a gyors prototípus-készítési eljárásokkal, gyakorlati megvalósításokkal. Lehetőséget biztosítunk az alkalmazások különböző típusú mobil eszközökön történő kipróbálására és tesztelésére.

    Megszerezhető készségek, képességek:

    A tantárgy elvégzése során a hallgatók áttekintést nyernek a jelenleg használatos, legelterjedtebb mobil platformokról és képességeikről. Az ismeretek elsajátításával képesek lesznek az adott feladatra legalkalmasabb platformot kiválasztani, a fejlesztés nagyságát megbecsülni. Ezen kívül elsajátítják egyszerűbb mobil alkalmazások elkészítését, az emulátor használatát illetve gyors prototípus-készítést SL4A (Scripting layer for Android), illetve Java ME környezetben. Ezekhez ismertetésre kerülnek az alábbi technikák:

    • az alkalmazások felépítése
    • egyszerű UI elemek használata
    • fordítási, telepítési ismeretek
    Az órákon szellemes példákon keresztül ismerjük meg a mindennapokból ismert mobilalkalmazások készítésének módját.
    8. A tantárgy részletes tematikája

    1. hét: Mobil szoftverplatformok. Mobil készülékek általános jellemzői.  Újszerű mobil készülékek speciális hardverei. Mobil szoftverfejlesztés fogalma: a PC-s fejlesztéstől eltérő szemléletmód. A mobil piac szereplőinek jellemzése. Mobil hálózatok fejlődése. Mobil készülékek számításkapacitásának vizsgálata

     

    2. hét: A mobil szoftverfejlesztés első lépései. Szoftverfejlesztési eszközök mobil készülékekre általánosságban: programozási nyelvek, kódkönyvtárak, fejlesztőeszközök (SDK, Emulátor). Konkrét platformok és képességeik.

     

    3. hét: Python alapok, Scripting Layer for Android. A Python nyelv megismerése az alapoktól. Fejlesztőkörnyezet. Alkalmazás telepítés, debuggolás.

     

    4. hét: Felhasználói felület készítése Androidra. Alapelvek a felhasználói felület tervezéshez. WebViewShow. Dialógusok készítése, felhasználói válaszok feldolgozása. Kényelmi dialógusok. Adatmegjelenítés.

     

    5. hét: SL4A alapok. Az Android bemutatása, alkalmazás komponensek. Gyakori funckiók elérése. Adatkezelés, földrajzi pozíció alapú alkalmazások.

     

    6. hét: Kommunikáció Python nyelven. A telefonálás funkció alapjai. SMS üzenet küldése, fogadása és feldolgozása. Kamera használat fényképezéshez, videózáshoz. Szöveg beszéddé alakítása és fordítva. Szenzorok használata. SL4A alapú alkalmazás telepítőjének elkészítése.

     

    7. hét: Bluetooth és webes technológiák. Adatcsere bluetooth segítségével. webes szolgáltatások elérése. Adatletöltés távoli helyről. Komplex prototípus alkalmazás készítése.

     

    8. hét: A Java ME platform bemutatása. A technológia általános áttekintése, Java ME konfigurációk, profilok és opcionális csomagok leírása. MIDlet életciklus ismertetése.

     

    9. hét: Felhasználói felület tervezése és készítése. Általános felülettervezési elvek mobiltelefonokra. Java ME alkalmazás felületének felépítése. Felhasználható felületi elemek, vezérlők bemutatása. A NetBeans felülettervező moduljának bemutatása.

     

    10.hét: Adattárolás Java ME platformon. Adattárolás a MIDlet-ek számára elérhető saját adatbázisban (RMS). Adatok létrehozása, manipulálása, törlése. Fájlkezelés Java ME platformon. Nehézségek, praktikus módszerek.

     

    11. hét: Multimédia szolgáltatások Java ME platformon. A Java ME által biztosított multimédia API bemutatása. Kamera megjelenítése és képek beolvasása. Hangok felvétele, lejátszása.

     

    12. hét: Hálózati kapcsolatok kezelése. A Java ME általános hálózatkezelési rendszerének (Generic Connection Framework) ismertetése. Socket és Stream alapú kommunikáció áttekintése. HTTP kapcsolatok kezelése. WebService-k elérése mobil telefonról. Bluetooth technológia ismertetése. SMS és MMS üzenetek kezelése

     

    13. hét: további fejlett APIk ismertetése.

     

    14. hét: Félévközi Zárthelyi dolgozat.

     

     

     

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás gyakorlati példákkal fűszerezve (konkrét készülékeken)

    10. Követelmények

    A szorgalmi időszakban:


    (1) Az ismeretek átfogó és részletes áttekintését a szorgalmi időszak alatt 1 alkalommal, az évfolyam terhelési táblázata szerinti időpontban íratott nagy zárthelyivel mérjük, valamint

    (2) A gyakorlást a nagy házi feladat biztosítja, amelynek beadási határideje a szorgalmi időszak vége.
    A félév elismerését jelentő félév végi jegy megszerzésére akkor van lehetőség, ha a hallgató a házi feladatot futtatható állapotban, dokumentációval ellátva, forráskód mellékelésével, határidőre beadta.
    A házi feladatot 40 %-ban számoljuk a jegybe


    Az aláírás megszerzésének feltétele a nagy ZH és a nagy házi feladat  együttes teljesítése.

    11. Pótlási lehetőségek A házi (otthoni) feladatot a 13. oktatási hét végéig be kell adni, annak pótlása a pótlási időszakban lehetséges. A pótlási időszak a kétciklusú képzésben az ún. pótlási hét (a szorgalmi időszak vége és a vizsgaidőszak kezdete közötti hét), az ötéves képzésben a vizsgaidőszak első 3 hete (ld. TVSZ 16. § (2)).A zárthelyi pótlására lehetőség van egyszer a szorgalmi időszakban, illetve egyszer a pótlási időszakban.
    12. Konzultációs lehetőségek

    Igény szerint előadóval egyeztetve.

    13. Jegyzet, tankönyv, felhasználható irodalom

    Paul Ferrill: Pro Android Python with SL4A. Apress, 2011 

    Jürgen Scheible, Ville Tuulos: Mobile Python: Rapid prototyping of applications on the mobile platform. Symbian Press, 2007

    Martin de Jode: Programming Java 2 Micro Edition on Symbian OS. Symbian Press, 2007

    Tanszéki jegyzet

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra28
    Félévközi készülés órákra0
    Felkészülés zárthelyire15
    Házi feladat elkészítése17
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés
    Összesen60
    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Charaf Hassan

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Dr. Forstner Bertalan

    egyetemi docens

    Automatizálási és Alkalmazott Informatikai Tanszék

    Ekler Péter

    egyetemi adjunktus

    Automatizálási és Alkalmazott Informatikai Tanszék

    Kelényi Imre

    egyetemi adjunktus

    Automatizálási és Alkalmazott Informatikai Tanszék