Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 ·...

21
Anwendungsfall Das Anwendungsfall-Diagramm (Use-Cases/Use-Case Diagramm) Die Anwendungsfall-Beschreibung Dr. Beatrice Amrhein

Transcript of Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 ·...

Page 1: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Anwendungsfall

Das Anwendungsfall-Diagramm

(Use-Cases/Use-Case Diagramm)

Die Anwendungsfall-Beschreibung

Dr. Beatrice Amrhein

Page 2: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Kundenbedürfnisse � Fertigungs-System

2

Page 3: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Erste Schritte: Kundenbedürfnisse erfassen

� Keine Details (kommen später)

� Benutzer/Bediener definieren

� Wichtigste/zentrale Anwendungen (ohne Störfälle)

� Zusammenlegen von (Neben)-Anwendungen

� Liste aller Anwendungen erstellen

� Anwendungen benennen und beschreiben

� Wo möglich, einen kurzen Ablauf skizzieren

� Wo nötig, Alternativ-Abläufe skizzieren

� Anwendungsfall (Use Case) Diagramm erstellen

3

Page 4: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Anwendungsfall

(Use-Case)

4

Page 5: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

� Ein Use Case (Anwendungsfall)

o beschreibt einen einzelnen Arbeitsgang eines oder mehrerer Akteure

mit einem System aus der Sicht des Anwenders

o hat als Namen möglichst ein aktives Verb, welches die Tätigkeit

beschreibt

o wird mit Hilfe einer Ellipse grafisch dargestellt.

Definition

5

Page 6: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Verwendung

Anwendungsfälle (Use Cases) werden sehr früh im

Entwicklungsprozess verwendet um

� die verschiedenen Anwender und deren Aufgaben (Wünsche, Rechte) auf

hohem Abstraktionsniveau festzulegen

� mit dem Kunden die (Haupt-)Aufgaben des Systems zu skizzieren

� mit dem Kunden die Systemgrenzen zu definieren

o Welche Schnittstellen werden benötigt?

o Was ist nicht Aufgabe des Systems? (Abgrenzung)

6

Page 7: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Das Anwendungsfall-Diagramm

� stellt Beziehungen zwischen Akteuren und Anwendungsfällen

aus Sicht der Akteure/Benutzer dar

� beschreibt grob, was das System leisten soll

� beschreibt einen Ablauf, ist aber keine Ablaufbeschreibung

o Black Box Sicht

o es wird keine Reihenfolge definiert

� kann ev. später verfeinert, präzisiert werden

� Die einzelnen primären Anwendungsfälle sind möglichst

unabhängig voneinander

7

Page 8: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Anwendungsfälle dienen nicht

� … zum Beschreiben der Bedienoberfläche

� … zum Festlegen der System Architektur

� … zum Erklären von komplizierten Abläufen

� … zum Definieren von Komponenten oder Zuständen

� … zum Definieren von nicht funktionalen Anforderungen

Das Anwendungsfall-Diagramm ist vorwiegend ein Hilfsmittel zur

Anforderungsermittlung mit dem Anwender (Kunden)

o Es dient nicht für die Verhaltens-, die System oder die Architektur-

Beschreibung

8

Page 9: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Akteure

� Akteure sind beteiligte Personen oder Systeme

o Anwender, Kunde, Uhr, (Fremd-) System, …

� Man unterscheidet

o Primäre Akteure

• die eigentlichen Benutzer des Systems

o Sekundäre Akteure

• welche das System überwachen oder warten

• oder den Primärakteur bei seiner Arbeit unterstützen

� Akteure werden mit ihrer Rolle beschriftet

9

<< Actor>>

PrintingSystem

Page 10: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Systemgrenzen /Systemkontext

� Die Systemgrenze, bzw. der Systemkontext zeigt auf, welche Aufgaben

zum System gehören und welche Aufgaben durch Fremdsysteme

realisiert werden, bzw. welche Schnittstellen realisiert werden müssen.

10

Primäre

Akteure

Sekundäre

Akteure

Page 11: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Ein Beispiel Anwendungsfall-Diagramm

� UseCase Diagramm für einen Bankomat

11

Page 12: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Include Beziehung

� Ein Anwendungsfall kann (logischer) Teil eines anderen Anwendungsfalls

sein ( � Abhängigkeit)

� Die Pfeilrichtung zeigt auf den enthaltenen Anwendungsfall, die

Beziehung wird mit «include» bezeichnet.

12

Page 13: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Extend Beziehung

� Eine Extend Beziehung drückt aus, dass ein Anwendungsfall unter

gewissen Bedingungen durch einen anderen Anwendungsfall erweitert

wird. Die Bedingung kann als Notiz hinzugefügt werden.

� Die Pfeilrichtung zeigt auf die zu erweiternde Basisanwendung und wird

mit «extend» bezeichnet

13

Page 14: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Vererbung / Spezialisierung

Eine Vererbung ist eine Beziehung zwischen einem spezifischen

(spezialisierten) und einem allgemeinen (abstrakten) Element.

Beispiele

� Loch herstellen

� bohren, stanzen, Laserschneiden, Lochsägen, …

� Bezahlen

� Bar, kontaktlos oder mit Kreditkarte bezahlen

� Kundendaten erfassen

� Name, Adresse, Telefonnummer

14

Page 15: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Ein Beispiel Anwendungsfall-Diagramm

� UseCase Diagramm für einen Getränke Automaten

15

Page 16: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Anwendungsfall

Beschreibung

16

Page 17: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Als Ergänzung zum Diagramm werden die Anwendungsfälle textuell

dokumentiert. Mögliche Inhalte dabei sind:

Inhalte der Anwendungsfall-Beschreibung

17

Page 18: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Inhalte der Anwendungsfall-Beschreibung

� In der textuellen Beschreibung enthalten sind

o Der Name des Use-Case (wie im Diagramm enthalten)

o Die beteiligten Aktoren

o Das zu erreichende Ziel (falls nicht schon im Name enthalten)

o Vorbedingungen (falls es welche gibt)

o Interaktionsfolge (Reihenfolge / Ablauf)

o Ausnahmen (Fehlbedienung, …)

o Qualitätsanforderung (falls nur für diesen Anwendungsfall relevant)

o Nachbedingungen (Endzustand des Systems nach dem Ablauf)

18

Page 19: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Textuelle Beschreibung eines Anwendungsfalls

Name Geld am Bankomat abheben Systemverhalten

Akteur Kunde

Auslösendes

Ereignis

Der Kunde benötigt Bargeld

Kurz-

beschreibung

Der Kunde gibt die EC Karte und seinen Pincode

ein, dann wählt er den Geldbetrag.

Der gewählte Geldbetrag wird

ausgegeben.

Vorbedingung Der Kunde hat eine EC Karte, den Pincode und

genügend Kredit auf der Karte.

Der Automat ist in Betrieb

Ablauf - Der Kunde schiebt die Karte ein

- Der Kunde gibt den Pincode ein

- Der Kunde gibt den Geldbetrag ein

- Der Kunde entnimmt die Karte

- Der Kunde entnimmt das Geld

- Die Karte wird geprüft

- Der Pincode wird geprüft

- Der Geldbetrag wird geprüft

- Die Karte wird zurückgegeben

- Der Betrag wird ausbezahlt

Ausnahme-

verhalten

- Pincode ist falsch

- Zu wenig Kredit für den gewählten Geldbetrag

- Der Automat gibt eine Fehler-

meldung aus (max drei Versuche)

- Der Automat gibt eine Fehler-

meldung aus (max Betrag anzeigen)

19

Page 20: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Textuelle Beschreibung eines Anwendungsfalls

Name Getränk am Automat kaufen Systemverhalten

Akteur Kunde

Auslösendes

Ereignis

Der Kunde hat Durst

Kurz-

beschreibung

Der Kunde wirft Geld in den Automaten ein und

wählt ein Getränk aus.

Das gewählte Getränk wird

ausgegeben.

Vorbedingung Der Kunde hat Geld (oder Kredit) Das Getränk ist vorhanden und

der Automat in Betrieb

Ablauf - Der Kunde wählt das Getränk

- Der Kunde bezahlt das Getränk

- Kunde verlangt das Wechselgeld

- Der Betrag wird angezeigt

- Der Geldbetrag wird geprüft

- Das Getränk wird ausgegeben

- Der ev. Differenzbetrag wird

ausbezahlt.

Ausnahme-

verhalten

- Zu wenig Geld für die Wahl eingegeben - Der Automat gibt zeigt den

fehlenden Betrag an

20

Page 21: Das Anwendungsfall-Diagramm (Use-Cases/Use-Case …amrhein/Skripten/SysML/02... · 2017-02-27 · Ein Use Case (Anwendungsfall) obeschreibt einen einzelnen Arbeitsgang eines oder

Textuelle Beschreibung eines Anwendungsfalls

Name Getränke nachfüllen Systemverhalten

Akteur Administrator

Auslösendes

Ereignis

Sensor meldet leeres Gerät

Kurz-

beschreibung

Der Administrator öffnet das Gerät, stellt den

Alarm zurück und füllt die leeren Behälter.

Vorbedingung Der Administrator hat die Zugriffsrechte und

Ersatz-Getränke (-Pulver).

Der Automat ist in Betrieb

Ablauf - Der Administrator schiebt den Badge ein

- Der Administrator öffnet die Getränke-Behälter

- Der Administrator füllt die Behälter

- Der Administrator schliesst die Behälter

- Der Administrator schliesst die Türe

- Die Türe wird entriegelt

- Der Alarm wird zurückgestellt

- Ein Sensor prüft jeweils den

Füllstand

Ausnahme-

verhalten

- Ein Füllstand-Sensor zeigt immer noch leer - Der Automat gibt eine Fehler-

meldung aus

21