Use-Case Zentrierung

Ein Softwaresystem muss Benutzern dienen. Um also das "richtige" System zu realisieren, müssen die Anforderungen bekannt bzw. dokumentiert sein. Anforderungen werden in sog. "Use Cases" dokumentiert. Ein Use Case (Anwendungsfall) ist eine Menge von Funktionen, mit welchen ein Akteur (d.h. ein Benutzer oder ein zu integrierenden System) einen (beobachtbaren) geschäftlichen Nutzen erzeugen kann. Ein Use-Case definiert also aus Sicht eines jeden Akteurs, WAS das System leisten soll, aber nicht WIE.

Alle Use Cases zusammen bilden das "Use-Case Modell". Das Use-Case Modell enthält also die Menge aller geforderten Funktionen ("Funktionsmodell. In RUP wird das Use-Case Modell auch als Functional Requirements bezeichnet). In HERMES entspricht das im Wesentlichen den Systemanforderungen (Die Systemanforderungen enthalten noch sog. "Zusatzfanforderungen". Das sind nichtfunktionale Anforderungen, welche nicht einzelnen Use Cases zugeordnet werden können. In RUP werden Systemanforderungen als "software requirements specifications (SRS)" bezeichnet.).

Eine Funktion ist "etwas, was das System tun muss". Ein Use Case ist eine Funktion für einen Benutzer (bzw. einen Benutzertyp). Der Zusatz "für einen Benutzer" ist also ein gedankliches Hilfsmittel, dass immer der Nutzen aus Sicht eines Benutzers im Auge behalten wird und nicht ein System gebaut wird, welches viele "schöne" Funktionen enthält, deren Nutzen unklar ist.

Use Cases werden aber nicht nur verwendet, um die Systemanforderungen zu ermitteln und festzuhalten. Sie werden auch dazu verwendet, um – im Verbund mit der Systemarchitektur (vgl. unten) – den ganzen Entwicklungsprozess zu steuern. Sie sind die Planungsgrössen, bilden den Ausgangspunkt für das Systemdesign, die Dokumentation sowie das Testmodell, welches letztlich Grundlage der Systemabnahme ist.

Wie weiter unten beschrieben wird, sind Use-Cases aber nicht das "Mass der Dinge". Die Anforderungen sollten im Rahmen der Konzeptphase hinsichtlich "Machbarkeit" validiert werden. Grundlage hierfür ist die Systemarchitektur bzw. der kontinuierliche Abgleich von Use-Cases mit der Systemarchitektur.