ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE PEMS BEÁGYAZOTT SZOFTERÉNEK FEJLESZTÉSE

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

Orvosi eszközök gyártmányfejlesztése PEMS beágyazott szoftverének fejlesztése. Kurtán Balázs Budapest,

Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Dolgos Márton Budapest,

Orvosi eszközök gyártmányfejlesztése Szoftver Kockázatirányítás. Lukács Viktor Budapest,

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

ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE KOCKÁZATIRÁNYÍTÁS ÉS SZOFTVER KOCKÁZATIRÁNYÍTÁS

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

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

ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AKTÍV ORVOSI ESZKÖZ SZOFTVER VERIFIKÁLÁSA, VALIDÁLÁSA (V&V)

Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszköz szoftver verifikálása, validálása (V&V) Nagy Katinka Budapest,

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

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

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

MIÉRT KELL TESZTELNI?

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

ORVOSTECHNIKAI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE

Orvostechnikai eszközök gyártmányfejlesztése Aktív orvosi eszközök fejlesztése PEMS életciklus modell. Komáromi István Budapest,

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

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

A szoftver tesztelés alapjai

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

Orvosi eszközök gyártmányfejlesztése. Információ- és rendszerbiztonság (Cybersecurity) Csík Adrien Budapest,

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

Orvosi eszközök gyártmányfejlesztése Aktív orvosi eszközök verifikálása, validálása (V&V) Kuzma Éva Budapest,

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

ISO/DIS MILYEN VÁLTOZÁSOKRA SZÁMÍTHATUNK?

Szabványok. ISO 9000, ISO 9001, ISO 9004 és más minőségirányítási szabványok SZABVÁNY CÍMEK NEMZETKÖZI EURÓPAI NEMZETI MEGJEGYZÉS

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

A szoftverfejlesztési folyamatok képességének mérése. Kuzma Éva Budapest,

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

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

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

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

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

Szoftverminőségbiztosítás

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

(Teszt)automatizálás. Bevezető

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

A szoftverfejlesztés eszközei

A CMMI alapú szoftverfejlesztési folyamat

Szoftverminőségbiztosítás

SZOFTVER TESZT AUTOMATIZÁLÁS Eszter Vezdén Budapest, 08 November 2018

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

Modell alapú tesztelés mobil környezetben

Fejlesztés kockázati alapokon 2.

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

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

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

Az ISO Cél: funkcionális biztonság kizárva az elektromos áramütés, tűz stb. veszélyeztetések

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

IEC Basic Engineering -től a Leszerelésig

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

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

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

Szoftverminőségbiztosítás

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

Szoftverfejlesztés teszteléssel

Tesztelési szintek Tesztautomatizálás

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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ó

KOGGM614 JÁRMŰIPARI KUTATÁS ÉS FEJLESZTÉS FOLYAMATA

S01-7 Komponens alapú szoftverfejlesztés 1

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

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

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

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Követelmény alapú minőségbiztosítás az államigazgatásban

UML (Unified Modelling Language)

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

A szoftverellenőrzés szerepe

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

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

ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE AZ AKTÍV ORVOSI ESZKÖZÖK MŰSZAKI KÖVETELMÉNYEI A HARMONIZÁLT SZABVÁNYOKBAN

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

Szoftver karbantartás

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

Orvosi eszközök gyártmányfejlesztése Az aktív orvosi eszközök műszaki követelményei a harmonizált szabványokban

Laborgyakorlat 3 A modul ellenőrzése szimulációval. Dr. Oniga István

1002D STRUKTÚRÁJÚ, KRITIKUS ÜZEMBIZTONSÁGÚ RENDSZER (SCS 1 ) ELEMZÉSE DISZKRÉT-DISZKRÉT MARKOV MODELLEL

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

Viczián István IP Systems JUM XIX szeptember 18.

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

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Szoftverminőségbiztosítás

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

Rendszermodellezés: házi feladat bemutatá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

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Szoftver újrafelhasználás

Szoftver min ség és menedzsment

Bevezetés a programozásba

Vázlat ITIL. A változás fogalma. Változások. A változás okai. A változások ellenőrzése

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

Programtervezés. Dr. Iványi Péter

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

8.3. AZ ASIC TESZTELÉSE

Létesítménygazdálkodási szabványok a klubmenedzsmentben

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

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

Átírás:

ORVOSI ESZKÖZÖK GYÁRTMÁNYFEJLESZTÉSE PEMS BEÁGYAZOTT SZOFTERÉNEK FEJLESZTÉSE Golarits István Budapest, 22 November 2018

TARTALOM BEVEZETÉS PEMS FOGALMA PEMS FEJLESZTÉSI CIKLUS SW HELYE SW RISK MANAGEMENT SW DEVELOPMENT SW MAINTENANCE SW CONFIGURATION MANAGEMENT SW PROBLEM RESOLUTION

Mai téma PEMS = Programmable Electrical Medical System Szabvány: ANSI/AAMI/IEC 62304 Medical Device Software Software life cycle processes Miért van rá szükség? Cél? http://www.pharmpro.com/sites/pharmpro.com/files/fdaletterthumb.jpg B. Braun Medical 3

