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