Kostenloses Requirement-Management

19.09.2007
Von Simon Wiedemann  und Gerhard Versteegen 
Die Community Edition von "Trend/Analyst" erlaubt eine Anforderungs-Verwaltung auch in kommerziellen Java-Projekten. Der dokumentenorientierte Ansatz ist in dieser Tool-Sparte ein neuer Weg.

Anforderungs-Management als Kerndisziplin des Software-Engineerings war anfangs überwiegend in reglementierten Bereichen wie Automotive, Medizintechnik, Luft- und Raumfahrt sowie Militär stark verbreitet. Als Programmiersprache kam hier im Wesentlichen ANSI C oder vereinzelt auch C++ zum Einsatz, Java hingegen weniger. Allenfalls die Anwendungsentwicklung in diesem Umfeld wurde mit Java implementiert. Mittlerweile hat sich jedoch das Anforderungs-Management auch in anderen Branchen etablieren können, in denen Java zunehmend zum Standard gehört.

Fazit

Die Community Edition von Trend/Analyst hinterlässt einen soliden Eindruck sowohl der MDRE-Ansatz als auch die starke Dokumentenorientierung konnten überzeugen. Bezüglich ihres Funktionsumfangs kann die kostenlose Lösung durchaus mit lizenzkostenpflichtigen Produkten mithalten. Es ist zu erwarten, dass die Community Edition vor allem im Eclipse-Umfeld eine Reihe von Anhängern gewinnen wird.

Model Driven Requirements Engineering

Der Begriff des Model Driven Requirements Engineering (MDRE) wurde vor zwei Jahren von Gebit Solutions geprägt und findet mit Trend/Analyst erstmals eine Werkzeugunterstützung. Ziel ist es, durchgängig und konsistent modellgetrieben und somit auch nachvollziehbar von den Anforderungen bis hin zum lauffähigen Softwaresystem zu entwickeln. Ausgangspunkt war die Integration von Fach- und Entwicklungsabteilung über ein gemeinsames Modell und eine gemeinsame Sprache.

Herzstück von MDRE ist ein Metamodell, das die möglichen Anforderungsartefakte, deren Struktur und vor allem deren Beziehungen untereinander beschreibt. Ebenso lassen sich Beziehungen zu anderen UML-Artefakten beschreiben, etwa zu Diagrammen oder Elementen innerhalb von Diagrammen.

Das Metamodell ist die Grundlage für die Gene-rierung sämtlichen Outputs angefangen von detaillierten Spezifikationen bis hin zu rein textuellen Pflichten- und Lastenheften. Da sämtliche Informationen in einem Modell gespeichert sind, ist einerseits die erforderliche Flexibilität vorhanden, und andererseits wird die Vollständigkeit der Spezifikation sichergestellt. Sämtliche Auswertungen, wie zum Beispiel die einer Impact-Analyse, werden ebenfalls auf Basis des Metamodells vorgenommen.

Während sich die gängigen Produkte im Anforderungs-Management (zum Beispiel das inzwischen von IBM mit Telelogic übernommene Doors, Requisite Pro von IBM, IRqA von QA Systems etc.) hauptsächlich auf die reglementierten Bereiche konzentrieren, soll die Community Edition von Trend/Analyst des Berliner Projekthauses Gebit Solutions auch in Java-Projekten zum Einsatz kommen. Sie steht unter www.gebit-community.de zum kostenlosen Download bereit und lässt sich auch in kommerziellen Projekten einsetzen.

Von Eclipse bis zurModellorientierung

Als Entwicklungsumgebung in Java-Projekten ist mittlerweile Eclipse zum De-facto-Standard geworden damit lag es auf der Hand, dass die Community Edition von Trend/Analyst vollständig in Eclipse integriert wurde. So ist der schnelle Zugriff auf die jeweils aktuelle Version einer Anforderung oder eines Diagramms sichergestellt, da alle Informationen im Rahmen einer Eclipse-Umgebung verfügbar sind.

Bedingt durch modellgetriebene Ansätze wie Model Driven Architecture (MDA), Model Driven Development (MDD) und Service-orientierte Architekturen (SOA) hat sich immer mehr das grafische Modell auf Basis der Unified Modeling Language (UML) als Grundlage für die Softwareentwicklung entpuppt. Doch im bisherigen Anforderungs-Management sind derartige Ansätze nahezu fremd. In diesem Kontext hat sich mit Model Driven Requirements Engineering (MDRE) eine grundlegend neue Methodik entwickelt, die in die Communtiy Edition eingeflossen ist.

Bei der Konzeptionierung von Trend/Analyst stand die Durchgängigkeit des Werkzeugs im Vordergrund. Dies kommt besonders im Änderungs-Management zum Tragen. Die Erfahrung hat gezeigt, dass die meisten Änderungswünsche in der Entwicklung kaufmännischer und administrativer Applikationen erst in der späten Phase der Implementierung auftreten. Derartige Änderungen haben natürlich eine ganze Reihe von Auswirkungen auf zahlreiche Artefakte des Softwareentwicklungs-Prozesses. Während die gängigen Werkzeuge in erster Linie die Auswirkungen auf andere Anforderungen betrachten (im Anforderungs-Management allgemein als Impact-Analyse bezeichnet), werden beim modellgetriebenen Ansatz sämtliche Artefakte der gesamten Softwareentwicklung einbezogen. Nur so lassen sich die wirklichen Kosten und Aufwände einer Änderung kalkulieren, bevor man die Entscheidung trifft, ob und zu welchen Bedingungen die Änderung akzeptiert werden kann.

