A szoftverellenőrzés szerepe Alapfogalmak

Hasonló dokumentumok
A szoftverellenőrzés szerepe

A fejlesztési szabványok szerepe a szoftverellenőrzésben

Biztonságkritikus rendszerek

Autóipari beágyazott rendszerek. Kockázatelemzés

Verifikáció és validáció Általános bevezető

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

Szoftver értékelés és karbantartás

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

A BIZTONSÁGINTEGRITÁS ÉS A BIZTONSÁGORIENTÁLT ALKALMAZÁSI FELTÉTELEK TELJESÍTÉSE A VASÚTI BIZTOSÍTÓBERENDEZÉSEK TERVEZÉSE ÉS LÉTREHOZÁSA SORÁN

Szoftver karbantartás

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZÖK FEJLESZTÉSE - PEMS V&V

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Biztosítóberendezések biztonságának értékelése

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS V&V. Nagy Katinka

MIÉRT KELL TESZTELNI?

Fejlesztés kockázati alapokon 2.

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Szoftvertechnológia ellenőrző kérdések 2005

Közlekedési automatika Biztonságintegritás, életciklus modellek

Információs rendszerek Információsrendszer-fejlesztés

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Részletes szoftver tervek ellenőrzése

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Szoftverminőségbiztosítás

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

Nagy bonyolultságú rendszerek fejlesztőeszközei

Verziókövető rendszerek használata a szoftverfejlesztésben

Járműinformatika A járműinformatikai fejlesztés

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

A formális módszerek szerepe

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Szoftverminőségbiztosítás

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Szoftverminőségbiztosítás

A szolgáltatásbiztonság alapfogalmai

Szoftver újrafelhasználás

A szolgáltatásbiztonság alapfogalmai

Programfejlesztési Modellek

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

A TANTÁRGY ADATLAPJA

Részletes tervek ellenőrzése

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Teszt terv Új funkció implementációja meglévı alkalmazásba

Modell alapú tesztelés: célok és lehetőségek

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Modellezési alapismeretek

Modellezési alapismeretek

Név: Neptun kód: Pontszám:

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

A szoftver tesztelés alapjai

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

biztonságkritikus rendszerek

Formális módszerek GM_IN003_1 Bevezetés

Hibatűrés. Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

A fejlesztéshez használható eszközök

Specifikáció alapú teszttervezési módszerek

Bokor Péter. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

01. gyakorlat - Projektalapítás

Specifikáció alapú teszttervezési módszerek

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

Autóipari beágyazott rendszerek Dr. Balogh, András

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

Szoftverminőségbiztosítás

Orvosi eszközök gyártmányfejlesztése PEMS beágyazott szoftverének fejlesztése. Dolgos Márton Budapest,

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

Biztonsági folyamatirányító. rendszerek szoftvere

Intervenciós röntgen berendezés teljesítményszabályozójának automatizált tesztelése

Bevezetés a programozásba

Szoftverellenőrzési technikák

Programrendszerek tanúsítása szoftverminőség mérése

Gyakorlat és házi feladat tájékoztató

Laborinformációs menedzsment rendszerek. validálása. Molnár Piroska Rikker Tamás (Dr. Vékes Erika NAH)

30 MB INFORMATIKAI PROJEKTELLENŐR

(Teszt)automatizálás. Bevezető

DW 9. előadás DW tervezése, DW-projekt

Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Tesztelési szintek Tesztautomatizálás

Szoftver karbantartási lépések ellenőrzése

Szoftver architektúra tervek ellenőrzése

Projectvezetők képességei

II. rész: a rendszer felülvizsgálati stratégia kidolgozását támogató funkciói. Tóth László, Lenkeyné Biró Gyöngyvér, Kuczogi László

A formális módszerek szerepe

Tisztelettel köszöntöm a RITEK Zrt. Regionális Információtechnológiai Központ bemutatóján.

Forráskód minőségbiztosítás

Agilis projektmenedzsment