KÖVETEL Orvostechnikai eszköz menedzsment szabványok ISO14971 ISO13485 BEFOLYÁSOL Kijelöli az orvostechnikai eszköz fejlesztés alapjait BEFOLYÁSOL IEC 62304:2006 Figure C.1 Orvostechnikai eszköz termék szabványok IEC 60601-1 Orvostechnikai eszköz folyamat szabvány IEC 62304 BEFOLYÁSOL Orvostechnikai eszköz szoftver Specifikus iránymutatást ad a biztonságos orvostechnikai eszköz készítéséhez Részletes irányelvet nyújt hogyan kell biztonságos szoftver rendszert fejleszteni és karbantartani Egyéb információ források IEC/ISO 12207 IEC 61508-3 IEC/ISO 90003 INSPIRÁL Kiegészítő irányelvek, technikák, stb. amik hasznosak lehetnek B. Braun Medical 4

PEMS és PESS fogalma (Komplexitás) Programmable electrical medical system PEMS Programozható gyógyászati villamos rendszer (PEMS) Olyan gyógyászati villamos készülék vagy gyógyászati villamos rendszer, amely egy vagy több programozható elektronikus alrendszert tartalmaz Programmable electronic subsystem PESS Programozható elektronikus alrendszer (PESS) Olyan rendszer, amely egy vagy több központi feldolgozó egységen alapul, beleértve a szoftvert és az interfészeket is. B. Braun Medical 5

Komplex rendszer A PEMS nagyobb alrendszerekre bontódik le, amelyek sorra olyan alrendszerekből épülnek fel, amelyek PESS-t tartalmaznak B. Braun Medical 6

PEMS Fejlesztési ciklus - V model (MSZ EN IEC 60601-1-4) B. Braun Medical 7

KÖVETEL Orvostechnikai eszköz menedzsment szabványok ISO14971 ISO13485 BEFOLYÁSOL Kijelöli az orvostechnikai eszköz fejlesztés alapjait BEFOLYÁSOL IEC 62304:2006 Figure C.1 Orvostechnikai eszköz termék szabványok IEC 60601-1 Orvostechnikai eszköz folyamat szabvány IEC 62304 BEFOLYÁSOL Orvostechnikai eszköz szoftver Specifikus iránymutatást ad a biztonságos orvostechnikai eszköz készítéséhez Részletes irányelvet nyújt hogyan kell biztonságos szoftver rendszert fejleszteni és karbantartani Egyéb információ források IEC/ISO 12207 IEC 61508-3 IEC/ISO 90003 INSPIRÁL Kiegészítő irányelvek, technikák, stb. amik hasznosak lehetnek B. Braun Medical 8

Szoftver fejlesztési szabványok fejlődése történeti visszatekintés, kapcsolat más iparágakkal IT szoftver fejlesztése (ISO 12207) Systems and software engineering Software life cycle processes [1995..2010] Hogyan kell szoftvert fejleszteni? IT funkcionális biztonság (ISO 61508) Functional safety of electrical/electronic/programmable electronic safety-related systems - Part 3: Software requirements [1998..2010] Hogyan kell biztonságkritikus rendszert/szoftvert fejleszteni? Minden biztonságkritikus iparágra vonatkoztatható: erőművek, jármű, stb. B. Braun Medical 9

KÖVETEL Orvostechnikai eszköz menedzsment szabványok ISO14971 ISO13485 BEFOLYÁSOL Kijelöli az orvostechnikai eszköz fejlesztés alapjait BEFOLYÁSOL IEC 62304:2006 Figure C.1 Orvostechnikai eszköz termék szabványok IEC 60601-1 Orvostechnikai eszköz folyamat szabvány IEC 62304 BEFOLYÁSOL Orvostechnikai eszköz szoftver Specifikus iránymutatást ad a biztonságos orvostechnikai eszköz készítéséhez Részletes irányelvet nyújt hogyan kell biztonságos szoftver rendszert fejleszteni és karbantartani Egyéb információ források IEC/ISO 12207 IEC 61508-3 IEC/ISO 90003 INSPIRÁL Kiegészítő irányelvek, technikák, stb. amik hasznosak lehetnek B. Braun Medical 10

Connection between 60601 and 62304 B. Braun Medical 11

IEC 62304 Medical Device Software Software Life-cycle processes Megfelelőség = Az összes definiált folyamat, aktivitás és feladat implementálása, a biztonsági osztálynak megfelelően. Receptkönyv a biztonságos szoftverhez. Nem létezik olyan módszer amivel egy szoftverre nézve 100%-os biztonságosság garantálható. Három elv ami a biztonságot elősegíti kockázat-irányítás, minőségirányítás és szoftverfejlesztési gyakorlatok, technikák, módszerek (state-of-the-art). A SW életciklus modell nem definiált. Lehet pl. vízesés (szekvenciális), inkrementális vagy fejlődéses (a követelmények is változnak). B. Braun Medical 12

Szoftverfejlesztési FOLYAMATOK és AKTIVITÁSOK áttekintése B. Braun Medical 13

PÉLDA: Logikai kapcsolat a folyamatok között (SOPs/Ops) Usability Eng. Active Medical Device Dev. Plan System Engineering SDP (1)(2)(3) Software Development Risk Mgmt SW Dev. SW Maint. & Prob. Res SW Config. Man. (1)SW Risk Man. (2)SW Tool Valid. Tool Test (3)SOUP (OTS) Item Valid. Medical SW Test DHF= Design History File B. Braun Medical 14 14