Das Handling der Community Edition unterscheidet sich sehr von dem anderer Anforderungs-Management-Werkzeuge. Während bei den klassischen Tools ein tabellarisches Erscheinungsbild überwiegt, wurde bei der Community Edition der grafische Aspekt besonders hervorgehoben.

Traceability und verwaiste Anforderungen

Die Nachverfolgung von Anforderungen und die Nachvollziehbarkeit von Abhängigkeiten der Anforderungen untereinander sind zentrale Features eines Anforderungs-Management-Systems. In der Community Edition von Trend/Analyst werden die Abhängigkeiten von Anforderungen grafisch dargestellt. Ein bei anderen Werkzeugen nicht übliches Feature dabei ist, dass diese Abhängigkeiten selbst ebenfalls mit Attributen versehen werden können und ein Dokumenten-Übersichtsdiagramm das Netz der Verlinkungen aller Anforderungen untereinander anzeigt. Jede Anforderung hat dabei ein Feld "Rückwärtsbezug". Ein Report nimmt dann eine Auswertung über dieses Feld vor und analysiert, wo es mit keinem Wert versehen ist. Auf diese Art lassen sich verwaiste Anforderungen identifizieren, also Anforderungen oder Informationsobjekte, die gelöscht wurden, zu denen jedoch ein Abhängigkeitsverhältnis bestand. Auch die Rückverfolgung einer Information zu ihrer Quelle, eine so genannte Trace-Analyse, ist in der Community Edition von Trend/Analyst möglich.

Dokumentenorientierung steht im Vordergrund

Ebenso ist es für Requirement-Management-Werkzeuge von Bedeutung, dass der gesamte Lebenszyklus einer Anforderung, also auch die daran im Projektverlauf vorgenommenen Änderungen, dargestellt werden kann. Dies lässt sich über die Historie einer Anforderung realisieren, die in jedem kontextsensitiven Menü einer Anforderung enthalten ist.

Sowohl das Lasten- als auch das Pflichtenheft wird seit Jahren totgeredet. Aber Totgesagte leben länger. Nach wie vor existieren diese beiden Dokumententypen in Projekten und gelten als eine Art Arbeitsanweisung für die Entwicklerteams. Problematisch ist, dass es sich dabei meist um starre, in Stein gemeißelte Artefakte handelt. Anfallende Änderungen werden zwar im Code und auch in der zugehörigen Dokumentation nachvollzogen, Pflichten- und Lastenheft hingegen bleiben oft unberührt.

Direkte Integration von Text und Diagramm

Diese Situation kann spätestens bei der Überprüfung von Abnahmekriterien zu Problemen führen, insbesondere wenn die Änderungswünsche keinem klar dokumentierten Änderungsprozess unterliegen. Die Community Edition von Trend/Analyst geht hier einen anderen Weg: Es erfolgt eine direkte Integration von prosaischem Text und Diagrammen (UML, BPMN etc.) innerhalb eines Dokuments. Die Diagramme sind mit im Modell abgelegt und so stets aktuell. Eine Verlinkung auf externe Grafikdateien, wie sie in diesem Kontext häufig vorgenommen wird, entfällt.

Problematisch bei solchen Verlinkungen auf externe Grafikdateien ist deren Aktualität. Da sie in der Regel durch einen separat anzustoßenden Export zum Beispiel aus einem CASE-Tool entstehen, ist nicht gewährleistet, dass es sich bei der Grafikdatei immer um das aktuelle Diagramm handelt. Wird hingegen das Diagramm im Modell selber gehalten, liegt den Benutzern automatisch die jüngste Version vor. Auf diese Weise lassen sich Pflichten- und Lastenhefte nicht nur generieren, sie werden auch bei abgenommenen Änderungen stets aktualisiert, ohne dass ein manuelles Eingreifen erforderlich ist.

Entsteht auf diesem Weg ein Pflichten- oder Lastenheft, besteht ein wesentlicher Vorteil darin, dass im Metamodell die erforderliche Struktur für diese beiden Dokumententypen festgelegt ist. Die eigentliche Generierung kann dann rollenbezogen vorgenommen werden. Betrachtet man die derzeitige Praxis bei der Erstellung von Lasten- und Pflichtenheften, so stellt man fest, dass diese größtenteils mit Hilfe von Microsoft Word entstehen. Dabei werden Vorlagen genutzt, die dem Dokument eine gewisse Struktur verleihen sollen. Das klingt zwar in der Theorie sinnvoll, die Praxis zeigt jedoch, dass diese Struktur nicht eingehalten wird, weil solche Dokumentenvorlagen keinen zwingenden Charakter haben: Man kann die vorgegebenen Bereiche ausfüllen, man kann sie aber auch ebenso gut ignorieren. Letztlich führt dies dazu, dass keine Vergleichbarkeit oder Auswertemöglichkeiten der Lasten- beziehungsweise Pflichtenhefte existieren, weil kein verlässliches Zahlenmaterial zugrunde liegt. Durch das von Trend/Analyst unterstützte Model Driven Requirements Engineering und die darin verankerte Modellierung im Metamodell wird diese Situation vermieden. (ue)