MŰSZAKI TESZTTERVEZÉSI TECHNIKÁK A TESZT FEJLESZTÉSI FOLYAMATA A TESZTTERVEZÉSI TECHNIKÁK KATEGÓRIÁI

SZTE Nyílt Forrású Szoftverfejlesztő és Minősítő Kompetencia Központ

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Architektúra tervezési példák: Architektúrák biztonságkritikus rendszerekben

Vasúti biztosítóberendezések megfelelőségének tanúsítása. Tarnai Géza CERTUNIV Vasúti Tanúsító és Műszaki Szakértő Kft. Bükfürdő,

Átírás:

A szoftverellenőrzés szerepe Alapfogalmak Majzik István majzik@mit.bme.hu http://www.inf.mit.bme.hu/ 1 Motiváció Tartalomjegyzék Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 2

Elvárások: Szoftverek és rendszerek hibamentessége Szolgáltatási szint szerződések (SLA) Telekom: Öt kilences : 99,999% (5 perc/év kiesés) Biztonságkritikus rendszerek: Szabvány előírások a hibák gyakoriságára Biztonságintegritási szintek (SIL) szerint SIL Biztonságkritikus funkció hibája / óra Ha 15 év az élettartam, akkor ez alatt kb. 750 berendezésből 1-ben lesz hiba 1 2 3 4 10-6 THR < 10-5 10-7 THR < 10-6 10-8 THR < 10-7 10-9 THR < 10-8 Hiba nélküli működés ~ 11.000 év? 3 Hibák az alkalmazás életciklusban Fejlesztési folyamat Működő termék Specifikációs hibák Tervezési hibák Implementációs hibák Verifikáció és és validáció a során Hardver hibák Konfigurációs hibák Kezelői hibák Hibatűrés működés közben (ld. korábban) 4

Kliens-szerver rendszerek meghibásodása Az IEEE Computer felmérése kliens-szerver rendszerekben: Hardver hiba: 10% Szoftver hiba: 40% (szerver 30%, kliens 5%, hálózati 5%) Emberi hiba: 15% Környezeti hatás: 5% Tervezett leállás: 30% Egy másik elemzés: 5 Szoftverek minőségi problémái Jelentések több szektorból (Forrester): Defibtech issues a worldwide recall of two of its defibrillator products due to faulty self-test software that may clear a previously detected low battery condition. The issue affects approximately 42,000 units worldwide. (February 2007) Cricket Communications recalls about 285,000 of its cell phones due to a software glitch that causes audio problems when a caller connects to an emergency 911 call. (May 2008) Toyota recalls 160,000 cars with hybrid engines due to a failure of its engine control software. (October 2005) Nissan recalls 16,365 Murano and Infiniti EX 35 vehicles in February 2008 due to a software problem causing airbag failure. In May 2008, Chrysler recalls about 25,000 Jeep Commanders to repair transmission control software that allows the engine to stall at high speeds and about 50,600 vehicles in February 2007 to reprogram antilock brake software. 6

Nemzetközi statisztikák szoftver projektekre Tipikus kódméret: 10 kloc 1000 kloc Fejlesztési idő: 0,1-0,5 mérnökév / kloc (nagyméretű szoftver) 5-10 mérnökév / kloc (kritikus szoftver) Hiba eltávolítás (ellenőrzés, tesztelés, javítás): 45-75%ráfordítás Hibasűrűség változása: 10-200 hiba / kloc jön létre a fejlesztés során Ellenőrzési technikák 0,1-10 hiba / kloc maradhat az üzembe helyezésig 7 Milyen szoftver hibagyakoriság a tipikus? Forrás: K-R. Hase, Deutsche Bahn AG: Open Proof in Railway Safety Software, FORMS/FORMAT Conference, December 2-3, 2010, Braunschweig, Germany 8

