Anforderungsmanagement ist ein systematischer Ansatz für das Ermitteln, Dokumentieren, Organisieren und Verfolgen von
sich ändernden Anforderungen an ein System.
Eine Anforderung ist in RUP als "eine Bedingung oder Fähigkeit, die das System erfüllen bzw. erbringen muss" definiert.
In RUP wird das Anforderungsmanagement formal als systematischer Ansatz für folgende Aufgaben definiert:
-
Sondieren, Organisieren und Dokumentieren der Anforderungen an das System.
-
Erreichen und Aufrechterhalten einer Einigung zwischen Kunden und Projektteam bezüglich der sich ändernden
Anforderungen an das System.
Zu den Schlüsseln für ein effektives Anforderungsmanagement gehören eine klare Beschreibung der Anforderungen, der
entsprechenden Attribute und der Rückverfolgbarkeit zu anderen Anforderungen und anderen Projektartefakten.
Das Zusammenstellen von Anforderungen hört sich vielleicht wie eine überschaubare Aufgabe an. In Wirklichkeit geraten
viele Projekte jedoch aus den folgenden Gründen in Schwierigkeiten:
-
Anforderungen sind nicht immer offensichtlich und können von unterschiedlichen Quellen stammen.
-
Anforderungen lassen sich nicht immer einfach und klar in Worten ausdrücken.
-
Es gibt viele unterschiedliche Arten von Anforderungen auf unterschiedlichen Detailstufen.
-
Die Anzahl der Anforderungen nimmt so stark zu, dass eine Verwaltung nicht mehr möglich ist, wenn die Anforderungen
nicht kontrolliert werden.
-
Anforderungen stehen miteinander und mit anderen Liefergegenständen im Software-Engineering-Prozess in
Zusammenhang.
-
Anforderungen haben eindeutige Merkmale oder Merkmalwerte. Beispielsweise haben sie nicht zwangsläufig dieselbe
Bedeutung, noch können sie alle problemlos erfüllt werden.
-
Es gibt viele interessierte Parteien, d. h. die Anforderungen müssen durch funktionsübergreifende Personengruppen
verwaltet werden.
-
Änderungen ändern sich.
Egal wie sorgfältig Sie Ihre Anforderungen definiert haben, es gibt immer Dinge, die sich ändern. Was die Verwaltung
von Anforderungen so kompliziert macht, ist nicht allein die Tatsache, dass eine geänderte Anforderung bedeutet, dass
Zeit für die Implementierung eines bestimmten neuen Features aufgebracht werden muss, sondern auch, dass die Änderung
einer Anforderung Auswirkungen auf andere Anforderungen haben kann. Zur Verwaltung von Änderungen gehören Aktivitäten
wie das Erstellen einer Referenzversion, das Bestimmen der Abhängigkeiten, die unbedingt verfolgt werden müssen, das
Einrichten der Rückverfolgbarkeit zwischen zusammengehörigen Elementen und die Implementierung der Änderungssteuerung.
Die empfohlene Methode für die Organisation Ihrer funktionalen Anforderungen ist die Verwendung von Anwendungsfällen.
Anstatt eine Liste mit Anforderungspunkten zu erstellen, organisieren Sie die Anforderungen so, dass Sie eine
Geschichte darüber erzählen, wie eine Person das System verwenden könnte. Diese Methode unterstützt Vollständigkeit und
Konsistenz und sorgt außerdem für ein besseres Verständnis für die Bedeutung einer Anforderung aus der Perspektive des
Benutzers.
Anhand eines traditionellen objektorientierten Systemmodells ist häufig schwer zu sagen, wie ein System das tut, was es
tun soll. Diese Schwierigkeit ergibt sich aus dem Fehlen eines "roten Fadens" durch das System, wenn es bestimmte
Aufgaben ausführt. In Rational Unified Process (RUP) stellen die Anwendungsfälle diesen roten Faden dar, weil sie das
von einem System zu erbringende Verhalten definieren. Anwendungsfälle gehören nicht zur traditionellen
Objektorientierung, aber ihre Bedeutung zeichnet sich immer mehr ab. Diese These wird durch die Tatsache, dass
Anwendungsfälle Teil der Unified Modeling Language sind, gestärkt.
RUP wendet einen "anwendungsfallgesteuerten Ansatz" an, d. h. die für ein System definierten Anwendungsfälle bilden die
Basis für den gesamten Entwicklungsprozess.
Anwendungsfälle spielen in mehreren Disziplinen eine Rolle.
-
Das Konzept von Anwendungsfällen kann verwendet werden, um Geschäftsprozesse darzustellen. Diese
Anwendungsfallvariante wird "Geschäftsanwendungsfall" genannt und kommt in der Disziplin "Geschäftsmodellierung"
zur Anwendung.
-
Anwendungsfälle als Softwareanforderungen werden in der Disziplin "Anforderungen" beschrieben. Anwendungsfälle sind
ein wichtiges grundlegendes Konzept, das von Kunden, Entwicklern und Testern des Systems gleichermaßen angenommen
werden muss.
-
In der Disziplin "Projektmanagement" werden Anwendungsfälle als Basis für die Planung der iterativen Entwicklung
verwendet.
-
Anwendungsfälle werden in einem Designmodell in der Disziplin "Analyse und Design" realisiert.
Anwendungsfallrealisierungen beschreiben, wie der Anwendungsfall vom Design durch interagierende Objekte im
Designmodell unterstützt wird.
-
Anwendungsfälle werden letztendlich zu implementierten und testfähigen Szenarios und bilden somit einen wichtigen
Schwerpunkt in den Disziplinen "Implementierung" und "Test". Von Anwendungsfällen werden Testfälle und Testscripts
abgeleitet. Die Funktionalität des Systems wird durch Ausführung der Testszenarios geprüft, die die einzelnen
Anwendungsfälle ausführen.
-
In der Disziplin "Deployment" bilden Anwendungsfälle die Grundlage für das, was in den Benutzerhandbüchern
beschrieben wird. Anwendungsfälle können auch verwendet werden, um Bestelleinheiten des Produkts zu definieren.
Beispielsweise kann ein Kunde ein System erhalten, das auf der Basis einer bestimmten Kombination von
Anwendungsfällen konfiguriert wird.
|