Wenn Software auf Qualität (s-Metriken) trifft – Teil 2

(Gast) Carina Schmitz

01/29/2019

SW-Metriken aus Sicht des QMS

Warum sollen Software Qualitätsmetriken im Produktlebenszyklus eingesetzt werden?

Eine Softwaremetrik bildet eine Software-Einheit in einen Zahlenwert ab. Der Zahlenwert steht für ein Maß für die innere Qualität von Software. Software Code Metriken werden eingesetzt, um in möglichst kurzer Zeit Eigenschaften von Software quantifizieren zu können. Zum einen, um ein Qualitätsmaß über den Produktlebenszyklus zu verfolgen und um Programme bei gleicher oder ähnlicher Programmiersprache miteinander vergleichen zu können.

Für die Entwicklung und Wartung von medizinischer Software stellen die ISO 13485 und die IEC 62304 den Grundstein der normativen Anforderungen dar. In Abhängigkeit der Software Sicherheitsklasse verschärfen sich die Anforderungen an die Entwicklung und Dokumentation von sicherheitskritischer Software. Im Automotive findet die ISO 26262-6 Anwendung und stellt konkrete Anforderungen an die Verifikation von Software. Hier werden u. a. in Tabelle 14 und 17 Metriken auf Software Unit und Architektur-Ebene gelistet. Die IEC 62304 ist hier weniger konkret. Dennoch bieten sich Metriken zur Erfüllung von zusätzlichen Akzeptanzkriterien für Software Einheiten (Kapitel 5.5.4 IEC 62304 : 2006) an oder als Basisvorgabe für Regressiontests und der Release-Fähigkeit der Software. Des Weiteren werden die ISO 13485 und die 21 CFR 820.250 sehr konkret im Hinblick auf den Einsatz von statistischen Methoden zur Beurteilung von Produktmerkmalen. Hier bieten Softwaremetriken eine schöne Möglichkeit quantitative Aussagen zu liefern und auch negativen Trends im Bereich Softwarequalität schnell und effektiv entgegenzuwirken.

Schwächen von Software Qualitätsmetriken

Softwaremetriken sind nur sinnvoll mit dem Einsatz von entsprechenden Tools zu ermitteln. Dabei muss der Bedienungsaufwand in den Projektplan mit einkalkuliert werden sowie etwaige Lizenzkosten. Alle eingesetzten Tools müssen für ihren Einsatzzweck validiert sein. Auch dieser Aufwand muss sinnvoll eingeplant werden.

Eine Metrik alleine kann nie eine vollständige Aussage über die Qualität der Software treffen. Metriken sollten immer in Kombination bewertet werden. Die Güte und Reife von Software kann nur in Kombination mit statischer Code Analyse, Code Reviews und funktionalen Tests final beurteilt werden. Softwaremetriken sollten nicht am Ende der Entwicklung erstellt werden, um den Auditor zufriedenzustellen, sondern sollten vielmehr kontinuierlich im gesamten Produktlebenszyklus eingesetzt werden, um die Lesbarkeit und Wartbarkeit von Source Code nachhaltig zu verbessern.

Nutzen

Sind die Tools validiert und einsatzfähig vorhanden, lassen sich Softwaremetriken sehr einfach in den Entwicklungs- und Wartungsprozess einbauen. Dies dient u. a. dazu früh potenzielle Bugs zu entdecken und nicht erst mühsam sehr viel später durch aufwendige Debugging-Sessions auf Systemebene. Der Einsatz für Lizenzkosten kann sich also sehr schnell wieder amortisieren.

Kennzahlen sind dort sinnvoll einzusetzen, wo eine quantitative Analyse von Softwareeigenschaften sinnvoll ist. Dies ist bei Softwaremerkmalen gemäß ISO 25010 im Bereich der Wartbarkeit, Effizienz, Sicherheit und Zuverlässigkeit gegeben. Andere Eigenschaften wie die der Funktionalität, Gebrauchstauglichkeit, Kompatibilität und Portabilität lassen sich nur durch geeignete Testmethoden verifizieren.

Softwaremetriken können als Instrument im Bereich der Datenanalyse (Kapitel 8.4 ISO 13485:2016) zur Ermittlung von Produktmerkmalen und deren Trends eingesetzt werden. Dabei ergibt sich zum einen die Möglichkeit negativen Trends entgegenzuwirken und zum anderen generell einen Mechanismus zur Möglichkeit der Verbesserung zu implementieren. Regulativ geforderte Kennzahlen sind mit dem Einsatz von Softwaremetriken einfach, objektiv und effizient in den Prozess zu integrieren.

Der Einsatz und die Weiterverfolgung der Softwaremetriken auch nach dem Produkt-Release kann dazu dienen den Code robuster werden zu lassen, die Wartbarkeit zu erhöhen und insgesamt einen Beitrag zu Kundenzufriedenheit und sicherer Software zu leisten.

Literatur, Links und Schulungen

  • Basiswissen Softwaretest – Andreas Spillner und Tilo Linz
  • Softwaretest für Embedded Systems – Stephan Grünfelder
  • Basiswissen medizinische Software – Christian Johner, Matthias Hölzer-Klüpfel und Sven Wittorf
  • Zertifizierung: ISTQB Certified Tester
  • Zertifizierung: Certified Professionel for medical software
  • Embarc, Architektur Spicker – quantitative Analyse: (https://www.embarc.de/architektur-spicker/)

Geschrieben von (Gast) Carina Schmitz

Carina Schmitz ist Ingenieurin der Medizintechnik und Consultant bei be-on-Quality GmbH. Ihre Aufgaben umfassen dabei die Betreuung von Kunden rund um Qualitätsmanagementsysteme (ISO 13485, 21CFR820) und Zulassungsstrategien von Medizinprodukten. Durch langjährige Erfahrung im Bereich Verifikation und Validierung, besteht ein großes Verständnis von Entwicklungsaufgaben und deren Prozesssteuerung. Die kontinuierliche Verbesserung von Unternehmensabläufen durch die qualifizierte Durchführung von internen Audits und Inspektionen rundet das Profil ab.


Weitere Beiträge

  • 12/11/2024
  • Allgemein, Software, Testen, Tools

In sicherheitskritischen Softwareprojekten steht die Qualität der Software an erster Stelle. Besonders bei Klasse-C-Software, die nach strengen Normen wie IEC 62304 (Medizintechnik) zertifiziert werden muss, ist es essenziell, dass ...

Weiterlesen
  • 08/08/2024
  • Allgemein, Elektrostimulation, Software, Testen

Heutzutage sind Apps im Gesundheitsbereich sehr wichtig. Besonders Apps, die Daten von medizinischen Sensoren lesen und verarbeiten können, sind nützlich. Flutter ist ein Open-Source-Framework von Google, das sich hervorragend ...

Weiterlesen
  • 30/06/2024
  • Allgemein, Hardware, Software, Technik, Tools, Usability

KI – Was ist das denn überhaupt? Künstliche Intelligenz ist zurzeit in aller Munde, doch die wenigsten Menschen beschäftigen sich mit der Funktionsweise von künstlicher Intelligenz oder damit, was ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies