Use Case include/extend Beziehungen

Marko
Neuling
Neuling
Beiträge: 8
Registriert: 15. Feb 2016 13:21

Use Case include/extend Beziehungen

Beitrag von Marko »

Hallo,
ich habe eine Frage bezüglich der include bzw. extend Beziehung in Use Case Diagrammen:
In der Vorlesung hatten wir das Beispiel mit dem Anwendungsfall "Process Sale". Sowohl "Handle Cash Payment" als auch "Handle Credit Payment" haben eine include Beziehung zu "Process Sale", da "Process Sale" beide zahl möglichkeiten beinhaltet.
Auf dem 3. Übungsblatt bei Aufgabe 2 haben wir unter anderem den Anwendungsfall "Überweisung tätigen". Wieso haben "Dauerauftrag tätigen" und "Terminüberweisung tätigen" eine extend Beziehung zu "Überweisung tätigen"?
Man könnte in diesem Fall doch auch davon ausgehen, dass die zwei Überweisungsarten im Anwendungsfall bereits beinhaltet sind.

Um nochmal kurz auf das Beispiel aus der Vorlesung zurückzukommen: Könnte man nicht sagen, dass "Handle Cash Payment" vom "Process Sale" beinhaltet wird(sprich eine include Beziehung hat) und "Handle Credit Payment" den Anwendungsfall erweitert(sprich eine extend Beziehung zu "Process Sale" hat)?

MfG,
Marko

eichberg
Dozentin/Dozent
Beiträge: 448
Registriert: 25. Sep 2007 12:12
Kontaktdaten:

Re: Use Case include/extend Beziehungen

Beitrag von eichberg »

Die Unterschiede sind manchmal nur sehr fein:

Hier ist es jedoch so, dass eine Überweisung entweder eine Terminüberweisung oder eine "normale Überweisung" ist. D.h. es kann nicht dazu kommen, dass ich - während ich eine Überweisung tätige - beides machen. In dem anderen Fall kann es jedoch vorkommen, dass ich beides mache im Rahmen eines Verkaufsvorgangs: ich versuche erst mit der Karte zu bezahlen und bei Abbruch bezahl ich eben mit Bargeld.

BluBlu
Erstie
Erstie
Beiträge: 19
Registriert: 17. Sep 2015 09:50

Re: Use Case include/extend Beziehungen

Beitrag von BluBlu »

eichberg hat geschrieben: Hier ist es jedoch so, dass eine Überweisung entweder eine Terminüberweisung oder eine "normale Überweisung" ist. D.h. es kann nicht dazu kommen, dass ich - während ich eine Überweisung tätige - beides machen.
Ich verstehe nicht, wie das zu dem "extend"-Beispiel aus der Vorlesung (Folie 30 im Foliensatz 6) passt. Dieses hatte ich so verstanden, dass es den Use Case "Process Sale" gibt, bei dessen Ausführung zusätzlich der Use Case "Handle Gift Certificate Payment" ausgeführt werden kann, wenn der Fall eintritt, dass der Kunde mit einem gift certificate bezahlen möchte. Der Use Case "Process Sale" muss dann natürlich trotzdem noch durchlaufen werden, weil er ja neben der Bezahlung noch weitere Punkte beinhalten dürfte.

Ist es also möglich, mit "extend" sowohl sich gegenseitig ausschließende als auch sich gegenseitig ergänzende Use Cases zu verknüpfen?

eichberg
Dozentin/Dozent
Beiträge: 448
Registriert: 25. Sep 2007 12:12
Kontaktdaten:

Re: Use Case include/extend Beziehungen

Beitrag von eichberg »

Hier ist es jedoch so, dass (extend) eine Überweisung entweder eine Terminüberweisung oder eine "normale Überweisung" ist. D.h. es kann nicht dazu kommen, dass ich - während ich eine Überweisung tätige - beides machen. In dem anderen Fall (include) kann es jedoch vorkommen, dass ich beides mache im Rahmen eines Verkaufsvorgangs: ich versuche erst mit der Karte zu bezahlen und bei Abbruch bezahl ich eben mit Bargeld.

BluBlu
Erstie
Erstie
Beiträge: 19
Registriert: 17. Sep 2015 09:50

Re: Use Case include/extend Beziehungen

Beitrag von BluBlu »

Wie beantwortet das meine Frage? In der Vorlesung wurden mit "extend" zwei Use Cases verknüpft, die (nach meinem Verständnis) während eines Verkaufsvorgangs beide ausgeführt werden können.

headhumper
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 118
Registriert: 13. Aug 2009 21:25

Re: Use Case include/extend Beziehungen

Beitrag von headhumper »

Mir ist der Unterschied auch noch nicht ganz klar.

"For partial behavior that is common across several use cases [...] it is desirable to separate it into its own sub-function use case and indicate its inclusion."

vs.

"The extend relationship can be used to describe where and under what condition an extending or additional use case extends the behavior of some base use case."

Wäre die Unterscheidung dann nicht eher: Wenn ein Usecase (Bargeldzahlung) in mehreren anderen Usecases benötigt wird (Artikel kaufen, Artikel zurückgeben) verwendet man include, wenn ein Usecase nur einen anderen bestimmten Usecase erweitert (Eine Terminüberweisung wird immer nur eine Überweisung erweitern, alle anderen Usecases brauchen keine "Terminüberweisung") ist es "extend"? Bzw. wenn der Usecase für sich alleine steht, ist es "extend", wenn nicht, dann "include"? (Der Vorgang Bargeldzahlung/Kartenzahlung ist alleinstehend wohl nicht sinnvoll, sondern muss immer an einen anderen Fall "gekoppelt" sein.)

Antworten

Zurück zu „Archiv“