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