PÉLDA: 62304 aktivitások az inkrementális vagy fejlődéses modellben Mapping 62304 s activities 5.1 SW 5.1 Development 5.1 SW SW Development Planning Planning 5.1 SW Development Planning 5.2 SW 5.2 SW Requirements Requirements Analysis Analysis 5.3 SW Architectural Design 5.3 SW Architectural 5.3 SW Architectural Design Design 5.4 SW Detailed Design 5.4 SW Detailed Design 5.5 5.5 SW Unit Implement. & Verif Implement. & Verification 5.6 SW Integration 5.6 SW and Integr. Testing Integration and Integr. Testing 5.7 SW System 5.7 SW Testing System Testing 5.8 SW Release into Agile s Incremental/Evolutionary life cycle For Each Story BA-HU A.Csík Medical device software Page 19 For Each Release For Each Increment For Each Project 5.2 SW Requirements Analysis High-Level, Backlog Management 5.3 SW Architectural Design Infrastructure, Spikes 5.1 SW Development Planning - Story 5.2 SW Requirements Analysis Story Details 5.3 SW Architectural Design - Emergent 5.4 SW Detailed Design 5.5 SW Unit Implementation and Verification 5.6 SW Integration and Integration Testing 5.7 SW System Testing 5.1 SW Development Planning - Project 5.1 SW Development Planning - Release 5.1 SW Development Planning - Increment B. Braun Medical 15 More stories 5.6 SW Integration and Integration Testing 5.7 SW System Testing & Regression Testing More Increments 5.6 SW Integration and Integration Testing 5.7 SW System Testing & Regression Testing 5.8 SW Release More Releases

Definíciók (1) Orvostechnikai eszköz szoftver (Medical Device Software) Orvostechnikai eszközbe fejlesztett szoftver vagy szándékolt alkalmazása alapján szabadon álló szoftver. Software system that has been developed for the purpose of being incorporated into the medical device being developed or that is intended for use as a medical device in its own right. Szoftver termék (Software Product) A szoftver termék számítógép programok, eljárások, lehetséges kapcsolódó dokumentáció és adatok gyűjteménye. Software Product is set of computer programs, procedures and possibly associated documentation and data. Szoftver rendszer (Software System) A szoftver rendszer egymáshoz rendelt szoftver elemek integrált gyűjteménye, teljesíti a termékhez megfogalmazott szoftver követelmények gyűjteményét. Pl. teljes szoftver a termék részeként Software system is an integrated collection of software items organized together to accomplish a set of software requirements of a product. E.g. complete software part of a product. Megj: A PEMS modell komponenséről van szó. B. Braun Medical 16

Egy szoftver rendszer (62304) helye a PEMS-ben B. Braun Medical 17

Definíciók (2) Szoftver elem (Software Item) Szoftver elem bármilyen azonosítható számítógép program rész lehet (absztrakt). Software item is any identifiable part of a computer program Megj: Pl. a SW rendszer, egy forrás file, SOUP elemek (OS, stdlib, stb.) Szoftver egység (Software Unit) A szoftver egység az a szoftver elem, amit már nem bontunk le további elemekre. Megjegyzés: Ez felhasználható a szoftver konfiguráció menedzsmentnél és a tesztelésnél. Software unit is a software item that is not subdivided into other items. Note: It can be used for the purpose of software configuration management or testing. Megj: Pl. egy forrás file, egy task, egy objektum. SOUP (Software of Unknown Provenance) Egy már elérhető szoftver elem, amely nem az orvosi eszközbe integrálási céllal lett kifejlesztve (más szóval off-the-shelf, vagy OTS), vagy korábbi fejlesztés eredménye, amelyről nem állnak rendelkezésre a fejlesztési folyamatot kellően bizonyító dokumentumok. Software item that is already developed and generally available and that has not been developed for the purpose of being incorporated into the medical device os software previously developed for which adequate records of development processes are not available. B. Braun Medical 18

SW elem és unit SW System 1 (SW Item is!) ZW 1 (SW Item is!) ZW 1 (SW Item is!) XY 1 (SW Item is!) XY n (SW Item is!) nem bontható tovább Unit 1 (SW Item is!) Unit 2 (SW Item is!) Unit n (SW Item is!) B. Braun Medical 19

Definíciók (3) Folyamat (Process) Összefüggő vagy kapcsolódó aktivitások halmaza, melyek bemeneteket kimenetekké konvertálnak. A set of interrelated or interacting activities that transform inputs into outputs. Aktivitás (Activity) Összefüggő vagy kapcsolódó feladatok halmaza. A set of one or more interrelated or interacting tasks. Feladat (Task) Egy darab elvégzendő munka. A single piece of work that needs to be done. Nyomon követhetőség (Traceability) A fejlesztési folyamat két vagy több terméke közötti kapcsolat mértéke. Degree to which a relationship can be established between two or more products of the development process. B. Braun Medical 20

IEC 62304 Medical Device Software Software Life-cycle processes Structure: 1. Scope 2. Normative References 3. Terms and Definitions 4. General Requirements 5. SW Development Process 6. SW Maintenance Process 7. SW Risk Management Process 8. SW Configuration Management Process 9. SW Problem Resolution Process B. Braun Medical 21

