Schlagwort: Systemanforderungen – System Requirements Specification

Systemanforderungen und Systemspezifikationen
(System Requirements Specification)

Der englische Begriff „System Requirements Specification“ wird oft als Systemanforderungen oder System-Spezifikation übersetzt. Streng genommen sind beide Begriffe aber nicht deckungsgleich:

  • Eine Systemspezifikation spezifiziert, wie sich das System aus Blckbox-Sicht d.h. über seine Schnittstellen (z.B. über die GUI oder Datenschnittstellen) verhalten soll. Mehr dazu lesen Sie weiter unten auf dieser Seite.
  • Die Systemanforderungen sind Anforderungen an das System „unter der Haube“. Ein Beispiel wäre die Forderung, dass das System Daten (in einer Datenbank) speichern können soll. Dabei wäre die Forderung nach einer Datenbank bereits eine Einschränkung des Lösungsraums.

In den allermeisten Fällen lassen sich Systeme ausreichend vollständig als Blackbox spezifizieren, so dass die Systemanforderungen damit je nach Sichtweise obsolet werden oder mit der System-Spezifikation zusammenfallen. Auch Normen wie die IEC 62304 unterscheidet Software-Anforderungen und Software-Spezifikation nicht.

Weiterführende Informationen

Häufig dokumentiert man Anforderungen in einem Lastenheft oder Pflichtenheft. Lesen Sie hier mehr, auf was Sie beim Schreiben dieser Dokumente beachten müssen.

Systemanforderungen bzw. Systemspezifikation als Blackbox-Modell beschreiben

Um System Requirements Specifications (SRS) konsistent und vollständig zu beschreiben, schlagen wir als mentales Modell die Blackbox vor. Wenn man sich ein Medizinprodukt als Blackbox vorstellt, werden die Schnittstellen, die diese zur „Außenwelt“ haben, offensichtlich:

  • Benutzer-System-Schnittstelle (UI)
  • Datenschnittstellen wie APIs, Bus-Systeme, Webservices und andere „Ethernet-Schnittstellen“
  • Mechanische Schnittstellen wie Griffe oder das Gehäuse
  • Elektrische Schnittstellen: Ein Stromanschluss lässt sich ebenfalls aus Blackbox-Sicht spezifizieren, nämlich die Anzahl und Geometrie der Kabel, die Befestigung dieser, die Spannung und erlaubte Schwankungen, Kapazität des Systems bzw. Phasenverschiebungen von Strom und Spannung, erwartete Stromstärken und Verhalten bei Kurzschluss
  • „Wasser-Schnittstellen“: in Wasseranschluss könnte beschrieben werden über den mechanischen Formfaktor z.B. des Schlauchs und des Gewindes, über den erwarteten Druckbereich, die minimale und maximale Flussgeschwindigkeit und die Güte bzw. Reinheit des Wassers
  • Weitere Schnittstellen wie „Druckluftschnittstellen“.

Black Box zur Beschreibung von System-Anforderungen (Ssytem Requirements Specifications)

Weiterführende Informationen

Lesen Sie hier mehr zum Thema Software-Anforderungen.

Formulierungsschablone für Systemanforderungen

Um Systemanforderungen bzw. Systemspezifikationen auszudrücken, empfehlen sich Satzschablonen wie die folgende:

[<Voraussetzung|Bedingung>] <muss|soll> das System [< die Möglichkeit bieten|untersagen>] [nicht] .

Beispiele:

  • 30 sec nach dem Start muss das System auf dem Display den Status anzeigen.
  • Wenn das Feld mit dem Patientennamen nicht ausgefüllt ist, muss das System beim Drücken des „Speichern-Buttons dem eine Popup-Dialog mit dem Text ‚Sie müssen zuerst den Patientennamen ausfüllen’ anzeigen.
  • Wenn über den CAN-Bus das Flag #CD13 nicht gesetzt ist, muss das System den Motor über PIN13 ausschalten.

Diese Formulierungsschablone hilft auch, „weak words“ zu vermeiden. Diese „Weichmacher“-Wörter sind starke Hinweise auf unpräzise Anforderungsdokumente. Dazu zählen Wörter wie

ausreichend, beinahe, circa, eben, eher, einfach, fast, gar, genug, gering, gut, häufig, irgend*, kaum, klein, leicht, manchmal, mehr, meist, nahezu, öfters, sehr, schnell, schon, schön, sonstige, übrige, verschieden, viel, zahlreich, zunächst, usw.

Diese Wörter lassen sich übringens mit einem Werkzeug schneller und zuverlässiger finden als mit einem Review.

Die Prüfung von Systemanforderungen sollte aber nicht nur die Einhaltung der Formulierungsrichtlinie umfassen. Vielmehr ist es wichtig, diese auf Stakeholder-Anforderungen oder im Falle eines Subsystem (PESS) auf die Anforderungen eines übergeordneten Systems (PEMS) zurückführen zu können.

Für IEC 62304 konforme Anforderungen an Software-Systeme sollte sie inhaltlich alle Aspekte berücksichtigen, die ich im Auditgarant vorstelle.

Software-Systemanforderungen

Wie Sie diese Schnittstellen insbesondere bei Medizinprodukten, die Software enthalten oder die standalone Software sind, gesetzeskonform (insbesondere konform mit der IEC 62304 Kapitel 5.2 zu den Software-Anforderungen) beschreiben, finden Sie auf der Seite zu den Software-Anforderungen (Software System Requirements Specification SSRS beschrieben.

PS: Wenn Sie die IEC 62304 Kapitel 5.2. untersuchen, wie Softwareanforderungen zu beschreiben sind, wird Ihnen Vieles bekannt vorkommen. Ihnen werden auch Fehler bzw. Inkonsistenzen in der Norm auffallen.

PPS: Die Blackbox-Metapher wird Ihnen sehr nützlich beim Spezifizieren von Blackbox-Tests sein.