Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is...

55
Motivation Anforderunganalyse Use Cases UML-Diagramme f¨ ur Use Cases ¨ Ubung Universität Bielefeld Angewandte Informatik Techniken der Projektentwicklung Use Cases Franz Kummert, Gerhard Sagerer 4. Termin Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Transcript of Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is...

Page 1: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Universität Bielefeld

AngewandteInformatik

Techniken der ProjektentwicklungUse Cases

Franz Kummert, Gerhard Sagerer

4. Termin

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 2: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Universität Bielefeld

AngewandteInformatik

1 Anforderungsanalyse

2 Ein konkretes Fallbeispiel3 Use-Case-Analyse:

Textual Use-Cases

4 UML-Diagramme fur Use-Cases

Use-Case-DiagrammeAktivitatsdiagramme

5 Ubung

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 3: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Was der Kunde erklart hat

Nach Keith Jonas

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 4: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Was der Entwickler verstanden hat

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 5: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Das initiale Design

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 6: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Der erste Prototyp

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 7: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Das installierte System

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 8: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Was der Kunde wirklich wollte

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 9: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Was der Kunde eigentlich gebraucht hatte

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 10: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

FlirtFactory

TdPE Sommersemester 2005:

3 Gruppen zu 6-8 Teilnehmern

Projektmanagement durch die einzelnen Gruppen

Entwicklungszeit: 16 Wochen

Zum Schluß gemeinsame Prasentation aller Projekte

Viel Arbeit, aber alle Gruppen erfolgreich

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 11: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Ein typischer ProjektverlaufEin typisches Gruppenprojekt

Universität Bielefeld

AngewandteInformatik

Gedankenexperiment

Stellt euch vor

ihr solltet eine Flirt-Plattform fur Handys in Teamsimplementieren

ihr solltet gleich damit anfangen

wir waren eure Auftraggeber

Wie wurdet ihr vorgehen?

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 12: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Anforderungsanalyse

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 13: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Vorgehensweise

Schritt 1: Anforderungsanalyse

Was sind Anforderungen?

Was ist Anforderungsanalyse?

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 14: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Definition Anforderung (Requirement)

Was sind Anforderungen?

Fahigkeiten der Software

Bedingungen, die die Software erfullen muss

Wo werden sie festgelegt?

Vertrage

Normen

formell bestimmte Dokumente

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 15: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Klassen von Anforderungen

Kategorisierung nach FURPS+

Functional: Features, Fahigkeiten, Sicherheit

Usability: Human factors, Dokumentation

Reliability: Haufigkeit von Fehlern, Fehlererholung

Performance: Antwortzeiten, Durchsatz, Verfugbarkeit,Kosten

Supportability: Anpassbarkeit, Wartbarkeit,Internationalisierbarkeit

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 16: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Klassen von Anforderungen

Das ’+’ in FURPS+ steht fur Faktoren wie

Implementation: Endliche Resourcen, Sprachen und Tools,Hardware

Interface: Schnittstellen fur andere Systeme

Operations: Systemmanagement

Packaging: Strukturierung

Legal: Lizenzen usw.

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 17: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Konkretisierung

Wir wissen jetzt, was Anforderungen sind, doch

wie beschreiben wir sie?

wie kriegen wir die Anforderungen heraus?

konnen wir jemals alle Anforderungen bestimmen?

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 18: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Definition Anforderungstechnik (Requirements Engineering)

Anforderungen systematisch...

... erfassen

... beschreiben

... prufen

Verstehen und beschreiben, was die Kunden wunschenoder brauchen.

(Gause & Weinberg, 1989)

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 19: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Wozu Anforderungsanalyse?

Aufgaben der Anforderungsanalyse:

Sammeln von Informationen

Erkennung von Wunschen

Entdeckung von Widerspruchen

Nicht bedachte Aspekte finden

Grundlage fur weitere Projektplanung

Grundlage fur vertragliche Bestimmungen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 20: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Was sind Anforderungen?Anforderungsanalyse

Universität Bielefeld

AngewandteInformatik

Wozu Anforderungsanalyse?

Ist die wichtigste Projektphase:

Minimierung des Projektrisikos

Einschatzung der Kosten

Metrik fur Projektfortschritt

Kommunikationsbasis zwischenEntwicklern, Anwendern undAuftraggebern

Anwender

Entwickler

Auftraggeber

Anforderungsanalyse

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 21: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Use Cases

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 22: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Definition und Motivation

Use Case Analyse

ist der wichtigste Teil der Anforderungsanalyse

heißt auf deutsch Anwendungsfallanalyse

bedeutet: Analyse funktionaler Anforderungen

andere Anforderungen: Supplemental Specification

Ziele der Use Case Analyse

Beschreibung des gewunschten Systemverhaltens

Einigung mit dem Auftraggeber auf prazisen Leistungsumfang

Erhohung der spateren Anwenderakzeptanz

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 23: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Use Case Definitionen aus der Literatur

A use case is a particular form or pattern or example ofusage, a scenario that begins with some user of thesystem initiating some transaction or sequence ofinterrelated events.