Egy magyarországi felmérés Hibák száma 1 kloc-ra: Jó kézi fejlesztés és tesztelés: <10 hiba marad Automatizált fejlesztés: ~1-2 hiba marad Formális módszerek használata: <1 hiba marad Hibák száma (hiba/ezer kódsor) 15 10 5 0 11 6 2.5 0.25 Hagyományos Traditional UML UML alapú MDA MDA Formális +f ormal Implementáció Implementation Tervezés Design Követelmények Requirements Implementation Implementáció 4,2 2,55 0 0 Tervezés Design 4,4 2,2 1,6 0,1 Követelmény Requirements 2,2 1,3 1 0,1 9 Költségvonzat Korai verifikáció csökkenti a költségeket Validációs tesztelésnél korábban detektálni kellene a hibákat 10

V&V: Verifikáció és validáció Verifikáció (igazolás) Jól tervezem-e a rendszert? Összhang ellenőrzése a fejlesztési fázisokban, illetve ezek között Fejlesztési lépések során használt tervek (modellek) és specifikációjuk közötti megfelelés ellenőrzése Objektív folyamat; formalizálható, automatizálható Hibamodell: Tervezési, s hibák Nincs rá szükség, ha automatikus a leképzés követelmény és között Validáció (érvényesítés) Jó rendszert készítettem-e? A fejlesztés eredményének ellenőrzése A kész rendszer és a felhasználói elvárások közötti megfelelés ellenőrzése Szubjektív elvárások lehetnek; elfogadhatósági ellenőrzés Hibamodell: Követelmények hiányosságai is Nincs rá szükség, ha a specifikáció tökéletes (elég egyszerű) 11 Motiváció Tartalomjegyzék Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 14

Fejlesztési folyamatok tipikus lépései Követelmény elemzés System engineer Ütemezés, sorrendezés az életciklus modelltől függ! átadás Architect Developer, coder Test engineer 15 Követelmény elemzés Követelmény elemzés Feladat V&V szempont V&V technika Funkciók, aktorok, használati esetek áttekintése -Kockázatok -Kritikusság -Ellenőrző listák - FMEA, FT, ET, átadás 16

Követelmény elemzés Valóság Modellezés -strukturálás - absztrakció Analízis Fogalmi tér Tervezés - dekompozíció Implementáció Implementációs tér átadás Feladat Funkcionális és nem-funkcionális követelmények rögzítése V&V szempont V&V technika - Statikus analízis (kézi vagy automatikus átvizsgálás) -Szimuláció 17 Követelmény elemzés Egy beléptető rendszer specifikációja (Event-B): személyek: prs 0 (halmaz) épületek: bld 0 (halmaz) jogosultság: aut prs bld (bináris reláció) tartózkodás: sit prs bld (teljes fv.) invariáns: sit aut Egy funkció (lehetséges történés): pass = ANY p,b WHERE (p,b) aut sit(p) b THEN sit(p):=b END átadás Feladat Funkcionális és nem-funkcionális követelmények rögzítése V&V szempont -Teljesség -Ellentmondásmentesség -Ellenőrizhetőség - Megvalósíthatóság -Teljesség -Ellentmondásmentesség -Ellenőrizhetőség - Megvalósíthatóság V&V technika - Statikus analízis (kézi vagy automatikus átvizsgálás) -Szimuláció 18

Követelmény elemzés Felülvizsgálat: 1. Ellenőrző lista összeállítása 2. Bemutató készítés a fejlesztő által 3. Kérdések összeállítása a szakértők részéről, fejlesztő válaszol 4. Megbeszélés, majd jelentés készítés Egyenrangú átvizsgálás (peer review) típusok: Körbenforgó (round-robin) modulonként más-más vezetővel Bejárás (walkthrough): fejlesztő vezeti az ellenőrzőket Szemle (inspection): ellenőrző lista alapján átadás Feladat Funkcionális és nem-funkcionális követelmények rögzítése V&V szempont -Teljesség -Ellentmondásmentesség -Ellenőrizhetőség - Megvalósíthatóság V&V technika - Statikus analízis (kézi vagy automatikus átvizsgálás) -Szimuláció 19 Követelmény elemzés absztrakció Fogalmi tér Fogalmi tér szerkezetének kialakítása és leképezés Implementációs tér Analízis (fogalmi tér szerkezet) Leképezés (automatikus) formalizáltság Feladat V&V szempont V&V technika átadás -Specifikációmodul szintű bontása -Hardver-szoftver együttes - Kommunikáció - Funkciók fedése -Interfész illeszkedés - Kockázat elemzés -Ütemezés - Statikus analízis -Szimuláció - Teljesítmény, megbízhatóság, biztonság analízise 20

