Use Cases
Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben wird. Definition: A sequence of interactions between actor (or actors) and a system triggered by a specific actor, which produces a result for an actor Use Cases werden in allen OO-Analysetechniken verwendet Erstmals als OO-Analysetechnik von Jacobson 992 vorgestellt. Mit Use Cases können unterschiedliche Anforderungen beschrieben werden: Funktionale Anforderungen GUI Anforderungen
Ziele der Use Case Modellierung Aufnahme des IST-Zustands Arbeitsablauf ohne das zukünftige System Beschreibung des SOLL-Zustands Arbeitsablauf mit Unterstützung des zukünftigen Systems Identifizierung der relevanten Gegenstände und Funktionalitäten des Anwendungssystems Basis für den Entwurf Gute Grundlage für das Prototyping Basis für den Testfallentwurf Kommunikationsmedium zwischen Entwickler und Kunde
Use Case Diagramme Zeigen, welche Use Cases existieren und welche Benutzer (Akteure) an welchen Use Cases beteiligt sind. Zeigen die Beziehungen zwischen einzelnen Use Cases. Wichtig Use Case Diagramme zeigen nicht den inneren Ablauf eines Use Cases Die detaillierte Beschreibung erfolgt mittels Strukturierter textueller Darstellung Dynamischen Modellierungstechniken (Sequence Diagrams)
Fahrgast Rolle, die ein Anwender/System im Bezug auf das System einnehmen kann. Ein Akteur modelliert eine externe Entität, die mit dem System kommuniziert: User Externes System Physische Umgebung Ein Akteur besitzt einen eindeutigen Namen und beinhaltet eine optionale Beschreibung. Beispiele: Passagier: Eine Person in einem Zug GPS Satellit: Versorgt das System mit GPS- Koordinaten
Beziehungen: <<uses>>: Ein Anwendungsfall D benutzt (uses) einen Anwendungsfall B, wenn er dessen Verhalten beinhaltet. Die <<uses>>- Beziehung faktorisiert gemeinsames Verhalten aus Anwendungsfällen heraus, um es in verschiedenen anderen Fällen benutzen zu können (Wiederverwendung). D «uses» B <<extends>>: Ein Anwendungsfall D erweitert (extends) einen Anwendungsfall B, wenn er an einem Erweiterungspunkt zusätzliches spezialisiertes Verhalten einfügt. D «extends» B
Kein Wechselgeld «extends» Kaufe Ticket «extends» Ausser Betrieb Fahrgast «extends» «extends» Abbruch Time Out
Kaufe Einzelfahrschein Kaufe Mehrfahrtenkarte «uses» «extends» Bezahle Fahrschein «uses» «extends» Kein Wechselgeld Abbruch Fahrgast
Vererbung im Use Case-Diagramm Zwischen Akteuren Actor Actor2 UseCase UseCase2 Zwischen Use Cases
Vererbung zwischen Akteuren Actor3 UseCase3 Actor3 UseCase4 Actor4 Gemeinsame Ausführung durch die Akteure 3 und 4 (Actor3 AND Actor4) Actor4 Alternative Ausführung durch die Akteure 3 und 4 (Actor3 OR Actor4)
Vererbung im Use Case-Diagramm Kunde und Angestellter können die oberen drei Use Cases ausführen System Reserviere Fahrzeug Reservierung aufheben Fahrzeug zurückgeben User Fahrzeug abholen Kunde Angestellter
Vererbung im Use Case-Diagramm Kunde und Angestellter können die oberen beiden Use Cases ausführen System Reserviere Fahrzeug User Reservierung aufheben Fahrzeug zurückgeben Kunde Angestellter Fahrzeug abholen
Vererbung zwischen Use Cases Reserviere Fahrzeug Der Use Case Reserviere Lastkraftwagen umfasst dieselben Aktivitäten wie Reserviere Fahrzeug und darüber hinaus zusätzliche Aktivitäten wie z.b. passenden Anhänger reservieren. Reserviere Lastkraftwagen
Actor Abstrakter Use Case «extends» UC-Basis Generalisierung System UC-Erweiterung Abstrakter Erweiterungs Use Case UC-Variante UC-Variante2 Actor2 «uses» Use case wird inkludiert UC-Inkludiert
Textuelle Beschreibung eines Use Case Name des Use Case: Iteration: Zusammenfassung: Normale Abfolge der Ereignisse: Alternative Abfolge: Soll eine eindeutige Identifikation des Use Case ermöglichen. Sprechende Namen sind hier Nummern zu bevorzugen. Beschreibt die Life-Cycle Phase, in der der Use Case erstellt wurde. In einem oder zwei Sätzen wird die Interaktion, die in diesem Use Case dargestellt wird, beschrieben. Hier werden die einzelnen Schritte beschrieben, die der Akteur und das System durchwandern um ein gewisses Ziel zu erreichen. Der Akteur führt dabei immer den ersten Schritt aus, das System reagiert. Hier wird der einfache, korrekte Pfad durch den Use-Case beschrieben. Dies bedeutet, dass keine Fehlschritte oder Fehler auftreten. Hierbei werden alternative Pfade im Use Case aufgezeigt. Sie zeigen Situationen in denen unübliche Bearbeitungsschritte zur Anwendung kommen.
Ausnahmen: Erweiterungen: Trigger: Annahmen: Vorbedingungen: Nachbedingungen: Autor: Wie bei alternativen Pfaden werden auch hier Situationen dargestellt, die nicht so häufig auftreten. Der Unterschied besteht lediglich darin, dass diese Ausnahmen nur im Falle eines Fehlers auftreten. Hier wird ein anderer Use Case referenziert. Die Erweiterungs-Beziehung existiert zwischen zwei Use Cases, wobei ein Use Case eine optionale Sequenz von Ereignissen darstellt, welcher in dem anderen Use Case inkludiert ist. Die Erweiterungspunkte zeigen die Schritte in einem Use Case, von wo weg die Erweiterungen stattfinden. Beschreiben das Einstiegskriterium für einen Use Case. Sie beschreiben eine Liste von Bedingungen, welche erfüllt sein müssen, so dass der Akteur den Use Case beginnt. Trigger können zeitabhängig sein, sie können aber auch von der Finalisierung eines anderen Use Cases abgeleitet werden. Trigger beantworten die Frage: "Wann und warum wird der Use Case ausgeführt?". Hier werden Annahmen formuliert, die man als Voraussetzung für die Ausführung des Use Cases ansieht, die aber nicht unbedingt erfüllt sein können. Liste von Bedingungen, die erfüllt sein müssen, so dass der Use Case ausgeführt werden kann. Liste von Bedingungen, die erfüllt sind, wenn der Use Case erfolgreich ausgeführt wurde Verfasser des Use Cases Datum: Datum zu dem der Use Case erstellt wurde