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ó    

    Beágyazott rendszerek szoftvertechnológiája

    A tantárgy angol neve: Software Technology for Embedded Systems

    Adatlap utolsó módosítása: 2018. február 22.

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

    Villamosmérnöki szak, MSc képzés

    Beágyazott információs rendszerek főspecializáció

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIMIMA09 1 2/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Kovácsházy Tamás,
    A tantárgy tanszéki weboldala http://www.mit.bme.hu/oktatas/targyak/vimima09
    4. A tantárgy előadója Dr. Kovácsházy Tamás, Méréstechnika és Információs Rendszerek Tanszék
    5. A tantárgy az alábbi témakörök ismeretére épít

    Operációs rendszerek, Párhuzamos és eseményvezérelt programozás, Objektum-orientált programozás, C/C++ programozás

    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIMIM150" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIM150", "FELVETEL", AktualisFelev()) > 0)

    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ó.

    7. A tantárgy célkitűzése A tantárgy a beágyazott szoftverek fejlesztése során alkalmazandó, szoftverminőséget javító modern technológiák ismertetésével és gyakorlati bemutatásával foglalkozik. Ennek megfelelően a tárgy részletesen bemutatja a szoftverrendszerek bonyolultságának okait és következményeit, mint a szoftverfejlesztési folyamat alapproblémáit, valamint részletesen foglalkozik a szoftverminőség kérdésével, elsősorban a beágyazott rendszerekre összpontosítva. Ezek után részletesen ismerteti, és gyakorlatok során bemutatja a beágyazott rendszerekben alkalmazható szoftverfejlesztési folyamat kézbentarthatóságát és a szoftverminőséget javító modern technológiákat és azok jellemzőit, tulajdonságait.
    8. A tantárgy részletes tematikája 1. hét: A szoftverek, ezen belül is a beágyazott szoftverek bonyolultságának okai és következményei, humán aspektusok. Szoftverminőség, funkcionális és strukturális minőség megkülönböztetése.
    2. hét: A programozási paradigmák, azok fejlődése, tipikus alkalmazási környezeteik. Imperatív (procedurális) és deklaratív megközelítés.
    3. hét: Programozási szabványok, biztonságos programozás. MISRA gyakorlat.
    4. hét: Objektum-orientált programfejlesztés és modellezés, mint a hierarchikus dekompozíció egyik formája. Objektumok állapota és viselkedése. Objektumok kapcsolatai.
    5. hét: A JAVA nyelv bemutatása 1.
    6. hét: A JAVA nyelv bemutatása 2. JAVA gyakorlat.
    7. hét: Modell-alapú programfejlesztés és modellezés elmélete és gyakorlata beágyazott környezetben. Előnyök-hátrányok. Modell és kód közötti átjárhatóság biztosítása.
    8. hét: Az UML nyelv, struktúrát leíró diagramok.
    9. hét: Az UML nyelv, viselkedést leíró diagramok. Állapotdiagramok szoftver megvalósítása gyakorlat.
    10. hét: UML alkalmazása beágyazott rendszerekben. AUTOSAR architektúra alkalmazási példa.
    11. hét: Tervezési és architektúrális minták elmélete és gyakorlata. Szoftver architektúrák. A beágyazott rendszerekben használható egyes fontosabb minták tárgyalása. Android SW architektúrája példaként bemutatva.
    12. hét: Virtualizáció és annak szerepe a szoftver architektúrában. Virtualizáció és szoftver architektúra gyakorlat.
    13. hét: Kommunikációs megoldások beágyazott szoftver aspektusai, WEB technológiák (XML, JSON, BER, HTTP, SOAP, stb.), köztes rétegek (middleware) beágyazott környezetben.
    14. hét: 4GL fejlesztő környezetek és alkalmazástechnikájuk. GUI fejleszté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 házi feladat elfogadható szintű teljesítése szükséges az aláíráshoz és a vizsgára bocsájthatósághoz. A házi feladat egy objektumorientált, párhuzamos, eseményvezérelt programozási feladat JAVA vagy JAVA beágyazott környezetben (pl. mobiltelefon, Android).
    11. Pótlási lehetőségek A házi feladatok a pótlási időszakban pótolhatók. A házi feladatok zárthelyivel nem helyettesíthetőek.
    12. Konzultációs lehetőségek Igény szerint, időpont egyeztetéssel.
    13. Jegyzet, tankönyv, felhasználható irodalom [1] David E. Simon , An Embedded Software Primer, Addison-Wesley, 1999.

    [2] Bruce Powel Douglass, Real Time UML: Advances in the UML for Real-Time Systems (3rd Edition), Addison-Wesley, 2004.

    [3] Bruce Powel Douglass, Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Addison-Wesley, 2002.

    [4] Miro Samek , Practical Statecharts in C/C++: Quantum Programming for Embedded Systems, CMP Books, 2002.


    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontaktóra42
    Készülés előadásra7
    Készülés gyakorlatra
    7
    Házi feladat elkészítése32
    Vizsgafelkészülés32
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    dr. Dabóczi Tamás, egyetemi docens

    dr. Kovácsházy Tamás, egyetemi docens

    dr. Majzik István, egyetemi docens

    Scherer Balázs, mestertanár

    Egyéb megjegyzések Angol név: Software Technology for Embedded Systems