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ó    

    Szoftver- és rendszerellenőrzés

    A tantárgy angol neve: Software and Systems Verification

    Adatlap utolsó módosítása: 2017. május 24.

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

    Mérnökinformatikus szak

    MSc képzés 

    Kritikus rendszerek főspecializáció 

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIMIMA01 2 2/1/0/v 4  
    3. A tantárgyfelelős személy és tanszék Dr. Micskei Zoltán Imre, Méréstechnika és Információs Rendszerek Tanszék
    A tantárgy tanszéki weboldala http://inf.mit.bme.hu
    4. A tantárgy előadója

    Dr. Majzik István, egyetemi docens, MIT

    Dr. Micskei Zoltán Imre, egyetemi docens, MIT 

    5. A tantárgy az alábbi témakörök ismeretére épít Alapvető programozási (Java, C és C#) és UML modellezési ismeretek
    6. Előtanulmányi rend
    Kötelező:
    NEM ( TárgyEredmény( "BMEVIMIM148" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIM148", "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 tantárgy célkitűzése, hogy megismertesse a hallgatókat a teljes szoftver- és rendszerfejlesztési életciklus során alkalmazható különböző ellenőrzési technikákkal. Ilyen ellenőrzési technikákra manapság már nem csak a kritikus rendszerek esetén van szükség (ahol ezek alkalmazását legtöbbször szabvány írja elő), hanem minden alkalmazás esetén elvárás, hogy jó minőségű rendszert fejlesszünk.

    A tantárgy teljesítése után a hallgatók átlátják a teljes ellenőrzési folyamatot, és ismerik, hogy az egyes fejlesztési fázisokban mely technikák alkalmazása javasolt. Ismerik a különböző statikus ellenőrzési technikákat, és képesek terveket és specifikációkat ellenőrizni, valamint statikus ellenőrző eszközöket használni forráskódok átvizsgálására. Megismerik a szoftvertesztelés szintjeit és módszereit, és képesek alkalmazni a specifikáció és struktúra alapú teszttervezési technikákat. Ismerik az extrafunkcionális jellemzők ellenőrzésére használható módszereket (pl. megbízhatóság modellezése és vizsgálata). Ismerik a futásidőbeli verifikáció alkalmazási lehetőségeit.

    8. A tantárgy részletes tematikája
    Az előadások tematikája 
     
    Áttekintés 
    1. Kritikus rendszerek elvárásai, szolgáltatásbiztonság jellemzői
    2. Ellenőrzési módszerek helye a fejlesztési folyamatban
     
    Statikus ellenőrzési technikák
    3. Követelmények ellenőrzése (ellenőrzési szempontok, teljesség és ellentmondás-mentesség, követelménykezelő eszközök)
    4. Tervek ellenőrzése (részletes tervek ellenőrzése átvizsgálással, modell alapú verifikáció)
    5. Forráskód ellenőrzése (ajánlások és előírások, vezérlési struktúra és adatfolyam ellenőrzése, ellenőrzési eszközök)
     
    Tesztelés 
    6. Tesztelési szintek és módszerek (tesztelési megközelítések és célok, tesztek a fejlesztési folyamat egyes fázisaiban)
    7. Specifikáció és struktúra alapú teszttervezés (fekete és fehér doboz technikák, összetettebb lefedettségi kritériumok)
    8. Tesztautomatizálás (build folyamatok, folytonos integráció, regressziós tesztelés)
    9. Modell és kód alapú tesztgenerálás (tesztgenerálási algoritmusok, modell ellenőrzők és kényszermegoldók használata, dinamikus szimbolikus végrehajtás)
     
    Szolgáltatásbiztonság vizsgálata 
    10. Extrafunkcionális követelmények ellenőrzése (extrafunkcionális követelmények fajtái, terhelés és robusztusságtesztelés, hibainjektálás)
    11. Kvalitatív és kvantitatív analízis (a biztonsági analízis módszerei: hibafa, eseményfa, ok-következmény analízis, hibamód és -hatás analízis)
    12. Megbízhatóság modellezése (modell alapú megbízhatósági analízis)
    13. Futásidőbeli verifikáció (követelmény alapú monitorozás és monitor szintézis)
     
    14. Esettanulmány / Vendégelőadás
     
    A gyakorlatok tematikája
     
    1. Incidenskezelő eszközök használata. HF tájékoztató
    2. Követelmények ellenőrzése. Követelménykezelő eszköz kipróbálása
    3. Részletes tervek verifikálása.  Statikus ellenőrző eszköz használata
    4. Modultesztelés eszközeinek használata (automatikus tesztfuttatás, izoláció)
    5. Teszttervezési technikák használata egyszerűbb mintapéldákon
    6. Automatikus tesztgeneráló eszköz használata
    7. Biztonsági analízis módszereinek gyakorlása
    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 szorgalmi időszakban:

    • A félévvégi aláírás feltétele a tárgy anyagához kapcsolódó több fázisból álló csoportos otthoni feladat megfelelő színvonalú elkészítése.
    • Az otthoni feladat minden fázisát teljesíteni kell, az adott fázisra kapható pontok legalább 40%-át el kell érni.

    A vizsgaidőszakban:

    • A hallgatók a tárgyból az aktuális kurzus létszámától függően írásbeli vagy szóbeli vizsgát tesznek.
    • A félévközi otthoni feladat értékelése 40%-os súllyal számít bele a vizsgajegybe.

    Elővizsga: Nincs.

    11. Pótlási lehetőségek
    • Az otthoni feladat nem adható le késedelmesen. [TVSZ 122. § (2)]
    • Az otthoni feladat jellege nem teszi lehetővé az otthoni feladat javítását. [TVSZ 122. § (3)]
    12. Konzultációs lehetőségek Igény szerint az előadókkal egyeztetve.
    13. Jegyzet, tankönyv, felhasználható irodalom

    G. G. Schulmeyer, G. R. MacKenzie. Verification and Validation of Modern Software-Intensive Systems. Prentice Hall, 2000.

    N. G. Leveson: Safeware: System Safety and Computers. Addison Wesley, 1995 

    G. J. Myers, C. Sandler. The Art of Software Testing. John Wiley & Sons, 2004.

    M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, A. Pretschner. Model-Based Testing of Reactive Systems: Advanced Lectures (Lecture Notes in Computer Science). Springer-Verlag, 2005.

    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ákra8
    Felkészülés zárthelyire-
    Házi feladat elkészítése40
    Kijelölt írásos tananyag elsajátítása 
    Vizsgafelkészülés30
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Dr. Majzik István, egyetemi docens, MIT

    Dr. Micskei Zoltán Imre, egyetmi docens, MIT