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ó    

    Mobilszoftverek

    A tantárgy angol neve: Mobile Software Development

    Adatlap utolsó módosítása: 2009. október 27.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök informatikus szak, MSc képzés
    Alkalmazott informatika szakirány
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUM125 1 2/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Forstner Bertalan, Automatizálási és Alkalmazott Informatikai Tanszék
    4. A tantárgy előadója
    Név: Beosztás: Tanszék, Intézet:
    Dr. Charaf Hassan egyetemi docens AAIT
    Dr. Forstner Bertalan egyetemi adjunktusAAIT

     

    5. A tantárgy az alábbi témakörök ismeretére épít Programozás alapjai, C++
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIAUMA05" , "jegy" , _ ) >= 2
    VAGY TárgyEredmény("BMEVIAUMA05", "FELVETEL", AktualisFelev()) > 0)

    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.

    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 különféle aspektusaival. Hangsúlyosan szerepel az iPhone, Java ME és az Android platformok, valamint az OpenC és Qt technológiák gyakorlati ismertetése. Főleg olyan problémákkal foglalkozunk, amelyek a mobil eszközök jellegéből fakadnak és megoldásuk erősen függ a operációs rendszer nyújtotta lehetőségektől. Az anyag alapvetően az erőforrásban korlátozott eszközökre való fejlesztéssel foglalkozik. Különböző technikákat és tervezési mintákat ismertet a mobil szoftverek fejlesztéséhez.

    A gyakorlatokon keresztül pedig különböző hely alapú- illetve közösségi mobil szolgáltatások programozását is megismerhetjük.

    8. A tantárgy részletes tematikája

    1. hét

     

    Előadás:

     

    Bevezetés, követelmények ismertetése. Mobil szoftverfejlesztés alapelveinek áttekintése.

     

    Mobil szoftverfejlesztés lépéseinek ismertetés a Java ME platform tükrében. A platformfüggetlenség elve. Felhasználói felülettervezési módszerek. Párhuzamosság, szálkezelés mobil alkalmazásokban.

     

    Gyakorlat:

     

    Űrlap alapú alkalmazás készítése Java ME platformon. Grafikus elemek rajzolása. Az LWUIT grafikus könyvtár ismertetése. Gyakori tervezési minták mobil szoftvereknél. Szálkezelés, blokkolódó műveletek. Grafikus felület és üzleti logika elkülönítése mobil szoftverek esetén.

     

    2. hét

     

    Előadás:

     

    Adattárolási elvek mobil eszközökön. Személyes adatok elérhetősége és kezelése (telefonkönyv, naptár, tennivalók listája). Fájlrendszer kezelése Java ME platformon. Beépített adatbázis használati módja. TCP/IP és HTTP kapcsolatok kezelése Java ME-ben.

     

    3. hét

     

    Előadás:

     

    Wireless Messaging API ismertetése (SMS és MMS üzenetek küldése és fogadása) Java ME platformon. Rövidtávú kommunikáció, Bluetooth alapú kommunikáció Java ME-ben. 3D megjelenítés. Általános multimédia funkciók használhatósága mobiltelefonokon.

     

    Gyakorlat:

     

    Példa alkalmazás naptár elérésére és módosítására. WebService tecnológia mobiltelefonokon. Fájl letöltése mobil telefonra. MP3 lejátszó alkalmazás fejlesztési lépései Java ME platformon. Példa alkalmazás Bluetooth kommunikációra.

     

    4. hét

     

    Előadás:

     

    Android:

     

    Platform bevezetés

     

    Activity-k és a felhasználói felület

     

    Erőforrások

     

    View(group)-ok

     

    Hardver függetlenség, i18n

     

    Alkalmazás-komponensek kommunikációja

     

    Intentek

     

    Intent filterek

     

    5. hét

     

    Gyakorlat:

     

    Információs alkalmazás készítése Android platformra.

     

    6. hét

     

    Előadás:

     

    Android:

     

    Content Provider-ek

     

    Lekérdezés, készítés

     

    Adatkötés megvalósítása

     

    Animációk

     

    Broadcast Receiver-ek

     

    Notification-ök

     

    7. hét

     

    Előadás:

     

    Android:

     

    Location-based services

     

    Provider-ek

     

    Proximity alert

     

    Geocoding

     

    MapActivity, MapView

     

    Overlay

     

    ItemizedOverlay

     

    View-k rögzítése

     

    Gyakorlat:

     

    Symbian OS bemutatása. A platform képességei, fejlesztési lehetőségek, kis történelem. Symbian C++ alapok. Erőforrás és memóriagazdaságos technikák Symbian C++-ban. Kivétel- és memóriakezelés, ClenaupStack, kétfázisú konstrukció bemutatása.

     

    8. hét:

     

    Symbian C++ gyakorlat. Kódrészletek elemzése. Aszinkron eseménykezelés és az Active Object keretrendszer bemutatása. Fejlesztőeszközök, emulátor, debuggolás bemutatása.

     

    9. hét

     

    Open C és C++, vagyis szoftverfejlesztés standard C és C++-ban Symbian OS alatt. Az Open C és a tartalmazott POSIX és middleware könyvtárak rövid bemutatása. Open C++ és tartalmazott könyvtárak (Boost, iostream, STL)  rövid bemutatása. RGA (Real Time Graphics and Audio) keretrendszer bemutatása. RGA központi szemlélete, példák.

     

    10. hét

     

    Qt S60-on. Qt keretrendszer bemutatása. Történelem, főbb irányelvek tárgyalása. Tervezési minták a Qt-ban. Meta Object Compilet, Signals and Slots, QObject, properties témák ismertetése példákkal illusztrálva. Qt és a platformfüggetlen felhazsnálói felület. Qt S60 (Symbian) specifikus funckióinak rövid ismertetése.

     

    11. hét

     

    Gyarkolat: Open C/C++ és Qt gyakorlat. Fejlesztőeszközök bemutatása. Példakódok tárgyalása. Egyszerű példaalkalmazás készítése Qt-ban S60-ra.

     

    Előadás:

     

    Az iPhone bemutatása

                iPhone

                Üzleti modell

                Történet

                Mi jön majd a 3.0-ban?

    Lehetőségek és korlátok

                A fejlesztő lehetőségei (Web, Hibrid, Natív)

    Natív alkalmazások

                Architektúra

                Objective-C

                Fejlesztőeszközök

    Hello World

    12. hét

    iPhone:

    NSObject

    Alkalmazások felépítése, életciklusa

    Alkalmazások típusai

    View-k és ViewController-ek

    Demo alkalmazás első fele

    13. hét

    iPhone:

     

    Demo alkalmazás második fele

    Érintések eseménykezelése

    Grafika és animáció

                Quartz 2D

                Core Animation

    Gyarkolat:

    Hangkezelés

                Core Audio

                Audio Session Services

                System Sound Services

                Audio Queue Services

    Videolejátszás

    Betekintés a szálkezelésbe (NSRunLoop)

    Hálózati kommunikáció

                CFNetwork, CFSocket, CFStream, CFFTP, CFHTTP

                Bonjour

                NSURL, NSURLConnection

    14. hét

    iPhone:

    Szálkezelés

                NSThread, NSOperation

                szinkronizálás a szálak között (NSLock, NSCondition ...)

    Notification-ök

    Biztonság

                KeyChain

                Certificate, Key, and Trust Services

    Hardware hozzáférés

                Pozícionálás

                Gyorsulásmérő

                Kamera

    Teljesítményelemzés, hibakeresés Instruments-el

                Demo

    Összefoglalás

     

    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Előadás és gyakorlat
    10. Követelmények a.              A szorgalmi időszakban: egy zárthelyi

    b.             A vizsgaidőszakban:       írásbeli vizsga

    c.              Elővizsga:                       igény szerint

     

    Az aláírás megszerzésének feltétele a zárthelyi elfogadható (legalább elégséges szintű) megoldása. A vizsgára bocsátás feltétele az aláírás megléte.

    11. Pótlási lehetőségek A zárthelyihez a TVSZ előírásai szerint mind a szorgalmi, mind a pótlási időszakban 1-1 pótlási lehetőséget biztosítunk.
    12. Konzultációs lehetőségek Az előadókkal egyeztetve lehetséges
    13. Jegyzet, tankönyv, felhasználható irodalom Forstner Bertalan et al: Bevezetés a mobilprogramozásba. SZAK, 2008

     

    Csúcs G, Forstner B, Marossy Kálmán: Symbian alapú szoftverfejlesztés. SZAK, 2005

     

    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

     

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra42
    Félévközi készülés órákra16
    Felkészülés zárthelyire14
    Házi feladat elkészítése0
    Vizsgafelkészülés48
    Összesen120
    15. A tantárgy tematikáját kidolgozta

     

    Név: Beosztás: Tanszék, Intézet:
    Dr. Charaf Hassan egyetemi docens AAIT
    Dr. Forstner Bertalan egyetemi adjunktusAAIT
    Kelényi Imredoktorandusz
    AAIT
    Ekler Péter
    doktoranduszAAIT