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

Hasonló dokumentumok
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 PEMS BEÁGYAZOTT SZOFTERÉNEK FEJLESZTÉSE

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

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

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,

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

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

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

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

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

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,

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

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

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

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

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

(Teszt)automatizálás. Bevezető

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

Szoftverminőségbiztosítás

A szoftver tesztelés alapjai

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

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

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

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

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,

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

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

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

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

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

MIÉRT KELL TESZTELNI?

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

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

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

A CMMI alapú szoftverfejlesztési folyamat

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

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

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

Szoftverminőségbiztosítás

A szoftverfejlesztés eszközei

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

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

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

Szoftverminőségbiztosítás

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

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

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

Szoftverfejlesztés teszteléssel

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

A szoftverellenőrzés szerepe

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

Modell alapú tesztelés mobil környezetben

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

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

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

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

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

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

Szoftver karbantartás

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

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

A dokumentáció felépítése

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

Bevezetés a programozásba

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

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

UML (Unified Modelling Language)

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

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ó

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

Tesztelési szintek Tesztautomatizálás

Szoftver újrafelhasználás

Orvosi eszközök gyártmányfejlesztése Az orvostechnikai eszközök Uniós normatív szabályai

S01-7 Komponens alapú szoftverfejlesztés 1

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

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

IRÁNYTŰ A SZABÁLYTENGERBEN

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

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

Univerzális munkafolyamat szimulátor

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

Fejlesztés kockázati alapokon 2.

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

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

Szoftver min ség és menedzsment

ELTE, Informatikai Kar december 12.

Szabálykezelés a gyakorlatban

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

ISO 9001 kockázat értékelés és integrált irányítási rendszerek

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

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

Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto

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)

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

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

8.3. AZ ASIC TESZTELÉSE

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

Üzletmenet folytonosság menedzsment [BCM]

Átírás:

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

Bemutatkozás Dolgos Márton Okleveles villamosmérnök (2008) Bay Zoltán Alkalmazott Kutatási Közalapítvány - Junior kutató (2006) B.Braun Medical Kft., Fejlesztő csoport - Hardver fejlesztő gyakornok (2006-2008) - Fejlesztőmérnök (2008-2011) - Fejlesztőmérnök, témavezető (2011- ) Kérdés esetén elérhetőség: eva.kuzma@bbraun.com BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 2

Tartalom PEMS fogalma PEMS fejlesztési ciklus - SW helye SW Risk Management SW Development SW Maintenance SW Configuration Management SW Problem Resolution BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 5

Komplex rendszer A PEMS nagyobb alrendszerekre bontódik le, amelyek sorra olyan alrendszerekből épülnek fel, amelyek PESS-t tartalmaznak BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 6

PEMS Fejlesztési ciklus - V model ( MSZ EN IEC 60601-1-4) BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 10

BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 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). BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 12

Szoftverfejlesztési FOLYAMATOK és AKTIVITÁSOK áttekintése BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 13

More stories More Increments More Releases 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 Project 5.1 SW Development Planning - Project 5.2 SW Requirements Analysis High-Level, Backlog Management 5.3 SW Architectural Design Infrastructure, Spikes For Each Story For Each Release For Each Increment 5.1 SW Development Planning - Increment 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 - Release BA-HU A.Csík Medical device software Page 19 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 14 5.6 SW Integration and Integration Testing 5.7 SW System Testing & Regression Testing 5.6 SW Integration and Integration Testing 5.7 SW System Testing & Regression Testing 5.8 SW Release

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ó. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 15

Egy szoftver rendszer (62304) helye a PEMS-ben BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 16

Definíciók (2) Szoftver elem (Software Item) Szoftver elem bármilyen azonosítható számítógép program rész lehet. 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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 17

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. Nyomonkövethetőség (Traceability) A feljeszté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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 18

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 19

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 nem lehet hatékonyan végezni csak úgy, 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. 2. A szoftvertől megkövetelt védőintézkedéseket definiálni és implementálni kell. 3. A szoftvertől megkövetelt védőintézkedéseket ellenőrizni kell. 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. * Az előadásban szereplő szövegek részben a szabvány értelmezésének (ANNEX A és B) magyarnyelvű szabad fordításai. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 20

Kockázat mátrix (Ismétlés RM) BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 21

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á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. A biztonsági osztálynak megfelelő aktivitások/feladatok vonatkoznak az adott szoftver elemre. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 22

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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 23

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 24

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 25

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 26

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 27

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. Kockázat-irányítási aktivitás Egyedileg azonosítottak. Nyomon követhetőek a forrásukig. A biztonsággal kapcsolatos követelmények (szoftveres védőintézkedések) definiálása, ellenőrzése. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 28

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: Kockázat-irányítási aktivitás 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. 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 kozká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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 29

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 lépé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. 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, illetve 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 így csökkenthető. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 30

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 (Rendszer architektúra) User Input Buzzer Vezérlő HW SW Pumpa Vezérlő [B] Ellenőrző [C] Részletes terv OS (SOUP) 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 Implementáció void Vezerlo() { while(1) SetPumpSpeed(ReadSetting()); } void Ellenorzo() { while(1) { if(getpumpspeed()!= ReadSetting()) BuzzerEnable(); else BuzzerDisable(); } } BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 31

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 32

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, stb.), unit teszt, manuális kódátvizsgálás. 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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 33

PÉLDA: Szoftver egység ellenőrzési és integrációs eszköz architektúra QA-C AutoTester (&Trace32,...) Build Server SVN Jenkins Sonar Lint (single) AutoTester (single) BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 34

BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 35

Szoftver rendszer fejlesztési életciklus modell - IEC 62304 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 36

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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 37

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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 38

BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 39

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ó. A 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). BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 40

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: Kockázat-irányítási aktivitás 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 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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 41

BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 42

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; BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 43

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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 44

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 45

6. Szoftver karbantartási folyamat (Software Maintenance Process) Development process Maintenance 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 = 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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 46

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. A 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). BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 47

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 48

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. BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 49

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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 50

8. 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 BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 51

Köszönöm a figyelmet! Kérdések? BA, R&D Machines, Location Budapest M. Dolgos, BBMH Orvosi eszközök gyártmányfejlesztése Page 52