(Jacobson, 1992)

A major piece of functionality, that is complete frombeginning to end.

(Quatrini, 1998)

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 24: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Was zeichnet einen Use Case aus?

Mit anderen Worten:

Beschreibung der Funktionalitat des zu entwickelnden Systems

Ein Use Case fuhrt immer zu einem erkennbaren Ergebnis

Details des Systemverhaltens werden nicht betrachtet

Beschreibung aus Benutzerperspektive

Frage: Wer soll das System benutzen?

Frage: Was soll das System fur sie/ihn tun?

Aber nicht: Wie soll das System etwas tun?

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 25: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Bestandteile eines Use Case

szenario

Fehlerzustand

Abstraktions−

ebeneakteur

Ziel

Hauptszenario

Haupt−

Vorbedingung Name

Auslöser

akteur

Neben−

Alternativ−

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 26: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Eigenschaften von Akteuren

Nutzer des Systems (Akteure und System interagieren)

Außerhalb des Systems angesiedelt

Mussen keine naturlichen Personen sein

Akteure stellen Rollen dar, nicht einzelne Personen

Konnen dem System auch externe Funktionalitat zurVerfugung stellen (z.B. Terminplaner)

Mussen mind. eine Beziehung zu einem Use Case aufweisen

Jeder Use Case hat genau einen Hauptakteur

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 27: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 28: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Name und Ziel

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 29: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Vorbedingung

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 30: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Akteure

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 31: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Hauptakteur

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 32: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Auslosendes Ereignis

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 33: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Hauptszenario

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 34: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Use Case

Betrieb einer elektronischen Kasse am Tagesende abschliessen

Ein Verkaufstag ist beendet und alle Kunden haben das Geschaftverlassen. Der Kassierer signalisiert dem Kassensystem, dass der Ta-gesabschluss durchgefuhrt wird. Die Kasse verlangt dafur eine Iden-tifizierung des Kassierers. Sie berechnet die Summe der getatigtenTransaktionen, zeigt den erwarteten Restgeldbetrag in der Kasse anund offnet das Geldfach. Der Kassierer zahlt das Restgeld, bestatigtden real vorhandenen Betrag und schließt das Geldfach. Falls Diffe-renzen auftreten, suchen Kassierer und Filialleiterin nach der Ursa-che. Die Filialleiterin nimmt dann eine Ausgleichsbuchung vor.

: Alternativszenario

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 35: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Was ist ein Textual Use Case?

Bis jetzt:

Use Case = Geschichte uber gewunschte Systemnutzung

Use Case in Prosaform ist zu unstrukturiert fur Softwaredesign

Ab jetzt:

Gesucht: Kompakte, ubersichtliche Notation

Klassischer Ansatz: Tabelle

Textual Use Case = Use Case in tabellarischer Form

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 36: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Ein Beispiel Textual Use Case

Anwendungsfall Kassenbetrieb abschliessen

Hauptakteur Kassierer (K)

Nebenakteure Filialleiterin (F)

Ausloser K signalisiert Kasse den Tagesabschluss.

Vorbedingung Alle Verkaufsvorgange sind abgeschlossen.

Erfolgszustand Buchfuhrung aller Tagestransaktionen konsistent.

Fehlerzustand -

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 37: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

MotivationWas sind Use Cases?FallbeispielTextual Use CasesEin Beispiel Textual Use Case

Universität Bielefeld

AngewandteInformatik

Fortsetzung des Textual Use Case

Hauptszenario 1. K identifiziert sich bei Kasse.2. Kasse berechnet erwarteten Kasseninhalt.3. Kasse offnet Geldfach.4. K zahlt Kasseninhalt.5. K bestatigt Betrag und schließt Geldfach.

Nebenszenario 5a Kasseninhalt weicht von Erwartung ab.5a.1 K und F identifizieren Ursache.5a.2 F nimmt Ausgleichsbuchung vor.5a.3 F schließt Geldfach.

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 38: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

UML-Diagramme fur Use Cases

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 39: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Was Use Case Diagramme leisten

Use Case Diagramme visualisieren:

Beziehungen zwischen Use Cases

Beziehungen zwischen Use Cases und Akteuren

Gruppierungen und Hierarchien von Use Cases

Aber: Keine vollstandige Beschreibung von Use Cases

Keine Beschreibung des Ablaufs der Szenarien

Keine Beschreibung von Ausloser und Vorbedingungen

Keine Beschreibung von Erfolgs- und Fehlerzustanden

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 40: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Basiselemente

Anwendungsfall als Ellipse

Name innerhalb der Ellipse

Akteur als”Strichmannchen“

Beziehungen als Linien

Verkäufer

Erfassung derKundenwünsche

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 41: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Arten von Beziehungen

Zwischen zwei Use Cases

�include�: Verschachtelung

�extend�: Erweiterung

Zwischen Akteur und Use Case

Assoziation

Verkäufer

Erfassung derKundenwünsche

Ableitung einesLieferauftrags

<<include>>

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 42: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Beziehungen zwischen Use Cases: Beispiel

Exemplarische Use Cases