(részletes ) Követelmény elemzés modellje Követelmény megadása Formális verifikáció OK Automatikus modell ellenőrző i n Ellenpélda Feladat V&V szempont V&V technika átadás Részletes belső működés e (algoritmusok, adatstruktúrák) - Kritikus belső algoritmusok, protokollok helyessége - Statikus analízis -Szimuláció - Formális verifikáció - Gyors prototípus 21 Követelmény elemzés Feladat Szoftver V&V szempont -Biztonságos -Ellenőrizhető - Karbantartható kód V&V technika - Kódolási előírások (szabványok) ellenőrzése: kód átvizsgálás működés igazolása - terveknek való megfelelés - Statikus analízis - Tesztelés - Regressziós tesztelés átadás 22

Követelmény elemzés Feladat ok illesztése, hardver-szoftver összeállítás V&V szempont -Együttes működés megfelelősége V&V technika - Integrációs tesztelés (tipikusan inkrementális) átadás 23 átadás Követelmény elemzés Feladat V&V szempont V&V technika Specifikáció teljesítésének bemutatása Elvárások teljesítése -specifikációnak való megfelelés - Követelményeknek és elvárásoknak való megfelelés - tesztelés - Mérések, monitorozás - Validációs tesztelés - Próbaüzem alatti ellenőrzés átadás 24

Üzemeltetés és Követelmény elemzés Teendők az üzemeltetés és során: - Hibanaplózás és hibaanalízis (hiba előrejelzés) - Módosítások verifikációja és validációja átadás Módosításokra egy-egy mini életciklus lefuttatása 25 Motiváció Tartalomjegyzék Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 26

Szoftverfejlesztési (életciklus) modellek Miért van szükség életciklus modellre? Komplexitás kezelése Fázisokra osztás, mérföldkövek rögzítése Elosztott fejlesztés és integráció alapja Változások kezelése Követelmény módosulás, hibajavítás hatásainak kezelése Új eszközök és technológiák bevezetése Generikus szoftverfejlesztési folyamat modellek: Szekvenciálisfejlesztés: Vízesés és V-modell Evolúciósfejlesztés: Gyors alkalmazásfejlesztés Iteratívfejlesztés: Spirál modell Modell alapú (formális) fejlesztés: 4G fejlesztési modell Iteratív-inkrementális fejlesztés: Unified Process 27 1. Vízesés modell Követelmények elemzése Verifikáció: A továbblépés feltétele Validáció: Az üzemeltetés feltétele tesztelés 28

1. Vízesés modell Követelmények elemzése Verifikáció: A továbblépés feltétele Validáció: Az üzemeltetés feltétele Módosított vízesés modell: Módosítások hatásának ellenőrzése (pl. regressziós tesztelés) tesztelés 29 2. V-modell Követelmények elemzése validáció verifikáció Vízesés modell alapú verifikáció 30

2. V-modell Követelmények elemzése Rsz. validáció validáció teszt verifikáció Vízesés modell alapú Információáramlás a től az ellenőrzéshez Meghatározott V&V Integrációs teszt teszt verifikáció 31 Modell alapú fejlesztés: V-től az Y modellig Életciklus Költség megtakarítás Kézi kódolás Közönséges automatikus kódgenerátor használata 0% -20% Minősített automatikus kódgenerátor használata -50% Formális verifikációval kiegészített -60% becsült 40 50 100% költség 32

