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: 2022. június 8.

    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,
    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
    VAGY
    TárgyEredmény( "BMEVIMIMA29", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIMIMA29", "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 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 20 fő alatti kurzus létszám esetén szóbeli, egyéb esetben írásbeli vizsgát tesznek.
    • Az írásbeli vizsga két részből áll. Az elégséges vizsgához mindkét rész külön-külön min. 40%-os teljesítése szükséges.
    • A félévközi otthoni feladat értékelése 50%-os súllyal számít bele a vizsgajegybe.

    Elővizsga: Nincs.

    11. Pótlási lehetőségek
    • Az otthoni feladat jellege nem teszi lehetővé a sikeres otthoni feladat ismétlését. [TVSZ 122. § (3)].
    • Az otthoni feladat minden fázisa beadható késedelmesen az eredeti határidő utáni legfeljebb egy hétben. Egy adott fázis késedelmes leadása miatt az adott fázisra kapható pontok 20%-nak megfelelő levonás jár az adott fázisra.
    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óra
    42
    Készülés előadásra
    7
    Készülés gyakorlatra
    7
    Házi feladat
    32
    Vizsgafelkészülés
    32
    Összesen120
    15. A tantárgy tematikáját kidolgozta

    Dr. Majzik István, egyetemi docens, MIT

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