Am Anfang eines Softwareentwicklungsprojektes, beginnt man häufig mit den zu unterstützenden Prozessen bzw Aktivitäten. So wäre ein sehr einfacher Prozess, das Anlegen von Kundenstammdaten. Das heißt, man überlegt sich welche Prozesse der Anwender durchführt und kann diese Prozesse mit Hilfe eines Anwendungsfallsdiagramm darstellen/modellieren.
So zeigt das kleine Use Case Diagramm, dass das SAP System, die Aktivitäten Kundestammdaten "Anlegen", "Ändern" und "Anzeigen" unterstützt, wobei diese Aktivitäten von einem SAP Benutzer mit der Rolle "Benutzer" durchgeführt werden können. Der SAP Benutzer mit der Rolle "Admin" kann Benutzerberechtigungen vergeben. Generell werden in der UML die Symbole allgemein "Akteure" genannt, und dahinter muss nicht unbedingt ein Benutzer stehen sondern es könnte auch ein technisches System sein.
Man sieht eigentlich auf einen Blick welche Aktivitäten von den Benutzern durchgeführt werden können. Das Use Case Diagramm kann natürlich noch wesentlich mehr, so können z.B. Abhängigkeiten zwischen den Aktivitäten modelliert werden, jedoch wollen wir das Beispiel so einfach wie möglich halten. Um das Use Case Diagramm noch weiter zu detaillieren bzw. die Aktivitäten näher zu beschreiben bedient man sich der Prosaform.
Darüber hinaus kann man für eine Aufwandschätzung die Use Cases mit einer Komplexität versehen, und dieser dann Punkte zuweisen. Zum Beispiel: Komplex = 5 Punkte, Mittel = 3 Punkte, Einfach = 1 Punkt. Dann zählt man einfach alle zu implementierenden Use Cases und kommt so auf eine Punkteanzahl. Wenn ich dann den zeitlichen Aufwand für 1 Punkt kenne, ergibt sich daraus ein erster Gesamtaufwand. Dieses System kann natürlich noch verfeinert werden, insbesondere durch ein einfaches UML Analysemodell und erhält so einen recht genauen Gesamtaufwand. Für Interessierte: diese Methodik ist ein weltweiter Standard und nennt sich Function Point Analyse.
Erwähnen möchte ich noch, auch wenn das Thema "Testen" ein wenig unpopulär sein dürfte, dass sich die Use Cases ausgezeichnet für die Erstellung erster Testfälle eignen! Somit wäre man gleich von Beginn des Projekts an in der glücklichen Lage, die entwickelte Funktionalität prozessorientiert testen zu können.