3. Evolúciós alkalmazásfejlesztés (RAD) Kezdeti gyors fejlesztése, majd több verzión keresztül finomítás Feltáró fejlesztés: Felhasználóval egyeztetve Ismert követelmények alapján kiindulva az első verzió Gyors prototípus készítése (kritikus funkciókra) Validációs fázisig, prototípus bemutatás, átdolgozás Hiányosan specifikált rendszerek esetén is alkalmas V&V jellegzetességek: Prototípus tesztelés jelentősége nagy Integrációs ellenőrzések (tesztek) szerepe nő Újabb funkciók tesztelése Regressziós tesztelésmódosítások után 34 4. Spirál modell Célok, alternatívák, korlátozások meghatározása Budget 4 A következő fázis e Alternatives 4 Budget 3 Integration and test plan Alternatives 3 Constraints 4 Alternatives 2 Constraints 3 Constraints 2 Constraints Alternatives 1 Budget 2 Budget 1 start Requirements, life-cycle plan Development plan Implementation plan 1 Risk analysis 3 Risk analysis 2 Risk analysis 1 Risk analysis 4 Prototype 1 Concept of operation Validated requirements Acceptance test Proto - Proto - Proto - type 2 type 3 type 4 Software requirements Validated, verified design System test Software design Unit test Alternatívák és kockázatok analízise Code Detailed design Fejlesztés és verifikáció (ciklikusan) 35

5. Negyedik generációs modell Integrálás: Jól megfogható követelmények: Hagyományos fejlesztés Rosszul specifikált követelmények: Gyors prototípus fejlesztés Formalizálható követelmények: Modell alapú fejlesztés (CASE eszközök), helyességmegőrző Iteratív is lehet Modell alapú verifikáció 36 6. Unified Process Inkrementális és iteratív Fázisok(időben kötött) iterációkra osztva Mindegyik iteráció egy teljes (mini) fejlesztési ciklus Az ellenőrzés fókusza az egyes fázisokban eltérő Integrációs és regressziós tesztelés jelentős szerepet kap 37

Agilis szoftverfejlesztés Extreme Programming Rövid iterációk, működő kódra koncentrálva, rendszeres (napi) integrációval és szoros státusz követéssel (fejlesztők, megrendelők) Test first programming : Funkcionális tesztek story card alapon Minden változás (új funkció) esetén tesztelés Test Driven Development Inkrementális, lépések egy-egy új funkcióhoz: 1. Teszt írása az új funkcióhoz (futtatása sikertelen) 2. Kódolás (a teszt sikeres futtatásához) 3. Kód átdolgozása, tisztítása (refactoring) újrateszteléssel Automatikus unit tesztelésre épít 38 Motiváció Tartalomjegyzék Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 39

Jellegzetes példa: Biztonságkritikus rendszerek Széles körben használt szabványok IEC 61508: Functional safety in electrical / electronic / programmable electronic safety-related systems EN 50128: Vasúti irányítástechnika szoftverek ISO 26262: Biztonsági funkciók gépjárművekben DO 178B: Repülőgép fedélzeti rendszerek Biztonsági funkciók Célja a biztonságos állapot elérése vagy fenntartása Integritás: Milyen gyakorisággal viselhető el adott szintű hatások mellett a biztonsági funkció hibajelensége? Biztonságintegritási szint Meghatározása: Kockázatelemzés alapján Elviselhető veszélygyakoriság THR Folytonos: Veszélyt okozó hibajelenség gyakorisága Nem folytonos: Veszélyt okozó hibajelenség valószínűsége Safety Integrity Level: SIL 1, 2, 3, 4 kategóriák 40 SIL meghatározás alapelve A VIZSGÁLT FUNKCIÓ Veszély gyakoriság növekedés Veszélyes esemény gyakorisága Szoftver SIL legalább azonos értékű a rendszer SIL értékével, kivéve ha biztonságintegritási szint 4 Szoftver biztonságintegritási szint 4 Kockázat THR SIL 3 3 Veszélyes esemény következménye 2 1 0 2 1 0 Következmények súlyosságának növekedése Kockázatelemzés -> Funkció THR -> Funkció SIL -> (Al)rendszer SIL SIL SIL 1 1 2 2 3 3 4 4 Biztonságkritikus Biztonságkritikus funkció funkció hibája hibája / / óra óra 10 10-6 -6 THR THR < < 10 10-5 -5 10 10-7 -7 THR THR < < 10 10-6 -6 Ha 15 év az élettartam, 10 10-8 -8 THR THR < < 10 10-7 -7 akkor ez alatt 10 10-9 -9 THR THR < < 10 10-8 -8 kb. 750 berendezésből 1-ben lesz hiba 41