7. Szoftver kockázat-irányítási folyamat (Software Risk Management Process)! A szoftver kockázat-irányítást nem lehet az orvosi eszköz rendszerszintű kockázat-irányításától függetlenül végezni.* A szoftver kockázat-irányítást csak úgy lehet hatékonyan végezni, hogy az egyes aktivitásokat a fejlesztési és karbantartási folyamatok közben végezzük. Megj.: A kapcsolódási pontokat lásd később zölddel. Aktivitások 1. A szoftverhibából eredő veszélyes helyzeteket fel kell tárni. SW Cause? 2. A szoftvertől megkövetelt védőintézkedéseket definiálni és implementálni kell. RCM SRS 3. A szoftvertől megkövetelt védőintézkedéseket ellenőrizni kell. RCM tests 4. A szoftverváltozásokat (beleértve a SOUP-okat is) meg kell vizsgálni a lehetséges szoftverhibákból eredő veszélyes helyzetek és az implementált védőintézkedések hatékonysága tekintetében. SW changes - Risk An. (Újra vissza 1.) * Az előadásban szereplő szövegek részben a szabvány értelmezésének (ANNEX A és B) magyar nyelvű szabad fordításai. B. Braun Medical 22

Kockázat mátrix (Ismétlés RM) Frequent Fre Példa Likelihood Probable Occasional Remote Improbable Incredible Pro Occ Rem Imp Inc B B R A R I A N A R E Éles sarok (megvághat és zúzódást okozhat) Probability csökkentés: figyelmeztető címkét teszünk rá Severity csökkentés: lekerekítjük a sarkot, így már nem vág meg csak véraláfutást okozhat Risk Matrix for Device and Product Risk Assessments Neg Mar Sev Cri Cat Negligible Marginal Severe Critical Catastrophic Severity B. Braun Medical 23

Szoftver biztonsági osztályozás (1) A biztonsági osztályozás súlyosság (Severity) alapú: Negligible Software class A Marginal Software class B Severe Software class C Critical Software class C Catastrophic Software class C A biztonsági osztálynak megfelelő aktivitások/feladatok vonatkoznak az adott szoftver elemre. A biztonsági osztály csökkenthető, amennyiben a kockázatbefolyásoló - súlyosságot vagy valószínűséget csökkentő - hardveres védőintézkedésekkel a maradék kockázat elfogadható mértékűvé vált. B. Braun Medical 24

Szoftver biztonsági osztályozás (2) A biztonsági osztályozás öröklődő szoftver elemek között, de elkülönítéssel csökkenthető egyes alsóbb szintű elemek biztonsági osztályozása. B. Braun Medical 25

IEC 62304 Medical Device Software Software Life-cycle processes Structure: 1. Scope 2. Normative References 3. Terms and Definitions 4. General Requirements 5. SW Development Process 6. SW Maintenance Process 7. SW Risk Management Process 8. SW Configuration Management Process 9. SW Problem Resolution Process B. Braun Medical 26

5. Szoftver fejlesztési folyamat (Software Development Process) 5.1 SW development planning 5.2 SW requirements analysis 5.3 SW architectural design 5.4 SW detailed design 5.5 SW UNIT implementation & verification 5.6 SW integration and integration testing 5.7 SW system testing 5.8 SW release B. Braun Medical 27

5.1 Szoftver fejlesztés tervezés (Software development planning) A folyamat bemenetei lehetnek a rendszer fejlesztési terve, szabványok, munkautasítások. A kimenete pedig a szoftver fejlesztési terv. A fejlesztési tervnek ki kell térnie: az alkalmazandó folyamatokra, módszerekre, a teljesítendő feladatokra (pl. dokumentumok, szoftver verziók), a nyomon-követhetőségre, a konfiguráció- és változásirányítás folyamatára a probléma megoldás folyamatára a szoftver integrációra a szoftver verifikációra (ellenőrzés) a szoftver kockázat-irányítás folyamatára a felhasználandó vagy kifejlesztendő eszközökre B. Braun Medical 28

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 B. Braun Medical 29

5.2 Szoftver követelmény analízis (Software requirements analysis) A szoftver követelmények alatt szoftver rendszer követelményeket értünk, amelyek leírandók az orvostechnikai eszköz minden szoftver rendszerére. Az aktivitás bemenete a rendszerkövetelmények (beleértve a védőintézkedéseket). Az aktivitás kimenete a szoftver követelmény specifikáció, azaz hogy MIT kell implementálni (akár papíron, akár egy bonyolult adatbázisban, pl. DOORS). A szoftver követelmények fajtái lehetnek: funkcionális, biztonsági, ki-/bemeneti, interfész, riasztást-/figyelmeztetést leíró, adatvédelmi, használhatósági, installációs, karbantartási, stb. A követelményeket ellenőrizni- (verifikálni) és ezt a tényt dokumentálni kell: A rendszer követelményeket implementálják. Nem tartalmaznak önellentmondást. Egyértelműek. Tesztelhetőek. Egyedileg azonosítottak. Nyomon követhetőek a forrásukig. Kockázat-irányítási aktivitás A biztonsággal kapcsolatos követelmények (szoftveres védőintézkedések) definiálása, ellenőrzése. B. Braun Medical 30

