Komplexe Produkte entwickeln

Bindeglieder für das Systems Engineering

Systems Engineering ist für viele Entwicklungsabteilungen der Hebel, komplexe Produkte rechtzeitig und fehlerfrei voranzubringen. Dr. Marc Segelken, Principal Application Engineer bei MathWorks, berichtet über den Umgang mit der systemimmanenten Komplexität und wie sich die Simulation integrieren lässt.

 (Bild: ©Gorodenkoff/stock.adobe.com)
(Bild: ©Gorodenkoff/stock.adobe.com)

Der interdisziplinäre Ansatz des Systems Engineering ist eine Aufgabe von immer größerer Komplexität. Nur wenn Arbeitsschritte und Modifikationen über alle Designebenen hinweg rückverfolgbar sind und synchronisiert werden, können groß angelegte Entwicklungsprogramme rationalisiert werden. Häufig fehlt in einem Top-down-Designprozess jedoch ein Bindeglied zwischen dem Systems Engineering und der Design-Implementierung. Systems Engineering kommt die große Aufgabe zu, den Balanceakt zwischen immer größeren und komplexeren Systemen und deren vielfältige Anforderungen sowie den Einschränkungen hinsichtlich Leistung, Kosten, Markteinführungszeit, Energieverbrauch, Gewicht und anderen Bereichen zu meistern. Das Ergebnis dieses Prozesses ist in der Regel eine Reihe von Ausgangspunkten für das Design der Unterkomponenten mit Schnittstellenbeschreibungen, Unterbeschränkungen und abgeleiteten Anforderungen. Die größte Herausforderung besteht darin, sich auf jede Komponente im System zu konzentrieren, ohne den Überblick zu verlieren. Essentielle Informationen zum Systemkontext oder die Rückverfolgbarkeit der Anforderungen auf Systemebene und (abgeleiteter) Komponentenebene sind dabei von entscheidender Bedeutung. Ein einfacher Übergang für eine Weiterentwicklung des Systems und garantierte Konsistenz sind weitere wichtige Erfolgsfaktoren.

Zerlegung der Anforderungen

Zuerst sollte ein Anforderungsprofil erstellt werden. Ein Systems Engineering-Projekt beginnt typischerweise mit Anforderungen auf hoher Ebene und optional einem Vorgängersystem, das bis zu einem gewissen Grad wiederverwendet werden kann. Die Hauptaufgabe besteht dann in der Erstellung einer Architektur mit Unterkomponenten, die jeweils abgeleiteten Anforderungen zugeordnet sind, um ihren Anteil an der Gesamtfunktionalität zu erfüllen. Hierbei sind so viele Hierarchieebenen beteiligt wie nötig. Diese strukturelle Zerlegung geht also mit einer korrespondierenden Zerlegung der Anforderungen einher, sodass die Einschränkungen jeder Unterkomponente ausreichend definiert sind.

Nicht-funktionale Anforderungen

Viele Anforderungen beziehen sich auf Fragen des Lebenszyklus oder andere nicht-funktionale Einschränkungen wie Gewicht, Kosten, Zuverlässigkeit, Entwicklungsaufwand und andere domänenspezifische Designdaten. Dementsprechend muss eine Hierarchie von Stereotypen definiert werden, die jede Art von Unterkomponente repräsentiert und Eigenschaften nach Bedarf erfasst, einschließlich der oben erwähnten nicht-funktionalen Anforderungen.