Nachweis von IEC 62304 mit der LDRA Werkzeugreihe®
| IEC 62304 Übersicht | IEC 62304 Einhaltung | Glanzlichter der LDRA Werkzeugreihe |
Elektronische Geräte werden nunmehr in der Medizintechnik extensiv genutzt und diese elektronischen Produkte werden immer abhängiger von eingebetteter Software. Das Problem der Zuverlässigkeit und das damit verbundene Risiko der Verwendung eingebetteter Software in diesen Geräten werden immer wichtiger.
Als Ergebnis hat sich der IEC 62304 Standard als globaler Maßstab für das Verwalten des Softwareentwicklungslebenszyklus' heraus kristallisiert. Der EC 62304 Standard gibt einen Rahmen vor für die Softwareentwicklungslebenszyklus-Prozesse mit Aktivitäten und Aufgaben, die notwendig für den sicheren Entwurf und die Wartung von Software für medizinische Geräte.
Dieser Standard wird auf die Entwicklung und die Wartung von Software für medizinische Geräte angewendet, wenn:
Der IEC Standard erwartet vom Anbieter dass dem Softwaresystem als Ganzes eine Sicherheitsklasse zugeteilt wird. Diese Klassifizierung basiert auf dem Potential einen Zufallsfehler zu erzeugen, der in einer Verletzung des Anwenders, des Patienten oder anderer Leute gipfelt. Die Software ist wie folgt in drei Klassen eingeteilt:
Diese Sicherheitsklassifizierung hat einen dramatischen Einfluss auf den Codeentwicklungsprozess.
Diese Klassifizierung bestimmt auch den Aufwand und die Kosten, die mit der Entwicklung des medizintechnischen Gerätes einhergehen, der Aufwand und die Kosten für die Produktion eines solchen Gerätes der Klasse C ist naturgemäß sehr viel höher als für ein Gerät der Klasse A.
Es liegt daher im Interesse der Anbieter solcher medizintechnischer Geräte, dass sie sofort richtig liegen um zu einem späteren Zeitpunkt in einem Projekt zeit- und kostenaufwendige Umarbeiten zu vermeiden.
Die Hersteller medizintechnischer Geräte sollten rigorose Softwareentwicklungslebenszyklus-Prozesse in Übereinstimmung mit IEC 62304 implementieren, die Anforderungsverfolgung, Softwareentwurf, Kodierung und Softwarevalidierung und -verifizierung umfassen.
Beide Werkzeuge für die Softwareanalyse und die Anforderungsverfolgung sind wesentlich für kosten sensitive Projekte. LDRA hat extensive Erfahrungen auf diesem Spezialgebiet mit der LDRA Werkzeugreihe®, welche die umfassendsten Möglichkeiten zur Anforderungsverfolgung, der Quellcodeanalyse und dem Testen auf IEC 62304 Softwareentwicklungs- und Verifizierungsanforderungen für Firmen zur Verfügung stellt. Da die Anwendung von IEC 62304 sich immer mehr verbreitet, ist die Wahl der Werkzeuge, denen eine umfassende Expertise zugrunde liegen, wesentlich.
Zwecks weiterführenden Informationen über TBrun und seiner Verfügbarkeit füllen Sie bitte das LDRA Antwortformular aus oder schreiben unter info@ldra.com an LDRA.
IEC 62304 wurde aus dem Stand der Technik entsprechenden Softwarewissen und den besten Praktiken wie sie in aktuellen Sicherheitsstandards wie IEC 61508-3 Anwendung finden, abgeleitet. Der IEC 61508 Standard wurde zur Anwendung als Basis für andere spezifische sicherheitstechnische Industriestandards entwickelt. Beispiele sind CENELEC prEN 50128 Standard im Eisenbahnwesen, der IEC 61511 Standard in der Prozessindustrie und der IEC 61513 (IEC 68808) Standard in Atomindustrie.
Die LDRA Werkzeugreihe hat eine lange Erfolgs- und Erfahrungsgeschichte zum Nachweis solcher Standards und ist daher die logische Wahl, wenn IEC 62304 nachgewiesen werden soll.
Die LDRA Werkzeugreihe deckt den Hauptteil des Qualitätsverwaltungssystems als auch der Anforderungsverwaltung ab. Sie ist die logische Wahl sowohl für den Nachweis risikobasierter Standards wie DO-178B/C als auch integritätsbasierter Standards wie IEC 61508.
Die Verwendung von Anforderungsverfolgungs- und Analysewerkzeugen für medizinische Geräte für die IEC 62304 nachgewiesen werden soll bietet signifikante Produktivitäts- und Kostenvorteile. Werkzeuge gestalten den Nachweis des Standards leichter, weniger fehleranfällig und kosteneffektiver. Zusätzlich gestalten sie die Erzeugung, die Verwaltung, die Wartung und die Dokumentation der Anforderungsverfolgung einfach und kostengünstig. Wenn ein Testwerkzeug zum Nachweis von IEC 62304 ausgewählt werden soll, dann sollten die folgenden Kriterien berücksichtigt werden:
Das LDRA Testbed erfüllt alle die genannten Kriterien.
Zwecks weiterführenden Informationen über TBrun und seiner Verfügbarkeit füllen Sie bitte das LDRA Antwortformular aus oder schreiben unter info@ldra.com an LDRA.
IEC 62304 Paragraph 5 beschreibt den Softwareentwicklungsprozess im Einzelnen. Er beschäftigt sich detailliert mit:
IEC 62304 Paragraph 6 beschreibt den Softwarewartungsprozess im Einzelnen wie folgt:
Zusätzlich beschreibt EC 62304 Paragraph 7 den Softwarerisikoverwaltungsprozess wie folgt:
Da diese Themen in diesem Teil des Standards entwickelt werden, wird klar, dass unabhängig von der Geräteklasse A, B oder C Assistenz von der LDRA Werkzeugreihe möglich ist, und zwar auf jeder Stufe des Weges hin zum Nachweis des Standards.
Das folgende V-Diagramm illustriert wie die LDRA Werkzeugreihe zum Softwareentwicklungsprozess wie in IEC 62304 beschrieben beitragen kann.
5.1 Softwareentwicklungsplanung
Diese AKTIVITÄT verlangt nach einer Softwareverifizierungsplanung, TBreq /TBmanager hilft hierbei mittels TBmanager, in dem hier ein detaillierter Softwareverifizierungsplan für die Softwareanforderungen erstellt werden kann; Dieser Softwareverifizierungsplan enthält Aufgaben, die Anwender zugewiesen werden und die während der Softwareverifizierung durchgeführt werden müssen. Zur Unterstützung des Verifizierungsplanungsprozesses stellt die Werkzeugreihe verschiedene Planungshilfen wie beispielsweise den LCSAJ Testfallplaner zur Verfügung.
5.2 Softwareanforderungsanalyse
Diese Aktivität ist erforderlich um die Softwareanforderungen für die medizinischen Geräte zu verifizieren. Alle Softwareanforderungen sollten in der Weise identifiziert werden, so dass es möglich ist die Verfolgbarkeit zwischen der Anforderung und dem Softwaresystemtest zu demonstrieren.
TBreq/TBmanager assistieren hierbei mittels ihrer Möglichkeiten zur technischen Planung der Anforderungen und ihrer Verfolgung zwischen den Entwurfsdokumenten in den verschiedenen Stadien des Entwurfs und der Entwicklung im gesamten Projekt.
TBreq/TBmanager verwalten automatisch alle Änderungen, die in den assoziierten Dokumenten oder dem Softwarecode vorgenommen werden, so dass alle Tests, die im Zusammenhang mit solchen Änderungen stehen automatisch gekennzeichnet werden und damit entsprechend behandelt werden können.
Diese Verfolgbarkeit ist gleichermaßen gegeben zwischen den Spezifikationen auf hoher Ebene und den Spezifikationen und dem entsprechenden Quellcode. Die LDRA Werkzeugreihe zeigt wo Revisionen an einem Dokument eine Überprüfung und Behandlung an anderen Dokumenten notwendig sind.
5.4 Detaillierter Softwareentwurf
Der Standard zeigt an, dass der Entwurf geändert werden muss. Die graphischen Artefakte, die von der LDRA Werkzeugreihe erzeugt werden, sind ideal dafür geeignet den implementierten Entwurf mit den Entwurfsartefakten entweder durch das einzelne Hindurchgehen oder mittels gezielter Inspektionen zu vergleichen. Er hilft auch beim Auffinden von Entwurfsanomalien. Diese Unterstützung erfordert, dass die Softwarearchitektur als Prototyp in einer Programmiersprache vorliegt (Java, C, C++ oder Ada).
Das LDRA Testbed kann Entwurfsüberprüfungen vornehmen und Datenflussreports erzeugen, so dass Informationen bezüglich der Schnittstellenspezifikation, Variablenanomalien und Prozeduraufrufe zur Verfügung stehen.
Basierend auf der Entwurfsüberprüfung kann der Programmeinheits-/Integrationstest für die Funktions- oder die strukturierte Überdeckungsanalyse durchgeführt werden.
Die LDRA Werkzeugreihe erzeugt graphische Artefakte wie Aufrufgraphen, Flussgraphen, Stabdiagramme und Kiviat Diagramme, die ideal dazu geeignet sind den implementierten Entwurf mittels visueller Inspektion zu überprüfen.
5.5 Softwareeinheitimplementierung und -verifizierung
Diese Aktivität ruft nach der Anwendung von Kodierstandards während der Implementierung der Softwareeinheiten. Der Code für jede Einheit sollte verifiziert werden um sicherzustellen, dass sie so funktioniert wie im detaillierten Entwurf festgelegt und dass sie die spezifizierten Kodierstandards erfüllt.
Das LDRA Testbed und TBvision haben umfangreiche Standardnachweismöglichkeiten, einschließlich der Nachweise der führenden Industriestandards wie MISRA C und C++, HIS, CERT C usw.
Die statischen Analysefunktionen sind in der Lage nahezu 100 spezielle Kodierregeln, die auf formalen Methoden basieren, anzuwenden. Diese Kodierregeln finden in der Regel Fehler auf, die für gewöhnlich während der Softwareintegration eingeführt werden.
Der Standard verlangt ebenso nach der Etablierung von Strategien, Methoden und Prozeduren zur Verifizierung jeder Softwareeinheit. Wird die Verifizierung durch Tests nachgewiesen, müssen die Testprozeduren auf Korrektheit evaluiert werden. Die Akzeptanzkriterien müssen Daten- und Kontrollfluss enthalten, Auffinden von Speicherüberläufen als auch die Überprüfung aller Softwarerandbedingungen.
TBrun stellt eine graphische Benutzerschnittstelle zur Programmeinheitstestspezifikation zur Verfügung um Tests gemäß der festgelegten Spezifizierung sowie der Randbedingungen zu erzeugen. Als einer der Ergebnisse wird eine Liste aller definierten Testfälle, versehen mit einem Passt/Passt nicht (pass/fail) Statusattribut erzeugt. Gleichzeitig werden auch Kontrollflussgraphen als Ergebnis mitgeliefert.
Die automatische Erzeugung der Testrahmenrumpffunktionen (Stub) und sogar der Testvektoren (wenn gewünscht) bedeutet, dass die Programmeinheitstestausführung ein schneller und leichter Prozess wird, der lediglich ein Minimum an spezialisiertem Wissen erfordert.
Das statische Datenflussanalysemodul erzeugt Informationen wir Prozeduraufrufe, Datenflussanomalien, Prozedurschnittstellenanalyse und Datenflussstandardverletzungen. Die dynamische Datenflussüberdeckung erzeugt eine Querverweisliste der Variablen, die anzeigt, wo sie innerhalb der Quelldatei(en) oder dem zu testenden System und wie sie verwendet wurden. Das Modul überträgt dann die Überdeckungsinformationen auf jede Variable der Tabelle für die aktuell und kombinierten verwendeten Testdatensätze.
5.6 Softwareintegration und Integrationstest & 5.7 Softwaresystemtest
Der Softwareintegrationstest legt den Schwerpunkt auf den Transfer des Steuer- und Datenflusses zwischen den internen und externen Schnittstellen einer Softwareeinheit. Der Integrationstest demonstriert das Verhalten des Programmes an den Rändern seiner Eingabe- und Ausgabebereiche und testet das Verhalten der Programmeinheit bezüglich ungültiger, unerwarteter und spezieller Eingaben.
Der Softwaresystemtest demonstriert, dass die spezifizierte Funktionalität vorhanden ist. Dieser Test verifiziert die Funktionalität und die Leistungsfähigkeit des Programmes anhand der vorgegebenen Anforderungen an die Software.
Strukturierte Überdeckungsmetriken wie Anweisungs-, Verzweigungs-, Bedingungs-, Prozedur-/Funktionsaufruf-, LCSAJ und Datenflussüberdeckung werden von beiden Modulen (Programmeinheits- und Systemtestmodul) der LDRA Werkzeugreihe erbracht. Diese beiden Pakete können auch Tandem zusammenarbeiten, so dass (zum Beispiel) Überdeckungswerte für den größten Teil des Quellcodes mittels einem dynamischen Systemtest erzeugt und mit Programmeinheitstests an defensiven und anderen Codebereichen vervollständigt werden können. TBrun erzeugt vor dem Speichern einen Testfall Pass/Fail Bericht, der eine umfangreiche Beschreibung des zuletzt ausgeführten Testfalls in der Testfallfolge enthält. Die Datei, die Programmeinheit und die Werte für die Ein- und Ausgaben sind für alle Testfälle detailliert beschrieben. Er dokumentiert zusätzlich die aktuellen und die erwarteten Resultate und vergibt an sie ein Regressionsattribut mit den Werten Pass/Fail.
Die LDRA Werkzeugreihe hält alle Testfolgen und Testfälle vor, so dass sie wiederholt werden können. Das Werkzeug führt automatisch eine Regressionsanalyse durch und erzeugt einen Regressionsreport, der das Pass/Fail Kriterium für die ausgeführten Regressionstests dokumentiert.
IEC 62304 Paragraph 6 beschreibt detailliert den Software Wartungsprozess
Da viele Vorfälle im Feld mit dem Service oder der Wartung medizinischer Systeme einschließlich ungeeigneter Softwareaktualisierungen und -erweiterungen zusammenhängen, wird der Softwarewartungsprozess als ebenso wichtig erachtet wie der Softwareentwicklungsprozess. Dies rührt von der Tatsache her, dass ein hoher Prozentsatz von Softwaredefekten in medizinischen Geräten versehentlich nach der Freigabe des Produktes eingeführt werden (d. h. während der Softwarewartung). Der Softwarewartungsprozess ist dem Softwareentwicklungsprozess sehr ähnlich.
Die spezifischen Anforderungen für den Softwarewartungsplan können mittels des TBmanager Moduls durchgeführt werden. Die dabei festgelegten Anforderungen können anschließend zur automatischen Erzeugung eines Dokumentes in einem vorgegebenen Format mittels der Reporterzeugungsfunktionen von TBmanager verwendet werden.
Die LDRA Werkzeugreihe speichert viele der Aktivposten (Anforderungen, Code, Tests usw.), die während des Softwareentwicklungsprozesses anfallen und stellt sie für Änderungen zur Verfügung. Darüberhinaus stellt die LDRA Werkzeugreihe extensive Regressionstestmöglichkeiten zur Verfügung, die bei der Sicherstellung der Konsistenz mit den Anforderungen behilflich sind.
IEC 62304 Paragraph 7 beschreibt detailliert den Software Risikoanalyseprozess
Dieser Standard erfordert die Verwendung eines RISIKOVERWALTUNGSPROZESSES, der ISO 14971erfüllt. RISIKOVERWALTUNG, wie in ISO 14971 definiert, beschäftigt sich mit einem Rahmen für die effektive Verwaltung der RISIKEN, die mit der Verwendung medizintechnischer Geräte einhergehen.
Wie in Bild 4 gezeigt, unterstützt die LDRA Werkzeugreihe einen systematischen und umfassenden Ansatz zur Risikobewertung und der Risikoverwaltung dadurch, dass sie Risikoverwaltungszielsetzungen in ein verifizierbares Anforderungsmodell einbindet. In diesem Modell werden regulatorische Anforderungen direkt in die Anforderungsspezifikation integriert und die Risikominderungsaktivitäten können direkt spezifiziert werden.
Die Risikominderungsaktivitäten können können entworfen und so kategorisiert werden, dass sie spezifische Kriterien erfüllen. Wie in Bild 5 dargestellt können vom Anwender definierte Risikoverwaltungstechniken im Risikoverwaltungsmodell verwendet werden.
Die Analyse- und Testmöglichkeiten der LDRA Werkzeugreihe können zur Verifizierung von Risikosteuerungsmaßnahmen, die in der Software implementiert sind, verwendet werden. Die automatisierten Verfolgbarkeitsfunktionen, die in TBmanager vorhanden sind, helfen dabei Softwarerisiken zu dokumentieren und garantieren deren Verfolgbarkeit.
Die LDRA Werkzeugreihe und TBmanager können dabei behilflich sein die Auswirkungen der Risiken von potentiellen Fehlern durch geänderte Software zu bestimmen. Diese Auswirkungen können mittels der Entwurfsüberprüfungsmoduls und die Anwendung sicherheitskritischer Kodierregeln des LDRA Testbeds bestimmt werden. Die LDRA Werkzeugreihe hilft ebenso beim Abschätzen der Auswirkungen von vorgeschlagenen Änderungen vorhandener Risikoverwaltungsmaßnahmen. Dies wird erreicht durch das Vorhandensein verschiedener Verfolgbarkeitsmatrizen über folgende Aktivposten (wie in Bild 4 oben, Risikoverwaltungsmodell, dargestellt).
Zwecks weiterführenden Informationen über TBrun und seiner Verfügbarkeit füllen Sie bitte das LDRA Antwortformular aus oder schreiben unter info@ldra.com an LDRA.
| Email: | info@ldra.com |
| Tel EMEA: | + 44 (0) 151 649 9300 |
| Tel USA: | (650) 583 8880 |
| Tel India: | +91 80 4080 8707 |