5.2 Szoftver követelmény analízis (Software requirements analysis) Példák: A felügyelő szoftver hibás működés esetén 3 másodpercen belül kapcsolja le az aktuátorok tápegységét, ezáltal biztonságos állapotba helyezve a gépet. A terápia megkezdésekor a SW figyelmeztesse a felhasználót a vérpumpa elindítására. A rendszer aktiválja a zöld lámpát kezelés közben ha a kezelés fut. Kezelés közben a SW állítsa be a felhasználó által kért vízhőmérsékletet +/-0.5C fok pontossággal. B. Braun Medical 31

5.3 Szoftver architektúra tervezés (Software architectural design) A szoftver architektúra tervezés tevékenység során definiáljuk a fő szerkezeti szoftver elemeket, a külsőleg látható tulajdonságaikat és a kapcsolatot közöttük. Ha egy elem viselkedése befolyásolja a többi elemet, akkor ezt a viselkedést be kell mutatni a szoftver architektúrában. Egy elem - amely hatással lehet egyéb elemekre - viselkedésének megértése (és dokumentálása) hiányában, szinte lehetetlen lesz megmutatni, hogy a rendszer biztonságos. Az aktivitás bemenete a szoftver követelmény specifikáció, kimenete az architektúra terv (csak B és C biztonsági osztályú szoftverekre). A tervnek ki kell térnie a SOUP elemre, az azok felé- és azok által támasztott követelményekre. A tervnek láttatnia kell a védőintézkedéseket megvalósító elemek elkülönülését. Az architektúra tervet ellenőrizni- (verifikálni) és ezt a tényt dokumentálni kell: A szoftver követelményeket teljes mértékben implementálja (beleértve a védőintézkedéseket). Megvalósítható, azaz tartalmazza a SW-SW és SW-HW interfészeket és definiálja a SOUP-ok környezetét. Kockázat-irányítási aktivitás Az architektúra tervezés végén áll elő a szoftver elemek teljes listája, amely bemenete a kockázatbefolyásolásnak. A megfelelő biztonsági szoftver architektúra gondos kockázatmegállapítás eredménye kell, hogy legyen. A szoftver rendszert úgy kell megtervezni, hogy egy SOUP meghibásodása esetén is megfelelő védelmet biztosítson. B. Braun Medical 32

PÉLDA: Szoftver architektúra tervezés Kezdeti ötlet fázistól a kész ADC (Architecture Design Chart) B. Braun Medical 33

Néhány szó az OTS szoftverekről (ismétlés az előző előadás anyagából) OTS = Off The Shelf vásárolt ma már egyre nagyobb arányban használt az orvosi eszköz gyártó is az alkalmazásokra koncentrálhat, melyek a speciális eszköz funkciók megvalósításához kell sok funkciója lehet, de az orvosi eszközben esetleg csak néhányat használunk az orvosi eszköz gyártó a felelős minden szoftverért, ami a készülékben van vásárlás előtt meggyőződni, hogy jó lesz az általunk kijelölt alkalmazási célra KOCKÁZAT (RISK) Az általános célra fejlesztett szoftverek nem biztos, hogy jók az orvosi eszközbe Az orvosi eszköz gyártó általánosságban feladja az OTS szoftverfejlesztési életciklus kontrollálását, de egyidejűleg felelőssége megmarad, hogy biztonságos (safe) és hatásos (effective performance) készüléket helyezzen ki a piacra OTS szoftverekre speciális, külön útmutató (FDA Guidance) B. Braun Medical 34

5.4 Szoftver részletes tervezés (Software detailed design) A szoftver részletes tervezési tevékenysége során finomítjuk/pontosítjuk az architektúra tervezés során meghatározott szoftver elemeket és interfészeket, hogy kialakítsuk a szoftver egységeket és azok interfészeit. Az aktivitás bemenete a szoftver architektúra terv, kimenete a részletes terv. (csak C osztályú szoftverekre.) A részletes terv specifikálja, hogy a követelményeket HOGYAN kell implementálni: algoritmusokat, adat reprezentációt, szoftver egységek közti vezérlési folyamatokat. A tervezés történhet papír alapon vagy akár CASE eszközökkel, pl. Matlab/Simulink. A részletes tervet ellenőrizni- (verifikálni) és ezt a tényt dokumentálni kell: Az architektúra tervet implementálja, azzal nincs ellentmondásban. Kockázat-irányítási aktivitás Egy szoftver elem felbontható több elemre úgy, hogy az új elemek közül csak néhány valósítja meg az eredeti elem biztonsági funkcióit. A fennmaradó elemek biztonsági osztályozása ilyen módon csökkenthető. B. Braun Medical 35

