Mit Anwendungsfällen lassen sich typische Arbeitsabläufe innerhalb des zu entwickelnden Systems beschreiben. Mit ihrer Hilfe ist es möglich, sich einen Überblick über die notwendige Funktionalität zu verschaffen und die Interaktionen zwischen verschiedenen Komponenten zu erkennen.

Wir beschreiben zunächst - im Rahmen des verteilten Cluedo-Spiels - aus der Sicht des CluedoClients zwei mögliche Szenarios:

Ein Spieler möchte sich bei einem CluedoServer anmelden. Er wählt einen entsprechenden Server aus und gibt einen Benutzernamen und ein Paßwort an. Das System nimmt die Anmeldung vor und meldet, daß sie erfolgreich verlaufen ist.

Ein Spieler möchte sich bei einem CluedoServer anmelden. Er wählt einen entsprechenden Server aus und gibt einen Benutzernamen und ein Paßwort an. Das System nimmt die Anmeldung vor und meldet, daß sie aufgrund eines ungültigen Paßworts nicht erfolgreich verlaufen ist.

Wir verwenden nun eine strukturiertere Schreibweise und erstellen einen Use Case mit Hilfe der obigen Szenarios. Ein Use Case umfaßt in der Regel mehrere Szenarios, die durch ein gemeinsames Benutzerziel verbunden sind.


Anwendungsfall: Anmelden eines neuen Spielers

Ziel: Anmeldung des Spielers bei einem CluedoServer

Vorbedingungen: Der Spieler hat einen CluedoClient gestartet

Ablauf

1.Der Spieler gibt einen Benutzernamen und ein Paßwort ein. Desweiteren wählt er einen Cluedo-Server aus.
2.Das System nimmt Kontakt mit dem Server auf und meldet den Spieler an. Der Spieler erhält eine Bestätigung, dass die Anmeldung erfolgreich war.

Alternativen

2a. Der Server hat die Anmeldung aufgrund eines ungültigen Passworts abgelehnt. Der Spieler wird zur erneuten Eingabe aufgefordert.
2b.Der Server nimmt keine weiteren Spieler mehr an. Das System gibt dieses an den Spieler weiter.

Innerhalb der ersten Abgabe legt jede Gruppe für ihr jeweiliges Modul einen kompletten Satz von Use Cases vor. D.h. alle möglichen auftretenden Szenarios werden - aus Benutzersicht auf relativ abstraktem Niveau - abgedeckt. Als Schreibweise soll die im Beispiel verwendete Struktur benutzt werden. Es ist sinnvoll diese Anwendungsfälle in Kapitel 4 (Produkt-Funktionen) des Pflichtenhefts zu integrieren. Das Dokument CluedoCommunication bietet eine Reihe von Anhaltspunkten für mögliche Anwendungsfälle.

Anhand der Use Cases können dann die verschiedenen Komponenten und Klassen identifiziert werden. Desweiteren sind die Use Cases bei der Dokumentation des Implementierungsfortschritts hilfreich: Man kann genau sagen wieviele Anwendungsfälle von der aktuellen Implementierung abgedeckt werden.

kuehne@informatik.uni-mannheim.de
Last modified: Mon Apr 30 14:05:34 CEST 2001