\documentclass{bschlangaul-aufgabe} \bLadePakete{uml} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 4}, Thematik = {Kartenschalter}, Referenz = 66116-2020-F.T2-TA1-A4, RelativerPfad = Examen/66116/2020/03/Thema-2/Teilaufgabe-1/Aufgabe-4.tex, ZitatSchluessel = examen:66116:2020:03, BearbeitungsStand = TeX-Fehler, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Sequenzdiagramm}, EinzelpruefungsNr = 66116, Jahr = 2020, Monat = 03, ThemaNr = 2, TeilaufgabeNr = 1, AufgabeNr = 4, } Erstellen Sie ein UML-Sequenzdiagramm zur Abbildung des folgenden Szenarios: \index{Sequenzdiagramm} \footcite{examen:66116:2020:03} \begin{enumerate} \item Ein \emph{Kunde} bestellt Karten an einem \emph{Schalter}. Daraufhin wird er vom Schalter gefragt, ob er eine Ermäßigung nachweisen kann. \item Der \emph{Kunde} sucht, leider erfolglos, seinen Studierendenausweis und sagt dem \emph{Schalter}, dass er keinen Ermäßigungsgrund vorweisen kann. \item Der \emph{Schalter} sagt dem Kunden den Preis der \emph{Karten} und der Kunde gibt dem \emph{Schalter} das notwendige Geld. \item Der \emph{Schalter} erstellt die \emph{Karten}, druckt diese aus und übergibt sie dem Kunden. \item Dieser geht mit den \emph{Karten} zum \emph{Eingang}, worauf die \emph{Karten} zum Nachweis des Eintritts zerrissen werden. \end{enumerate} \begin{bAntwort} \begin{tikzpicture}[scale=0.8,transform shape] \begin{umlseqdiag} \umlactor[class=Kunde]{kunde} \umlobject[class=Schalter]{schalter} \umlobject[class=Eingang]{eingang} \begin{umlcall}[op=bestelle()]{kunde}{schalter} \end{umlcall} \begin{umlcall}[op=frage('Ermäßigung')]{schalter}{kunde} \end{umlcall} \begin{umlcallself}[op=suche('Studierendenausweis')]{kunde} \end{umlcallself} \begin{umlcall}[op=sage('keine Ermäßigung')]{kunde}{schalter} \end{umlcall} \begin{umlcall}[op=sage(preis)]{schalter}{kunde} \end{umlcall} \begin{umlcall}[op=zahlen(preis)]{kunde}{schalter} \end{umlcall} \umlcreatecall[class=Karte]{schalter}{karte} \begin{umlcall}[op=druckeAus()]{schalter}{karte} \end{umlcall} \begin{umlcall}[op=übergeben(),type=synchron]{schalter}{karte} \begin{umlcall}[op=übergeben(),type=synchron]{karte}{kunde} \end{umlcall} \end{umlcall} \begin{umlcall}[op=vorzeigen]{kunde}{karte} \begin{umlcall}[op=vorzeigen]{karte}{eingang} \end{umlcall} \end{umlcall} \begin{umlcall}[op=zerreissen()]{eingang}{karte} \end{umlcall} \end{umlseqdiag} \end{tikzpicture} \end{bAntwort} \end{document}