PÉLDA: Egyszerű infúziós pumpa SW követelmények 1. A SW a pumpát a felhasználói beállításnak megfelelően kell hogy forgassa. 2. A SW-nek aktiválnia kell a buzzert, ha a pumpa nem a beállítás szerint forog. (védőintézkedés) SW architektúra Vezérlő [B] (part [C]) OS (SOUP) [C] Ellenőrző [C] Részletes terv A vezérlő ciklikusan beolvassa a beállítást és továbbítja a pumpának az OS-en keresztül Az ellenőrző ciklikusan beolvassa a beállítást és az aktuális forgási sebességet az OS-en keresztül, valamint eltérés esetén aktiválja a buzzert (Rendszer architektúra) User Input Buzzer Vezérlő HW SW Implementáció void Vezerlo() { while(1) SetPumpSpeed(ReadSetting()); } void Ellenorzo() { while(1) { if(getpumpspeed()!= ReadSetting()) BuzzerEnable(); else BuzzerDisable(); } } Pumpa B. Braun Medical 36

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 B. Braun Medical 37

5.5 Szoftver egység megvalósítás és ellenőrzés (Software unit implementation and verification) Minden szoftver egységet (unit) meg kell valósítani (implementálni), azaz forráskódra kell fordítani a meghatározott részletes tervet (manuálisan vagy kód generálással). A feladat az, hogy kódot kell írni a szoftver egységekhez és ezt ellenőrizni (verifikálni) kell. A kódolás képviseli azt a pontot, ahol a specifikáció lebontása véget ér és a futtatható szoftver előállítása elkezdődik. Az elvárt kódolási stílus eléréséhez kódolási szabályozást kell meghatározni, amely segítségével következetesen elérhető, hogy a kód a kívánatos jellemzőkkel rendelkezzen. Minden unithoz tartozó kódot verifikálni kell. A kód verifikálása során meg kell győződni arról, hogy a funkciók a részletes tervben specifikáltak alapján lettek megírva és a kódolás során a kódolási szabályozást követték. Külön elfogadási kritériumok vonatkoznak a C biztonsági osztályú szoftver elemekre. Az egység ellenőrzés eszközei lehetnek pl.: statikus kódanalizáló eszközök (Lint, QA- C, Polyspace, stb.), unit teszt, manuális kódátvizsgálás (Code Review). Kockázat-irányítási aktivitás Ebben a lépésben fontos megkülönböztetni a nem biztonságkritikus és a biztonságkritikus kódokat. A biztonságkritikus kódok ellenőrzésénél a cél, hogy a komponens hibaágra fusson és végezze el a szükséges tevékenységeket. A unit tesztelés lényege, hogy ellenőrizze, hogy a kód szándék szerint működik-e, jól meghatározott keretek között Továbbá elengedhetetlen, hogy a védőintézkedések a lehető legteljesebb mértékben legyenek kipróbálva. B. Braun Medical 38

PÉLDA: Szoftver egység ellenőrzési és integrációs eszköz architektúra B. Braun Medical 39

PÉLDA: Unit test, Static code analysis B. Braun Medical 40

Example of risk based Item/Unit test strategy Unit Verification In Item A In Item B In Item C Review O M M Independent review O O M Rule check M M M Basic Unit test O M M 100% Code coverage O O M Integration level test O O M M=Mandatory O=Optional Class A: No injury or damage to health is possible Class B: Non-SERIOUS INJURY is possible Class C: Death or SERIOUS INJURY is possible B. Braun Medical 41

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 B. Braun Medical 42

5.6 Szoftver integráció és integrációs teszt (Software integration and integration testing) A szoftver integráció és integrációs teszt tevékenység során meg kell tervezni és végre kell hajtani a szoftver egységek (unitok) integrálását (komponensekbe) rendszerekbe és ellenőrizni (verifikálni) kell, hogy a kapott rendszer a szándékolt cél (az architektúra terv ismeretében) szerint működik. A szoftver integrációs teszt során nagy hangsúlyt kell fektetni az adatok átvitelére, a szoftver elemek belső és külső interfészeinek ellenőrzésére. A külső interfészek ellenőrzése során vizsgáljuk a kapcsolatot más szoftverekkel - ami lehet egy működő rendszer szoftver is - vagy orvostechnikai eszköz hardverrel. A szoftver integrációs teszt szimulációs környezetben, az éppen aktuális cél hardveren vagy a teljes orvostechnikai eszközön is végrehajtható. A szoftver integrációs teszt lehetőleg tartalmazzon white- és black box módszereket. Változtatások során regressziós tesztet kell végezni, demonstrálva a nem módosult részek hibamentességét (pl. automatikusan, akár naponta). Az integrációs teszt jegyzőkönyvnek tartalmaznia kell: az eredményt, elegendő információt a megismételhetőséghez, a tesztelő személyazonosságát. B. Braun Medical 43

5.6 Szoftver integráció és integrációs teszt - folytatás (Software integration and integration testing) A szoftver integrációs teszt során felmerülő problémák kezelésére a szoftver probléma megoldási folyamatot kell használni. A szoftver integrációs tesztet lehetséges a szoftver rendszer teszttel kombinálni. Kockázat-irányítási aktivitás Sok módszer létezik arra, hogy meggyőződhessünk arról, hogy a védőintézkedések jó eséllyel szándék szerint működnek, de egyik sem elegendő önmagában: - Statikus analízis (kód-, terv átvizsgálás (design reviews), stb.) - Dinamikus tesztelés (funkcionális-, performancia-, stressz-, használat alapú, időzítés-, memória-, stb.) - Modellezés (környezet-, időzítés szimulálás, használat modellezés) Megj.: A példák ábrázolva a következő oldalon. B. Braun Medical 44

