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ó    

    Mobil- és webes szoftverek

    A tantárgy angol neve: Mobile- and Web-based Software

    Adatlap utolsó módosítása: 2017. június 30.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak, BSc képzés
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUAC00 5 2/0/2/v 5  
    3. A tantárgyfelelős személy és tanszék Dr. Ekler Péter,
    4. A tantárgy előadója

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Ekler Péter

    docens

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

    Dr. Forstner Bertalandocens

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

    Gincsai Gábortanársegéd

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

     


    5. A tantárgy az alábbi témakörök ismeretére épít Java nyelv
    6. Előtanulmányi rend
    Kötelező:
    (TargyEredmeny("BMEVIIIAB00" , "jegy" , _ ) >= 2 VAGY
    TargyEredmeny("BMEVIIIA212" , "jegy" , _ ) >= 2)

    ÉS
    (TárgyEredmény( "BMEVIMIAB00" , "aláírás" , _ ) = -1
    VAGY TárgyEredmény( "BMEVIMIA219" , "aláírás" , _ ) = -1)

    ÉS (Training.Code=("5N-A8") VAGY Training.Code=("5NAA8"))

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

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:


    7. A tantárgy célkitűzése A tantárgy célja a hallgatók bevezetése a mobil- és webes szoftverek világába. A tárgy keretében a hallgatók megismerkednek a mobil eszközökre történő szoftverfejlesztés alapjaival. Tapasztalatot szereznek a különféle mobil platformok világából, valamint a platformokra való szoftverfejlesztéshez szükséges eszközökről. 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. További kitűzött cél a korszerű webes technológiák alapjainak elsajátítása, illetve a web alapú multiplatform mobil fejlesztői rendszerek képességeinek és használatának megismerése.
    8. A tantárgy részletes tematikája

    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 prototípus alkalmazásokat fejleszteni mobil környezetben és a fejlesztés nehézségeit felmérni. Ezen kívül elsajátítják az Android platform alapjait, az emulátor használatát illetve gyors tervezést és alkalmazás fejlesztést. Ezekhez ismertetésre kerülnek az alábbi technikák:

    - az alkalmazások felépítése,

    - egyszerű felhasználói felületi elemek használata,

    - fordítási, telepítési ismeretek.

    A mobil szoftverfejlesztési kompetencián túl megismerkednek a korszerű webes kliensek technológiai alapjaival, illetve a mobil webes felületekkel.

    Az előadások tematikája:

    Előadás

    Előadás anyaga

    1.

    Bevezetés. Webes és mobilos kliensek a korszerű szoftver rendszerek architektúrájában. Mobil készülékek általános jellemzői. Újszerű mobil készülékek speciális hardverei. Mobil platformok áttekintése. 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.

    2.

    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). Az Android platform alapjainak bemutatása. Projekt elemeinek ismertetése. Fordítás mechanizmusa.

    3.

    Modern mobil alkalmazások életciklusa az Android szemszögéből. Android alkalmazás komponensek és ezek szerepe, valamint tipikus használati esetek. Több képernyős alkalmazások tervezése és megvalósítása. Általános állapot mentés életciklus váltás kezelésére.

    4.

    Mobil alkalmazások felhasználói felületének tervezése és megvalósítása. Felhasználói felülettel kapcsolatos erőforrások bemutatása, erőforrás minősítők. Elrendezések és nézetek kezelése.

    5.

    Perzisztens adattárolás elveinek bemutatása mobil környezetben. Kulcs-érték alapú adattárolási lehetőségek. Relációs adatkezelés, adat szűrés, keresés és rendezés. Állománykezelés.

    6.

    Mobil platformokon támogatott rövid és hosszú távú hálózati kommunikációs technológiák használata. Aszinkron hálózati műveletek kezelése, szálkezelés. HTTP kapcsolatok kezelése. Felhasználói felület értesítése aszinkron végrehajtás esetén.

    7.

    Helymeghatározás mobil környezetben. Műholdas és hálózati alapú helymeghatározási technikák, előnyök, hátrányok. Térkép kezelési alapelvek.

    8.

    Bevezetés a webes technológiák világába. Kliens-szerver architektúra HTTP alapokon (session, cookie, stb.). Dinamikus web koncepció ismertetése. A HTML nyelv ismertetése, a nyelv elemei és gyakran használt kapcsolódó eszközök bemutatása. Fejlesztői környezet bemutatása.

    9.

    A CSS stílus leíró nyelv bemutatása és alkalmazhatósága. Saját osztályok definiálása. CSS kiegészítő megoldások. A JavaScript nyelv alapjainak bemutatása, Form-ok használata, validáció.

    10.

    Fejlett JavaScript könyvtárak ismertetése. A karbantartható JavaScript forráskód készítésének legjobb gyakorlatai. A HTML DOM ismertetése, gyakran használt HTML és JavaScript megoldások áttekintése.

    11.

    Dinamikus web tartalmak létrehozása. A jQuery alapjainak bemutatása. Mobil Web; előnyök, hátrányok és lehetőségek.

    12.

    Dinamikus webes felületek kialakításának eszközei, az AJAX lehetőségei. A REST kommunikáció alapjai és alkalmazási területei, a JSON formátum tipikus felhasználási területei, cross-domain policy.

    13.

    Felhő alapú szolgáltatások nyújtotta lehetőségek alapjai mobil és webes környezetben (IaaS, PaaS, BaaS, SaaS), IoT platformok ismertetése.

    14.

    A cross platform megoldások elveinek bemutatása, cross platform alkalmazás életciklus modell vizsgálata.

    Laboron az aktuális heti előadás anyagára épülő alkalmazások készítése történik:

    Labor

    Labor anyaga

    1.

    Ismerkedés az okostelefon alkalmazásfejlesztéssel. Fejlesztőkörnyezetek és eszközök használatának bemutatása. Bevezető alkalmazás fejlesztése.

    2.

    Android fejlesztőkörnyezet és támogató eszközök bemutatása. Az emulátor használatának ismertetése. Egy Activity-s alkalmazás fejlesztése.

    3.

    Alkalmazás életciklus gyakorlása több képernyőből álló alkalmazás fejlesztése esetén. Életciklus váltások megfelelő kezelése, állapot mentés.

    4.

    Összetett felhasználói felületek tervezése és megvalósítása mobil környezetben.

    5.

    Perzisztens adattárolás alapú alkalmazás fejlesztése, listák kezelése.

    6.

    Hálózati kommunikáció alapú alkalmazás tervezése és megvalósítása.

    7.

    Hely információk megjelenítése és térkép alapú alkalmazás fejlesztés a technológia képességeinek és korlátainak bemutatásával.

    8.

    Kliens-szerver architektúra a gyakorlatban, ismerkedés a fejlesztés során gyakran használt eszközökkel, egyszerű weboldal készítése. HTTP forgalom monitorozása.

    9.

    Összetett, CSS és JavaScript technológiákat használó alkalmazás fejlesztése.

    10.

    Korszerű JavaScript könyvtárak alkalmazása weboldal fejlesztése során.

    11.

    jQuery alapú oldalak tervezése és megvalósítása.

    12.

    Dinamikus weboldal fejlesztése AJAX és REST technológiákkal.

    13.

    Mobil weboldal készítése fejlett CSS, JavaScript, illetve jQuery technológiákkal.

    14.

    Cross-platform alkalmazásfejlesztés a gyakorlatban.

     
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás, laboratórium
    10. Követelmények

    A szorgalmi időszakban:

    (1)       Laborok elvégzése, illetve a laborok előtt ellenőrzés beugró jelleggel.

    (2)       A félévközi ismeretek elsajátítása a szorgalmi időszak alatt 1 alkalommal nagy zárthelyi formájában kerül ellenőrzésre a 5-7. hét között.

    (3)       Kis zárthelyik: a félév során hat alkalommal kis zárthelyit íratunk a laboratórium alkalmakon. Ezek közül a négy legjobban sikerült kis zárthelyi pontszámnak egyenként el kell érje a szerezhető pontszám 40%-át.

    (4)       A gyakorlást a házi feladat biztosítja, amelynek beadási határideje a 13. oktatási hét vége. 

     

    Az aláírás feltételei:

                A laborok 70%-án való részvétel és azok sikeres teljesítése.

                Legalább 4 kis zárthelyi pontszáma eléri a 40%-ot.

                Megfelelő szintű zárthelyi eredmény a szorgalmi időszak végéig.

                A házi feladatot megfelelő minőségben határidőre való elkészítése. 

     

    A vizsgaidőszakban: írásbeli vizsga.

     

    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ó

                megszerezte az aláírást,

                sikeres vizsgát tett.

     

    A zárthelyi, a laborok eredménye, a kis zárthelyik és a házi feladat 20-15-10-15%-ban, a vizsga 40%-ban számít az érdemjegybe.

     

    A zárthelyin és a vizsgán az elégséges határa 40%.

     

    A jegyszámítás határai:

    85%- jeles

    70%- jó

    55%- közepes

    40%- elégséges

    11. Pótlási lehetőségek

    A zárhelyi a pótlási héten pótolható a TVSZ szerint. A házi (otthoni) feladatot a 13. 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)). Egy labor alkalom a pótlási időszakban pótolható.

    A kis zárthelyik pótlólagos megírására nincs lehetőség: a pótlást magában foglalja, hogy a hatból csak a négy legjobb kis zárthelyi eredményét vesszük figyelembe.

    12. Konzultációs lehetőségek Igény szerint az előadóval és a laborvezetővel egyeztetve
    13. Jegyzet, tankönyv, felhasználható irodalom
    Forstner Bertalan, Ekler Péter, Kelényi Imre, Bevezetés a mobilprogramozásba, SZAK Kiadó Kft., ISBN: 9789639863019
    Ekler Péter, Fehér Marcell, Forstner Bertalan, Kelényi Imre, Android-alapú szoftverfejlesztés, SZAK Kiadó Kft., ISBN: 9789639863279
    Paul Ferrill, Pro Android Python with SL4A, Apress, ISBN: 9781430235699
    Ovidiu Iliescu, Programming Pro Java ME Apps. Apress, ISBN: 9781430233275
    RetoMeier, Professional Android 2 Application Development, Wrox, ISBN: 9780470565520
    Bruce Lawson, Remy Sharp, Introducing HTML5 2nd, New Riders, ISBN: 9780321784421
    Elisabeth Robson, Eric Freeman, Head First HTML with CSS & XHTML, O’Reilly, ISBN: 9780596101978
    David Flanagan, JavaScript: The Definitive Guide, 6th Edition, O’Reilly, ISBN: 9780596805524
    Jonathan Chaffer, Karl Swedberg, Learning jQuery 3rd, O’Reilly, ISBN: 9781849516549
    Tanszéki jegyzet elérhető.

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka

    Kontakt óra

    56

    Félévközi felkészülés az előadásra

    6

    Félévközi készülés laboratóriumra

    14

    Félévközi készülés kis zárthelyire

    3

    Felkészülés a zárthelyire

    15

    Házi feladat elkészítése

    16

    Felkészülés a vizsgára

    40

    Összesen

    150

    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Ekler Péter

    docens

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

    Dr. Forstner Bertalan

    docens

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

    Gincsai Gábor

    tanársegéd

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

     
    IMSc tematika és módszer

    A programban részt evő hallgatók a laborfoglalkozások során elkülönített csoportokba kerülnek beosztásra. Ezeken a tárgy tematikáját mélyebb szintig, illetve komplexebb feladatokon keresztül sajátítják el. A mélyebb összefüggések feltárására is ezeken a csoportokon kerül sor.