Kunde identifizieren wird in mehreren Kontexten verwendetLogische Beziehung zwischen den Use Cases?

Vertragschließen

Kundeidentifizieren

Kundeneu anlegen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 43: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Beziehungen zwischen Use Cases: Beispiel

Bedeutung der �include�-Beziehung

Vertrag schließen schließt Kunde identifizieren mit einKunde identifizieren erscheint im Hauptszenario von Vertragschließen

Vertragschließen

Kundeidentifizieren

Kundeneu anlegen

<<include>>

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 44: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Beziehungen zwischen Use Cases: Beispiel

Bedeutung der �extend�-Beziehung

Kunde neuanlegen erweitert (erbt von) Kunde identifizierenNicht erforderlich, falls Kunde bereits angelegt istKunde neuanlegen kann an Stelle von Kunde identifizierentreten

Vertragschließen

Kundeidentifizieren

Kundeneu anlegen

<<include>> <<extends>>

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 45: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Abgrenzung von Systemen

Systemgrenzen werden durch Rechtecke dargestellt

ermoglichen Gruppierung von AnwendungsfallenHierarchische Verfeinerung von Use Cases

Professor

Student

Hilfskraft

Kurse verwalten

Kurse anzeigen

Kurse belegen

Kursinfos pflegen

Kursverzeichniserstellen

Kursbelegungssystem Kursverwaltungssystem

<<include>>

<<include>>

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 46: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Was Aktivitatsdiagramme leisten

Aktivitatsdiagramme visualisieren Dynamik

Folgen von Aktivitaten

Bedingte Ausfuhrung von Aktivitaten

Parallele Ausfuhrung von Aktivitaten

Aktivitatsdiagramme in der Use Case Analyse

Grafische Darstellung des Ablaufs eines Szenarios

Erganzung zu Textual Use Cases und Use Case Diagrammen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 47: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Grundelemente

Einfacher Kreis markiert Start

Doppelter Kreis markiert Ende

Ovale symbolisieren Aktivitaten

Pfeile geben Ablaufreihenfolge an

Vertrag schließen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 48: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Verzweigungen und Zusammenfuhrungen

Verzweigungen

Rauten symbolisierenVerzweigungspunkte

Mehrere ausgehende Pfeile

Ausgehende Pfeile mit Bedingungmarkiert

Aktivitat folgt dem Pfeil, dessenBedingung erfullt ist

Bedingungen mussen sich ausschließen

Kunde identifizieren

Kunde neuanlegen

[ist kein Kunde]

[ist Kunde]

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 49: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Verzweigungen und Zusammenfuhrungen

Zusammenfuhrungen

Rauten symbolisieren auchZusammenfuhrungen

Mehrere eingehende Pfeile

Irgendeine eingehende Aktivitataktiviert Zusammenfuhrung(Oder-Semantik)

Kunde identifizieren

Kunde neuanlegen

[ist kein Kunde]

[ist Kunde]

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 50: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Verzweigungen und Zusammenfuhrungen

Kurzschreibweise

Rauten konnen weggelassen werden

Aktivitaten mit mehrereneingehenden/ausgehenden Pfeilen

Semantik wie bei Rauten

Kunde identifizieren

Kunde neuanlegen

[ist kein Kunde]

[ist Kunde]

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 51: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Splitting und Synchronisation

Splitting

Darstellung durch Balken

Mehrere ausgehende Pfeile

Aktivitat wird auf ausgehendePfeile verteilt

Darstellung paralleler Ablaufe

Lieferung zusammenstellen Zahlungseingang

Lieferung absenden

Bestellung aufnehmen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 52: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Use Case DiagrammeAktivitatsdiagramme

Universität Bielefeld

AngewandteInformatik

Splitting und Synchronisation

Synchronisation

Darstellung durch Balken

Mehrere eingehende Pfeile

Weiterleitung wird geblockt, bisalle eingehenden Pfeile aktivsind(Und-Semantik)

Lieferung zusammenstellen Zahlungseingang

Lieferung absenden

Bestellung aufnehmen

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 53: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Universität Bielefeld

AngewandteInformatik

Ubungsaufgabe zum nachsten Mal

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 54: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Universität Bielefeld

AngewandteInformatik

Aufgabenstellung

Zum nachsten Mal

Aufteilung in 5er Gruppen

2 Use Cases:

Freischalten des DienstesAndern des Suchprofils

Bestimmt die Textual Use Cases und Aktivitatsdiagramme

Abgabe: Tag vorm nachsten Tutorium bis 12 Uhr Mittags

Ort: /vol/tdpe/groupX/session4/teamY/ alsPDF-Dateien

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung

Page 55: Techniken der Projektentwicklung - Technische Fakultätiluetkeb/2005/session04.pdf · A use case is a particular form or pattern or example of usage, a scenario that begins with some

MotivationAnforderunganalyse

Use CasesUML-Diagramme fur Use Cases

Ubung

Universität Bielefeld

AngewandteInformatik

Vielen Dank!

Franz Kummert, Gerhard Sagerer Techniken der Projektentwicklung