Systemmodellierung

Requirements Engineering mit der SysML

Seite: 2/3

Anbieter zum Thema

Modellierung in mehreren Schritten

Um sich einen Überblick über das zu modellierende System zu verschaffen, kann ein Requirements Engineer mit der SysML zunächst die Umgebung seines Systems modellieren, also die externen Systeme, mit denen das zu entwickelnde System Daten austauscht (Bild 1). Dabei werden sowohl technische Systeme als auch Umwelteinflüsse oder Personen als Umgebung aufgefasst. Wir verwenden als Kontextdiagramm hier ein Blockdiagramm mit Aktoren.

Aus dem Kontextdiagramm können Schnittstellen entwickelt und High-Level-Requirements abgeleitet werden. Zusammen mit Anforderungen aus anderen Quellen (Kundenbefragung, Marketing, Dokumente zu vorhandenen Produktversionen) lässt sich daraus das Lastenheft entwickeln. Beispielsweise könnte man ableiten, dass die Infrastruktur in den geplanten Verkaufsländern keinen Strombetrieb zulässt und deshalb eine kraftstoffbetriebene Lösung notwendig ist.

Falls wir keinen systeminternen Kraftstofftank wollen, muss Kraftstoff vom Auto zur Standheizung fließen. Da die Umgebung auch die Innentemperatur beeinflusst und damit die Heizperiode, sollten wir auch die Außentemperatur messen und zu dessen Ermittlung die Bordelektronik des Autos benutzen. Daraus folgt dann wieder, dass eine Schnittstelle zwischen dem Steuergerät und der Software der Standheizung und der Software und Sensorik des Autos existieren muss.

In unserem Beispiel legt der Requirements Engineer zunächst eine generische Ordnerstruktur an mit Einleitung, Übersicht und Anhang und wendet sich dann der Ausarbeitung von funktionalen und nicht-funktionalen Anforderungen zu. Anforderungen lassen sich in der SysML strukturiert darstellen, auch über mehrere Diagramme hinweg.

Modellierung von Systemanforderungen

In einem echten Lastenheft würde der Requirements Engineer das Kontextdiagramm systematisch für Anforderungen auswerten. In unserem Beispiel wollen wir davon ausgehen, dass wir kraftstoffgetrieben arbeiten, wir also einen Brenner brauchen, der Kraftstoff entweder aus einem in die Standheizung integrierten Tank oder aus dem im Auto befindlichen Kraftstofftank bezieht.

Wir brauchen neben der weiteren Ausarbeitung der Anforderung „Kraftstoff“ auch eine Anforderung, die sich mit funktionaler Sicherheit beschäftigt (Anforderung „Sicherheit“). Wir nehmen weiterhin an, dass unser Produkt nicht nur den Autoinnenraum aufheizen soll, sondern auch den Motor (Anforderung „Motorerwärmung“). Dies macht in weiteren Schritten eine Wärmeübertragung mittels Wasserkreislauf notwendig, wofür wir den im Auto bereits befindlichen wasserbetriebenen Kühlkreislauf benutzen.

Bei der Anforderung „Steuerung“ geht es zum einen um die Temperaturüberwachung und Steuerung des Brenners, als auch um das Einschalten durch verschiedene Methoden, sowie um eine Informationsanzeige für den Benutzer (Anforderung „Info“).

SysML-Blockdiagramm für das Gesamtsystem Standheizung. Die Bauteile ergeben sich aus den Anforderungen nach einem kraftstoffbetriebenen Brenner, der Notwendigkeit, die Wärme auch in den Motorraum zu übertragen und der Anforderung, die Heizleistung in Abhängigkeit von Außen- und Innentemperatur steuern zu müssen. Die per Kompositionsbeziehung aggregierten Bauteile können ihrerseits wieder aus anderen Baugruppen bestehen
SysML-Blockdiagramm für das Gesamtsystem Standheizung. Die Bauteile ergeben sich aus den Anforderungen nach einem kraftstoffbetriebenen Brenner, der Notwendigkeit, die Wärme auch in den Motorraum zu übertragen und der Anforderung, die Heizleistung in Abhängigkeit von Außen- und Innentemperatur steuern zu müssen. Die per Kompositionsbeziehung aggregierten Bauteile können ihrerseits wieder aus anderen Baugruppen bestehen
(Bild: Mixed Mode)

Auf diese Weise würden wir in einer echten Anforderungserhebung den Einfluss aller externen Systeme systematisch abprüfen und in das Lastenheft mit weiteren Diagrammen mit einfließen lassen.

Die Fähigkeiten der SysML bezüglich Requirements bedeuten nun aber nicht, dass man damit ganz auf spezialisierte Requirements-Management-Tools verzichten kann. Diese haben spezielle Fähigkeiten in Bezug auf Archivierung, auf Reporting und dergleichen.

Deswegen fährt man oft einen Hybridansatz, bei dem vorhandene Anforderungen in ein Modellierungstool importiert werden, beziehungsweise zunächst modelliert, dann aber zur Verwaltung wieder in ein Requirements Management (RM)-Tool exportiert werden.

(ID:39616810)