A SIL követelmények betartása Véletlen meghibásodásokra: A SIL tartományok betartása számításokkal ellenőrizhető Kvantitatív analízis, megbízhatósági modellezés Szisztematikus meghibásodásokra (pl. szoftver): Számításokkal nem ellenőrizhető valószínűség Módszer- és eszközkészlet adható az elkerülésre és kezelésre Komplex megoldás-csomag az egyes SIL szintekhez 1. Fejlesztési folyamat (életciklus modell) 2. Előírt technikák és intézkedések (megoldás-csomag) 3. Előírt dokumentáció 4. Szervezeti rend (felelősségek) 42 Jellegzetességek: 1. A fejlesztési folyamat Biztonságigazolás: Biztonsági ügy elkészítése (safety case) Értékelés majd tanúsítás (certification) Hatósági felügyelet Általában jól definiált fázisokat tartalmaz Jól meghatározott specifikáció, ismert környezet Definiált fejlesztési lépések (pl. V-modell) Szigorú feltételekhez kötött előrelépés: Hangsúlyos a fejlesztési lépések ellenőrzése Hibák kockázata nagy (felelősség) Üzembehelyezés utáni javítás költsége nagy 43

V-modell: Jól meghatározott ellenőrzések Követelmények elemzése Rsz. validáció validáció teszt verifikáció Integrációs teszt teszt verifikáció 44 Példa: Repülőgép fedélzeti szoftverek fejlesztése 45

2. Módszerek és intézkedések megadása Tesztelés MÓDSZER / INTÉZKEDÉS Említés helye SW- SIL0 SW- SIL1 SW- SIL2 SW- SIL3 1. Valószínűségi tesztelés B47 - R R HR HR 2. Teljesítéstesztelés D6 - HR HR M M 3. Funkcionális és fekete doboz tesztelés SW- SIL4 D3 HR HR HR M M 4. Modellezés D5 - R R R R Követelmény: 1. Az 1, 2, 3 és 4 szoftver-biztonságintegritási szintek esetén a 2. és 3. módszer kombinációja jóváhagyottnak tekintendő. Előírások: M HR R Kötelező Nyomatékosan ajánlott (elhagyása indoklást igényel) Ajánlott (kombinációból kihagyható) Nincs javaslat vagy ellenérv NR Ellenjavallt (használata indoklást igényel) Módszerkombinációk választhatók 46 Módszerek és intézkedések megadása (EN 50128) Software design and implementation: Functional/black box testing (D3): 47

Módszerek és intézkedések megadása (EN 50128) Performance testing (D6): 48 V&V módszerek (IEC 61508) 49

V&V módszerek (IEC 61508) Funkcionális tesztelés 50 V&V módszerek (IEC61508) Statikus analízis 51