B. Braun Medical 45

5.7 Szoftver rendszer tesztelés (Software system testing) A szoftver rendszer tesztelés során meg kell győződni arról, hogy a szoftver rendszer szándékolt cél szerint működik. A szoftver rendszer akkor tekintendő teszteltnek, ha az összes szoftver követelmény és a szoftver követelmények kombinációja (ha létezik valamilyen függőség) is le van fedve. A szoftver rendszer teszt során felmerülő problémák kezelésére a szoftver probléma megoldási folyamatot kell használni. A szoftver rendszer teszt szimulációs környezetben, az éppen aktuális cél hardveren vagy a teljes orvostechnikai eszközön is végrehajtható. Az rendszer teszt jegyzőkönyvnek tartalmaznia kell: az eredményt, elegendő információt a megismételhetőséghez, a tesztelő személyazonosságát. Változtatások során regressziós tesztet kell végezni, demonstrálva a nem módosult részek hibamentességét (pl. automatikusan, akár naponta). B. Braun Medical 46

5.7 Szoftver rendszer tesztelés (Software system testing) - folytatás A szoftver rendszer tesztelést ellenőrizni- (verifikálni) és ezt a tényt dokumentálni kell: A felhasznált teszt eljárások megfelelőek. Az elvégzett tesztek teljes mértékben lefedik a követelményeket (beleértve a védőintézkedéseket). A teszt eredmények nyomon követhetőek a követelményekig. Minden teszt sikerrel lett végrehajtva Kockázat-irányítási aktivitás Az orvostechnikai eszköz szoftverének módosításainak analízise - biztonsági szempontból - biztosítja, hogy a változásnak ne legyen nem szándékolt mellékhatása a biztonságra, függetlenül a korábbi biztonsági osztályba (A, B, C) sorolástól. A főbb elvárások a következők: - A szoftverváltozásokat (beleértve a SOUP-okat is) meg kell vizsgálni a lehetséges szoftverhibákból eredő veszélyes helyzetek tekintetében, hogy kiderüljön szükséges-e további védőintézkedések definiálása. - A szoftverváltozások (beleértve a SOUP-okat is) hatását is meg kell vizsgálni, hogy kiderüljön meghiúsítanak-e már korábban implementált védőintézkedéseket. B. Braun Medical 47

PÉLDA: Szoftver rendszer tesztelés KPI (Key Performance Indicator) Kulcs teljesítménymutatók B. Braun Medical 48

Example of risk based requirement test strategy Req.Class Verification A B C Exploratory O O M Scripted(Req. Based) M M M Independent Review O M M M=Mandatory O=Optional Risk control measures included in reqs Class A: No injury or damage to health is possible Class B: Non-SERIOUS INJURY is possible Class C: Death or SERIOUS INJURY is possible B. Braun Medical 49

PÉLDA: Egyszerű infúziós pumpa SW követelmények 1. A SW a pumpát a felhasználói beállításnak megfelelően kell hogy forgassa. 2. A SW-nek aktiválnia kell a buzzert, ha a pumpa nem a beállítás szerint forog. (védőintézkedés) SW architektúra Vezérlő [B] (part [C]) OS (SOUP) [C] Ellenőrző [C] Részletes terv A vezérlő ciklikusan beolvassa a beállítást és továbbítja a pumpának az OS-en keresztül Az ellenőrző ciklikusan beolvassa a beállítást és az aktuális forgási sebességet az OS-en keresztül, valamint eltérés esetén aktiválja a buzzert (Rendszer architektúra) User Input Buzzer SW Rendszer Teszt Indítsa el az infúziót. Állítsa be az infúziós rátát 100ml/órára. Várjon egy órát. Vezérlő HW SW Ellenőrizze, hogy a pumpa 100ml folyadékot továbbított. Kössön jelgenerátort a pumpa sebességét továbbító jelkábelre és állítson be a kívánt sebességnél nagyobb sebességet. Ellenőrizze, hogy a buzzer megszólalt. Pumpa B. Braun Medical 50

5.8 Szoftver kiadás (Software release) A kiadandó orvostechnikai eszköz szoftver verziójával kapcsolatos minden szoftver kiadással kapcsolatos tevékenységet a megfelelő eljárást követve kell végrehajtani és a szoftver kiadást dokumentálni kell. A szoftver verifikációt a követelményekkel szemben végre kell hajtani és az eredményeket ki kell értékelni, mielőtt a szoftvert kiadnák. A szoftver kiadás lépései a következők: Biztosítani kell a verifikáció teljességét; Az ismert fennmaradó rendellenességeket dokumentálni kell; Értékelni kell a fennmaradó rendellenességeket; A kiadott verziót dokumentálni kell; Dokumentálni kell hogyan készült a kiadott szoftver; Biztosítani kell a tevékenységek és feladatok befejezettségét; Archiválni kell a szoftvert; Biztosítani kell a szoftver kiadásának megismételhetőségét; B. Braun Medical 51

