Werkzeug-gestützte Nachverfolgbarkeit von Anforderungen nach CMMI

Bearbeitung. Hier helfen nur Werkzeuge wie z.B.. RequisitePro von IBM Rational, den Überblick über. Anforderungen und Anforderungsdokumente zu be-.
217KB Größe 18 Downloads 39 Ansichten
Werkzeug-gestützte Nachverfolgbarkeit von Anforderungen nach CMMI verbreiteten Rahmenwerk für die Verbesserung und Capability Maturity Model Integration (CMMI) hat Bewertung von Prozessen zur Software- und in den letzten Jahren auch in Deutschland Systementwicklung weiterentwickelt. In seiner zunehmend an Bedeutung gewonnen. Firmen und stufenförmigen Darstellung umfasst CMMI fünf Organisationen, die sich mit der Entwickung von aufeinander aufbauende Reifegrade (siehe Software-Systemen beschäftigen, wollen mit Abbildung 1), denen jeweils bestimmte AusCMMI den Reifegrad ihres Softwareentwicklungsprägungen von Prozessgebieten zugeordnet sind. prozesses messen und bewerten können. Die Damit dient es einerseits als Grundlage für eine Entwicklung des CMMI begann in den 1980er Bewertung der Prozessreife nach außen und gibt Jahren mit dem Vorläufer CMM (Cabability andererseits einen strukturierten Pfad für die Maturity Model) beim Software Engineering Prozessverbesserung vor. Institute der Carnegie Mellon University in USA und hat sich mittlerweileCapability zu einem international Maturity Model Integration (CMMI) Reifegrad 5: Optimierend

Reifegrad 4: Quantitativ gemanagt

Reifegrad 3: Definiert

Reifegrad 2: Gemanagt

Reifegrad 1: Initial

Kontinuierliche Verbesserung

Vorhersagbarkeit von Prozessen durch Metriken

Definierte Managementund Entwicklungsprozesse

Projektmanagement

Abbildung 1: Capability Maturity Model Integration (CMMI)

Die Bedeutung von Anforderungsmanagement wird dadurch deutlich, dass bereits auf der zweiten Stufe Anforderungsmanagement gefordert wird. Bevor in einem Entwicklungsprojekt die Software-Architektur festgelegt werden kann, müssen die Anforderungen an das zu bauende Softwaresystem geklärt werden. Während hier für CMMI Reifegrad 2 das Management der vorhandenen Anforderungen inkl. Management der Anforderungsänderungen sowie Nachverfolgbarkeit (Traceability) ausreicht, wird dies auf Reifegrad 3 zur „Anforderungsentwicklung“ ausgebaut und die Analyse der Anforderungen nach verschiedenen Kriterien sowie deren Validation erwartet. Auch wenn diese Aufgaben prinzipiell auf Basis von Freitext-Anforderungen und ohne Werkzeuge bewältigt werden können, sprengt allein schon die Menge der Anforderungen an heutige komplexe Softwaresysteme in der Regel den Rahmen für eine manuelle Bearbeitung. Hier helfen nur Werkzeuge wie z.B. RequisitePro von IBM Rational, den Überblick über Anforderungen und Anforderungsdokumente zu behalten. Bei RequisitePro werden einzelne Anforderungen im Kontext erläuternder Texte in

Dokumenten formuliert. Durch die Anbindung einer Datenbank lassen sie sich aber um zusätzliche Informationen erweitern, nach Prioritäten sortieren, hierarchisch organisieren und miteinander verlinken. Änderungen an Anforderungen werden von dem Werkzeug mitprotokolliert und sind damit später nachvollziehbar. Bei der weiteren Entwicklung fällt es häufig schwer, den Bezug zwischen den Anforderungen an das zu entwickelnde Produkt und den Teilen der Konstruktion, die diese Anforderungen umsetzen, aufrecht zu erhalten. Dies ist jedoch notwendig, um Fragen zu beantworten wie „Habe ich alle Anforderungen im Modell, d.h. bei der Konstruktion des Systems berücksichtigt?“ oder „Wozu dient dieser Teil des Modells – gibt es dafür eine Anforderung?“. Aus diesem Grund fordert CMMI im Rahmen des Anforderungsmanagements die so genannte bidirektionale Nachverfolgbarkeit, also die klar nachvollziehbare Beziehung von Anforderungen zu Entwicklungsergebnissen und zurück sowie die Nutzung dieser Beziehung, um die Konsistenz zwischen den ver-

schiedenen Ergebnissen und Modellen sicherzustellen. Wer schon einmal kurz vor Projektende eine Anforderung streichen musste und dann nicht wusste, welche Bildschirmmasken davon betroffen sind oder welche Tests nicht mehr notwendig sind, kennt die Problematik. Geeignete Werkzeuge können die Verfolgbarkeit von Anforderungen über verschiedene Abstraktionsebenen gewährleisten. So bietet RequisitePro die Möglichkeit, im Zusammenspiel mit den UML-Modellierungswerkzeugen Rational Rose oder Rational Software Architect (RSA) Anforderungen mit Modellelementen

in Beziehung zu setzen, also genau die von CMMI geforderte Nachverfolgbarkeit in beiden Richtungen zu realisieren: Anforderungen werden im Modell mit Modellelementen (Packages, Kollaborationen von Klassen) umgesetzt und umgekehrt können aus dem Modell heraus die Anforderungen identifiziert werden, die mit bestimmten Modellelementen in Beziehung stehen. Rose bietet ein integriertes Use-CaseManagement an, mit dem funktionale Anforderungen in Form von Use Case-Spezifikationen mit den UseCase-Diagrammen im Modell verlinkt werden (s. Abbildung 2).

Abbildung 2: Traceability zwischen Use Case Modell und Spezifikation

Mit dem Eclipse-basierten Werkzeug Rational Software Architect können beliebige Beziehungen

zwischen Anforderungen und Modell komfortabel per Drag-and-Drop definiert werden (s. Abbildung 3).

Abbildung 3: Traceability Links zwischen einem Domain Model und der Requirements View im RSA

Wird gemäß Model Driven Development (MDD) mittels Transformationen aus dem Modell Code erzeugt, ist auch eine eindeutige Beziehung zum Code gewährleistet. Die im Rational Testmanager definierten Testfälle können ebenfalls mit den Anforderungen verknüpft werden, um eine durchgängige Nachverfolg-

barkeit von den Anforderungen über das UML-Modell bis zum Test zu gewährleisten. Hubert Biskup, IBM, IT-Specialist für RUP, Requirementsmanagment und UML-Modellierung Ralf Kneuper, freiberuflicher Berater und SEIautorisierter CMMI Lead Appraiser