Requirements Engineering

Requirements Engineering stellt nicht nur die Basis für eine effiziente Produktentwicklung dar, die Spezifikation von Anforderungen sind auch immer die Basis für die Definition der Tests. Damit spielt das Requirements Engineering eine zentrale Rolle in Bezug auf Effizienz und Qualität im Software und Systems Engineering.

Gleichzeitig spiegelt sich ein Großteil der Komplexität heutiger Systeme im Anforderungs-Management wieder. Dokumentenzentrisches Vorgehen, z.B. auf Basis von MS Office Produkten, stößt zunehmend an die Grenzen. Datenbankzentrische Werkzeuge helfen die Komplexität auch an dieser Stelle zu managen.

 

Requirements Engineering

Im Software und Systems Engineering werden immer noch viele Informationen in Form von Office - Dokumenten gemanaged. Dabei entstehen je nach Phase und Technik im Engineering-Prozess separate Dokumente mit redundanten Informationen. Unter dem wachsenden Zeitdruck ist es fast unmöglich diese redundanten Informationen in den verschiedenen Dokumenten konsistent zu halten.

So zeigt eine Umfrage unter unseren Kunden, dass in 95% der Projekte die Dokumentation der Software (egal, ob sie mit MS Word, MS Visio oder anderen dokumentenzentrischen Werkzeugen erstellt wird) nahezu nutzlos ist, da sie nicht konsistent mit dem Source-Code gehalten werden kann und damit nicht verlässlich ist.

In Projekten, in denen auf Grund von Sicherheitsanforderungen hohe Qualität gefordert wird, gehört es schon seit langem zum Stand der Technik, dass alle Dokumente, Modelle, Code und Testfälle untereinander konsistent gehalten werden. Grundsätzlich ist es also möglich und nur eine Frage des Vorgehens.

Was mit einer dokumentenzentrischen Arbeitsweise ein fast unmögliches Unterfangen ist wird auf Basis eines Repository (Datenbank) auf einmal sehr einfach. Anforderungs-Management-Werkzeuge liefern im Wesentlichen also erst einmal ein Repository, und damit die Möglichkeit Zusammenhänge leichter und verstehbarer darzustellen, aber auch Redundanzen zu vermeiden bzw. mit weniger Aufwand zu pflegen.

Welche Werkzeuge Willert Software Tools dazu anbietet sehen Sie in der Navigationsleiste oder finden Sie rechts einige mögliche Kombinationen an Werkzeugen, die harmonisch zusammen arbeiten und in Summe eine ALM-Lösung (Application Lifecycle Management) ergeben.

 

Managements Interest

Die Komplexität heutiger Systeme steigt mit wachsender Geschwindigkeit. Umfangreiches Wissen über die verschiedenen Aspekte eines Systems ist eine Voraussetzung für effizientes Engineering und Application Lifecycle Management.

Der Umfang von Pflichten- und Lastenheft liegt heute tendenziell weit über hunderte von Seiten. Herkömmliche Dokumentationen führen dann zu ,Information Overloading‘. Wichtig ist die Möglichkeit aus der Dokumentationsflut die notwendigen Abhängigkeiten schnell im Überblick zu haben, und das in Bezug auf alle involvierten Fachlichkeiten (Kundenanforderungen, Engineering-Gesichtspunkte, preisliche Gesichtspunkte, Fertigungs- und Produktionsgesichts-punkte). Häufig werden bei Weiterentwicklungen nicht alle Gesichtspunkte berücksichtigt. Das führt zu Fehleinschätzung des Entwicklungsaufwandes oder sogar zu Fehlverhalten.

Anforderungs-Management berücksichtigt heute nicht nur die Kunden-Anforderungen, sondern alle Gesichtspunkte und vernetzt sie untereinander auf Basis von Linkbeziehungen. Diese Linkbeziehungen ermöglichen durch Traceability Analysen, auf Knopfdruck, in Sekunden, alle wichtigen Gesichtspunkte zu einem Aspekt des Systems zu bekommen.

Eine der wichtigsten Hilfestellungen, um komplexe Systeme mit Planungssicherheit und Qualitätsabsicherung zu entwickeln.