5.8 Szoftver kiadás (Software release) - folytatás Kockázat-irányítási aktivitás Amikor a szoftver tesztelés befejeződött és az eredmények kiértékelésre kerültek, kockázatközpontú szemlélettel annak ellenőrzésére kell fókuszálni, hogy a szoftverben implementált védőintézkedések nyomon követhetőek legyenek a kockázatelemzésbeli definíciótól kezdve az azt ellenőrző tesztjegyzőkönyvig. A konfigurációirányítási terv feladata, hogy azonosítva legyen az együtt tesztelt szoftver- és hardverelem verziók sokasága. A konfigurációirányítási terv szerint a szoftvert előállító (build) környezet és az összes felhasznált eszköz is konfiguráció ellenőrzés alá kell, hogy kerüljenek. B. Braun Medical 52

IEC 62304 Medical Device Software Software Life-cycle processes Structure: 1. Scope 2. Normative References 3. Terms and Definitions 4. General Requirements 5. SW Development Process 6. SW Maintenance Process 7. SW Risk Management Process 8. SW Configuration Management Process 9. SW Problem Resolution Process B. Braun Medical 53

6. Szoftver karbantartási folyamat (Software Maintenance Process) Development process 5.1 SW development planning 5.2 SW requirements analysis 5.3 SW architectural design 5.4 SW detailed design 5.5 SW UNIT implementation & verification 5.6 SW integration and integration testing 5.7 SW system testing 5.8 SW release = Maintenance process 6.1 Establish SW maintenance plan 6.2 Problem and modification analysis 5.3 SW architectural design 5.4 SW detailed design 5.5 SW UNIT implementation & verification 5.6 SW integration and integration testing 5.7 SW system testing 5.8 SW release B. Braun Medical 54

6. Szoftver karbantartási folyamat (Software Maintenance Process) Szoftver karbantartási tervet kell készíteni, melynek: le kell írnia a visszajelzések kezelésének folyamatát, le kell írnia a SOUP-ok változásainak követési folyamatát, tartalmaznia kell kritériumot, hogy mikor tekintendő a visszajelzés problémának, elő kell írnia a kockázat-irányítási, konfiguráció irányítási és probléma megoldási folyamatok használatát, Egy a szoftver fejlesztési folyamatnál kisebb karbantartási folyamat kiépítése megengedett, a visszajelzésekre történő gyors reakció érdekében. Probléma és módosítás analízis aktivitás kiadott szoftver termékre nézve: A visszajelzéseket monitorozni és értékelni kell. A probléma jelentések hatásait meg kell vizsgálni a biztonságra való tekintettel, és szükség esetén módosítási kérelmet kell indítani. Probléma megoldási folyamatot kell használni. A módosítási kérelmeket analizálni kell a szervezetre, a szoftver termékre és interfészeire gyakorolt hatása tekintetében. Majd azokat engedélyeztetni kell. Az engedélyezett módosításokról értesíteni kell a felhasználókat és a felügyelő szerveket (mik a változatlan használat következményei és hogyan lehet beszerezni a módosult szoftver terméket). B. Braun Medical 55

IEC 62304 Medical Device Software Software Life-cycle processes Structure: 1. Scope 2. Normative References 3. Terms and Definitions 4. General Requirements 5. SW Development Process 6. SW Maintenance Process 7. SW Risk Management Process 8. SW Configuration Management Process 9. SW Problem Resolution Process B. Braun Medical 56

8. Szoftver konfiguráció-irányítási folyamat (Software Configuration Management Process) Biztosítani kell egy rendszert a konfigurációs elemek (szoftver elemek, SOUP-ok, dokumentumok) és verzióik egyedi azonosíthatóságára. A szoftver rendszerbeli konfigurációs elemek halmazát le kell dokumentálni, és e dokumentáció előéletét meg kell őrizni. A konfigurációs elemeket csak engedélyezett módosítási kérelem alapján szabad módosítani. A módosítás megvalósítása során azonosítani kell a megismétlendő aktivitásokat, ideértve a biztonsági osztályozásbeli változtatást is. A módosításokat ellenőrizni kell a fejlesztési- és probléma megoldási folyamatok szerint. Biztosítani kell a módosítási kérelem, az esetlegesen érintett probléma jelentés és a módosítás engedélyezésének nyomon-követhetőségét. B. Braun Medical 57

IEC 62304 Medical Device Software Software Life-cycle processes Structure: 1. Scope 2. Normative References 3. Terms and Definitions 4. General Requirements 5. SW Development Process 6. SW Maintenance Process 7. SW Risk Management Process 8. SW Configuration Management Process 9. SW Problem Resolution Process B. Braun Medical 58

9. Szoftver probléma megoldási folyamat (Software Problem Resolution Process) Aktivitások: Probléma jelentés előkészítés (kategorizálás: típus, hatály, kritikusság) A probléma okának és megoldásának felkutatása A probléma hatásainak vizsgálata, különösen a biztonságra való tekintettel Az értékelések dokumentálása Módosítási kérelem indítása Érintett felek értesítése A (!) probléma megoldása (!) a jóváhagyott módosítási kérelem alapján A módosult szoftver részek (regressziós) tesztelése A probléma megoldottságának ellenőrzése A probléma jelentés - beleértve a megoldást és az ellenőrzést - megőrzése (pl. adatbázisban) Probléma jelentések tendenciáinak analizálása B. Braun Medical 59

Példa: JIRA B. Braun Medical 60

B. Braun Medical 61

KÖSZÖNÖM A FIGYELMET