Traceability – Die Alptraum-Anforderung vieler Normen

Via Johner Institut • Prof. Dr. Christian Johner • 30.09.2020
1.013K Views | 0 Notes

Unter Traceability versteht man die Nachvollziehbarkeit verschiedener Aktivitäten entlang des Entwicklungslebenszyklus. Die für Medizinprodukte spezifischen Normen wie die ISO 14971 und die IEC 62304 stellen teilweise konkrete Anforderungen an die Traceability.

 

Traceability und IEC 62304

Die IEC 62304 verlangt die Traceability u.a.

  • von den System-Anforderungen zu den Software-Anforderungen
  • von den Software-Anforderungen in die Software-Architektur
  • vom detaillierten Design zur Software-Architektur
  • von den Software-Systemtests zu den Software-Anforderungen

 

a) Traceability zwischen Software-Anforderungen und Software-Architektur

„Der Hersteller muss verifizieren und dokumentieren, dass die Software-Architektur die System- und Software-Anforderungen […] implementiert“ lautet die Forderung der IEC 62304 im Kapitel 5.3.6 zur Verifizierung der Software-Architektur. Ein kurzer Satz, der viele Herstellern fragen lässt: „Und wie mache ich das?“

Diese Nachverfolgung der Software-Anforderungen zur Software-Architektur ist alles andere als trivial. Oft gelingt es noch, die Anforderungen eindeutig zu nummerieren. Ab wie soll man von dort auf ein einziges Architektur-Dokument verlinken können? Ein Dokument, in dem die verschiedensten architekturellen Aspekte behandelt werden: Von der Wahl der Programmiersprache über ER-Diagramme für die statische Sicht bis hin zu UML-Verteilungsdiagrammen und Begründungen für bestimmte Architekturpattern.

 

Antipatterns

Diese Verbindung (die Traceability zwischen Requirements und Architektur) wird besonders dann Schwierigkeiten bereiten, wenn das Architekturdokument viel (unstrukturierten) Fließtext enthält. Fließtext ist manchmal herausfordernd. Denn unsere Sprache ist so vielgestaltig und nuanciert, dass die Eindeutigkeit schnell leidet:

Eine Passivkonstruktion, und schon muss man über den Akteur keine Aussage machen. Ein Konjunktiv, und schon bleibt es im Unklaren, ob dieser Aspekt verpflichtend ist oder nicht, oder nur eine Überlegung des Autors wiedergibt.

Dennoch kann es hilfreich sein mit Fließtext den Kontext zu beschreiben.

 

Best Practices

Daher das Plädoyer:

  • Nutzen Sie lieber Modelle statt Text. Hier sind die Ausdrucksmöglichkeiten sehr eingeschränkt und die Aussagen damit eindeutiger. Modelle in Form von Bildern erlauben einen schnellen Überblick und einfachere Diskussion.
  • Halten Sie Ihr UML-Diagramm „sauber“ von zu vielen Metadaten. Verunstalten Sie es nicht durch Links zu den Software-Anforderungen. Ich empfehle Ihnen aber, im UML-Klassen/Komponentendiagramm die Sicherheitsklassen gemäß IEC 62304 (farblich) zu kennzeichen, ebenso Komponenten anderer Hersteller (SOUPs).
  • Strukturieren Sie das Architektur-Dokument in viele Kapitel. Ein Textabschnitt sollte eine halbe Seite nicht überschreiten, bevor er durch eine neue Überschrift unterbrochen wird. So können Sie über die Überschriften relativ genau auf einen Architekturaspekt verweisen (verlinken): „realisiert in Komponente X (siehe Kapitel m)“, „wird berechnet durch Methode Y (siehe Kapitel n)“, „ist gelöst durch Wahl der Technologie Z (siehe Kapitel o)“.
  • Fügen Sie ein eigenes Kapitel (ggf. sogar ein eigenes Dokument) ein, das der Traceability gewidmet ist. Listen Sie darin die Anforderungen (erneut) auf und schreiben Sie zu jeder einen ganz kurzen Satz mit einem Verweis auf eines dieser Teilkapitel im Architekturdokument.

 

b) Traceability zwischen Software-Anforderungen und Software-Systemtests

Das Tracing zwischen Software-Anforderungen und Software-Systemtests gestaltet sich hingegen oft etwas einfacher, da Sie sowohl die Software-Anforderungen als auch die Software-Systemtests (im Gegensatz zu Architekturaspekten) einfach durchnummerieren können.

Allerdings benötigt man für diese Traceability zwischen beiden eine n:m-Beziehung. Das lässt sich über eine Tabelle ausdrücken, die zeigt, welche Systemtests welche Anforderungen testen, und welche Anforderungen durch welche Systemtests geprüft werden. Noch mehr eigenen sich Werkzeuge (s.u.).

 

Lesen Sie mehr über Traceability im Zusammenhang mit der ISO 14971, der IEC 60601-1 und allgemeinen Werkzeugen unter johner-institut.de.

Bild des Benutzers Carolin Freude
Kuratiert
am 01.12.2020 von
Carolin Freude