3. A dokumentáció követelményei Dokumentáció típusa Átfogó Pl. fejlesztési terv, verifikációs terv Életciklus fázishoz kötődő Pl. modul teszt jelentés, modul verifiációs jelentés Dokumentum keresztreferencia táblázat Melyik életciklus fázishoz milyen dokumentáció Melyik dokumentum melyik másikra épül Dokumentumok követhetősége szükséges Ugyanazon terminológia, rövidítések, elnevezések Dokumentumok összevonhatók Eredmény nem veszhet el Független szereplők dokumentumai nem vonhatók össze 52 cím S R S S A S D D S V e r S / H S V al A s s Q M A FÁZISOK DOKUMENTUMOK Dokumentum keresztreferencia táblázat (*) = más fázisokkal párhuzamosan SW KÖVETELMÉNYEK Sw Követelményspecifikáció Alkalmazási Követelmények Specifikációja Sw Követelmény Teszt Specifikáció Sw Követelmények Verifikációs Jelentése SW KONSTRUKCIÓ KIALAKÍTÁS Sw Specifikáció Sw Konstrukció specifikáció Sw és Konstrukció Verifikációs Jelentés SW MODUL KONSTRUKCIÓ KIALAKÍTÁS Sw Konstrukció Specifikáció Sw Teszt Specifikáció Sw Verifikációs Jelentés KÓDOLÁS Sw Forráskód Sw Forráskód Verifikációs Jelentés MODUL TESZTELÉS Sw Teszt Jelentés SW INTERGRÁCIÓ Sw Integráció Teszt Jelentés Adatteszt Jelentés SW/HW INTEGRÁCIÓ Sw/Hw Integráció Teszt Jelentés VALIDÁCIÓ (*) Sw Validációs Jelentés 53

Dokumentáció (példa) fejlesztési fázis követelmény-specifikáció biztonsági követelményspecifikáció architektúra-leírás biztonsági terv Szoftver i fázis Szoftver i jegyzőkönyvek Szoftver változtatási jelentések Szoftverértékelési fázis Szoftverértékelési jelentés Szoftveri fázis Szoftverfejlesztési terv Szoftver-minőségbiztosítási terv Szoftverkonfig. menedzselési terv Szoftverigazolási terv Szoftverintegrációs tesztterv Szoftver/hardver-integrációs tesztterv Szoftverérvényesítési terv Szoftver-i terv Szoftverkövetelmény-specifikációs fázis Szoftverkövetelmény-specifikáció Szoftverkövetelmény-tesztspecifikáció Szoftverkövetelmény-igazolójelentés Szoftver architektúra és kialakítási fázis Szoftverarchitektúra-specifikáció Szoftverkialakítási specifikáció Szoftverarchitektúra és kialakítási igazolójelentés Szoftverérvényesítési fázis Szoftverérvényesítési jelentés Szoftver/hardver-integráció fázisa Szoftver/Hardver-integrációs tesztjelentés Szoftverintegráció fázisa Szoftverintegrációs tesztjelentés Szoftvermodul kialakítási fázis Szoftvermodul-i specifikáció Szoftvermodul-tesztspecifikáció Szoftvermodul-igazolójelentés Szoftvermodul tesztelési fázis Szoftvermodul-tesztjelentés EN50128: ~30 dokumentum! Kódolási fázis Szoftverforráskód és támogató dokumentáció Szoftverforráskód-igazolójelentés 54 4. Szervezeti rend Minőségi ill. biztonsági szervezet létrehozása a biztonságmenedzselés bizonyítása ISO 9001 vonatkozó részeinek alkalmazása Konfigurációmenedzselés Képzettség (alkalmasság) igazolása Szereplők: Tervező(elemző, tervező, kódoló, unit tesztelő) TER Verifikátor (igazoló) VER Validátor(érvényesítő) VAL Értékelő (független felülvizsgáló) ÉRT Projekt menedzser MGR Minőségbiztosítási felelős MIN 55

Minimális függetlenség követelményei SIL 0: Szervezet Személy TER, VER, VAL ÉRT SIL 1 és 2: TER VER, VAL ÉRT SIL 3 és 4: MGR vagy: TER VER, VAL ÉRT vagy: MGR ÉRT TER VER VAL 56 Motiváció Miről volt szó? Milyen minőségi igények vannak a szoftverrel szemben, és mit tud ma a szoftveripar? Miért olyan nagy a szoftver ellenőrzési technikák jelentősége? A verifikáció és validáció technikái (áttekintés) Milyen tipikus technikák vannak? Fejlesztési életciklus modellek Milyen szerepet kapnak a tipikus technikák az egyes fejlesztési folyamatokban? Fejlesztési szabványok szerepe Hogyan valósul meg a szisztematikus ellenőrzés? 57