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ó    

    Symbian alapú szoftverfejlesztés

    A tantárgy angol neve: Software Development on Symbian Platform

    Adatlap utolsó módosítása: 2012. május 30.

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

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Mérnök-informatikus szak
    Villamosmérnöki szak   
    Szabadon választható tantárgy
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIAUAV68   2/2/0/v 4  
    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 adjunktusAAIT



    5. A tantárgy az alábbi témakörök ismeretére épít

    C++ programozási nyelv, Operációs rendszerek

    6. Előtanulmányi rend
    Ajánlott:
    -
    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. 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 a Symbian operációs rendszerre épül – C++ nyelven –, ennek ismerete azonban nem követelmény. A tárgy ezen felül J2ME alapismereteket is nyújt. Az órák keretében a hallgatók számára lehetőség nyílik az előadás anyagának gyakorlati alkalmazására valódi mobil eszközök segítségével.

    8. A tantárgy részletes tematikája (1. hét)

     

    Symbian OS alapjai és történelme. Symbian C++ sajátosságai, kialakulása. Fejlesztési környezet, eszközök bemutatása. Symbain-ra épülő UI+middleware rendszerek (S60, UIQ, Series 80) bemutatása.

     (2. hét)

     

    Labor: ismerkedés a fejlesztői eszközökkel. Egyszerű konzolos HelloWorld készítése.

    Előadás: Kivétel és memóriakezelése Symbian C++ alatt. A TRAP/Leave rendszer tárgyalása. A CleanupStack használata. Kétfázisú konstrukció, szabályos Symbian C++ osztályok készítése. Symbain C++ osztályok típusai. Deszkriptorok és dinamikus tárolók használata. Deszkriptor típusok és műveletek. Tömb típusok és műveletek

     

    (3. hét)

     

    Labor: konzolos HelloWorld továbbfejlesztése kivételkezeléssel. Egyszerű osztályok készítése.

    Előadás: Aszinkron eseménykezelés Symbian C++ alatt: az ActiveObject keretrendszer. Az ActiveScheduler működése, aktív objektumok használata és készítése. Szálak és processzek kezelése Symbian alatt. ThinTemplate idióma, ThinTemplate osztályok készítése.

    (4. hét)

     

    Labor: eseményvezérelt alkalmazások írása. ActiveObject írása időzítő elérésére.

    Előadás: Grafika és képkezelés. Rajzolás a képernyőre (saját vezérlőelem segítségével). Képek betöltése és kirajzolása. Időzítés és animáció. Kettős bufferelés.

     

     (5. hét)

     

    Labor: Pattogó labda alkalmazás elkészítése (bitképek betöltése és kirajzolása, mozgás animáció, különböző képernyőméretek támogatása).

    Előadás: Hanglejátszás és –rögzítés. Egyszerű tónuslejátszás. Hangfájlok (MP3, WAV, AMR) lejátszása. Hangrögzítés a telefon mikrofonjával AMR fájlokba,

     

     (6. hét)

     

    Labor: Pattogó labda alkalmazás kiegészítése hangeffektusokkal.

    Előadás: User Interface programozása. Bevezetés, kontrollok. Avkon listák.

     

     (7. hét)

     

    Labor: Apróhirdetés alkalmazás: alapok és lista

    Előadás: User Interface programozása. Dialógusok, űrlapok, queryk, notification-ök.

    (8. hét)

     

    Labor: Apróhirdetés alkalmazás: Űrlap készítése

    Előadás: Filekezelés és adatbáziskezelés. Fájlszerver használata, fájl manipuláció, írás/olvasás fájlokba. Stream-ek használata, szerializáció. A Symbian OS beépített relációs adatbázis kezelőjének használata. Adatbázis séma definiálása, táblák manipulálása, SQL lekérdezések indítása.

     (9. hét)

     

    Labor: AproHir alkalmazás kiegészítése adatbázis támogatással. A hirdetések adatbázisba mentése. A program indításakor a hirdetések betöltése az adatbázisból.

     

    Előadás: Hálózati kommunikáció Symbian C++-ban. Socket architektúra bemutatása, kapcsolat nélküli (datagram) és kapcsolt (stream) socketek tárgyalása. Socket szerver Symbian alatt. Adatcsomagok küldése és fogadása UDP-n keresztül. Kapcsolatok indítása és fogadása TCP-n keresztül. Névfeloldás. Hálózati kapcsolatok (fizikai interfész elérése). Saját IP cím lekérdezése.

    (10. hét)

     

    Labor: AproHir kiegészítése hálózati kommunikációval. Hirdetések küldése és fogadása TCP socketen keresztül.

    Előadás: Bluetooth alapú kommunikáció. A Bluetooth kommunikációs technológia rövid bemutatása.  Bluetooth használatának feltételei Symbian alatt. Eszközök felderítése. Szolgáltatások felderítése. Kapcsolódás socket-en keresztül. Szolgáltatások meghírdetése. Kapcsolatok fogadása.

     (11. hét)

     

    Labor: AproHir alkalmazás kiegészítése Bluetooth kommunikációval (hírdetések küldése és fogadása Bluetooh-on keresztül).

    Előadás: Az eddigiek összefoglalása, HF Konzultációs alkalom

     (12. hét)

     

    Labor: On-device debugging bemutatása (Carbide C++ és App TRK segítségével). Carbide C++ UI Designer bemutatása (egy egyszerű felhasználói felület listával, menüvel, popup note-al összerakása).

     

    Előadás: XML feldolgozás: eseményvezérelt (SAX) és fa-alapú (DOM) feldolgozás és ezek használata Symbian C++-ban. HTTP keretrendszer bemutatása, POST és GET kérések indítása, a kérés összeállítása és a válasz feldolgozása. WebService-ek használata Symbian-on: Nokia WSDL to C++ Wizard bemutatása egy példán keresztül (kódgenerálás egy Yahoo webszolgáltatás meghívásához).

     

     (13. hét)

     

    Labor: AproHir alkalmazás kiegészítése http kommunikációval és XML feldolgozással.

    Előadás: Java ME S60-on: A Java ME platform alapjai. Java ME Symbian OS környezetben: fejlett virtuális gép. Java és Symbian C++ összehasonlítása. A Java ME alapú alkalmazásfejlesztés alapjai és eszközei.

     (14. hét)

     

    Labor: Java ME S60-on. A fejlesztőeszközök bemutatása, általános alkalmazás felépítése. UI és kommunikáció megvalósítása Java ME platformon. Összetett fórum alkalmazás megvalósítása.

    Előadás: Házi feladat előzetes bemutatás és konzultáció.

     

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

    Előadás

    10. Követelmények

    a. A szorgalmi időszakban: Házi (otthoni) feladat

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

              c. Elővizsga: Van

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

    A házi (otthoni) feladatot a szorgalmi időszak 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)).

    12. Konzultációs lehetőségek

    Igény szerint előadóval egyeztetve.

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

    1. Charaf, Csúcs, Forstner, Marossy: Symbian alapú szoftverfejlesztés. Szak Kiadó, 2004. ISBN: 9639131660

    2. Iain et al: Symbian OS Communications Programming (second edition). Symbian Press, 2007. ISBN: 0470844302

    3. Digia, Inc (editor): Programming for the Series 60 Platform and Symbian OS. Symbian Press, 2003. ISBN: 0470849487

    4. Tanszéki jegyzet

    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra56
    Félévközi készülés órákra0
    Felkészülés zárthelyire 
    Házi feladat elkészítése16
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés48
    Összesen120
    15. A tantárgy tematikáját kidolgozta
    Név:Beosztás:Tanszék, Int.:
     Dr. Forstner Bertalan egytemi adjunktus AAIT
    Ekler PéterdoktoranduszAAIT
    Kelényi ImredoktoranduszAAIT
    Bakos Balázs NOKIA
    Fodor Szabolcs NOKIA
    Egyéb megjegyzések Megjegyzés. A tantárgy a korábbi, megszűnő „Szoftverfejlesztés mobil eszközökre” c. 5 kredites tantárgy átdolgozott, szűkített változata.