UML Anwendungsfalldiagramme

Dr Franke Ghostwriter
worin genau liegt die Unterscheidung zwischen Include- und Extend-Beziehungen. Laut Definition beinhaltet bei einer Include-Beziehung ein Anwendungsfall einen anderen Anwendungsfall, bei einer Extend-Beziehung wird ein Anwendungsfall durch einen anderen Anwendungsfall erweitert. Soweit klar, nur wie sieht es in der Praxis aus? Bei den Übungsklausur kann ich zum Teil nicht nachvollziehen, warum hier eine Include-, dort eine Extend-Beziehung verwendet wird.

Beispiel Übungsklausur WS08/09 Aufgabe 2:
Hier besteht zwischen "Kunde einchecken" und "Zimmer zuweisen" eine Include-Beziehung. Ich hätte es als Extend-Beziehung modelliert, weil Zimmer zuweisen nur erfolgen kann, wenn der Kunde eincheckt. Es kann nicht ohne die "Rahmenaktion" "Kunde einchecken" erfolgen", sondern nur im Zusammenhang damit. Warum aber Include?

Beispiel Übungsklausur WS 11/12 Aufgabe 3:
Hier liegt meine Frage bei der Beziehung zwischen "Adressbuch auswählen" und "Adresse eingeben". Warum ist es hier eine Extend-Beziehung und keine Inlcude-Beziehung? Denn Adressbuch auswählen kann doch auch unabhängig erfolgen, ohne dass eine E-Mail geschrieben wird.

Viele Grüße
Susanne
 
ich bin mal so frei und poste mal den Link hier: https://de.wikipedia.org/wiki/Anwendungsfall_(UML)#Anwendungsf.C3.A4lle_wiederverwenden

Der dortigen Definition entsprechend sind include-Beziehungen zwingend, dass heisst, der Anwendungsfall muss das Verhalten des anderen Anwendungsfalls einschliessen.

Anders ist es bei extend. Hier besteht die Möglichkeit, dass sich ein Anwendungsfall sozusagen einklinkt.Die Erweiterung hier ist also optional.

So zumindest hab ich das verstanden. Ich hab mich mit UML nicht sonderlich befasst, da ich selbst kein Freund davon bin.
 
habe es genau so vestanden wie sid.
Wenn der naechste Fall optional ist, dann ist es exclude.

Konkret bei Deinen Beispielen:
Nachdem ein Kunden eincheckt, wird ihm (frueher oder spaeter) ein Zimmer zugewiesen. Es wird ihm zwingend zugewiesen, ein Zimmer wird nicht optional nach dem Einchecken zugewiesen.

Bei Adressbuch waehlen und Adresse eingeben: Normalerweise mache ich mein Adressbuch auf, um eine Adresse zu finden. Adresse eingeben ist wahrscheinlich der Anwendungsfall, welcher nicht so haeufig eintritt. Wenn ich das Adressbuch aufgemacht habe, muss ich nicht zwingend eine Adresse eingeben. Ich kann es auch einfach wieder zumachen 🙂 Andersherum ist es allerdings notwendig das Adressbuch zu oeffnen, bevor ich die Adresse eingebe.

Gruesse,
Mo
 
leider bekomme ich gerade wieder ZWeifel, ob ich es richtig verstanden habe 🙁

Übungsklausur WS11/12 Aufgabe 3: Warum besteht zwischen "manuelle Eingabe" und "Adresse speichern" sowie zwischen "manuelle Eingabe" und "Adresse verwerfen" jeweils eine Generalisierungsbeziehung? "Adresse speichern" und "Adresse verwerfen" sind doch keine Spezialfälle von "manuelle Eingabe"...? Ich hätte hier eher an eine extend-Beziehung gedacht, weil beide optional sind. Oder liegt es einzig an dem "oder" im Text, dass nur einer der beiden Fälle ausgeführt wird?

Viele Grüße
Susanne
 
Susi,

ich denke fast, dass man das auch als extend Beziehung haette machen koennen.
Haengt ein wenig von der Sichtweise ab. Eine Generalisierungsbeziehung, die viel offensichtlicher ist, ist beispielsweise "Zimmer zuweisen" mit den Spezialfaellen "Einzelzimmer zuweisen" und "Doppelzimmer zuweisen". Diese beiden Spezialfaelle kann man zu "Zimmer zuweisen" zusammenfuegen. (Das Beispiel ist aus der anderen Klausur)

In der von Dir beschriebenen Aufgabe koenntest Du auch zwei extend Beziehungen von "Adresse eingeben" bilden und zwar "Adresse manuell eingeben und verwerfen" und "Adresse manuell eingeben und speichern". Daran erkennst Du, dass es zwei Spezialfaelle von "Adresse manuell eingeben" sind.

Gruesse,
Mo
 
Oben