\documentclass{bschlangaul-aufgabe} \bLadePakete{uml} \begin{document} \bAufgabenMetadaten{ Titel = {Aufgabe 2: Modellierung von Interaktionen durch Sequenzdiagramme}, Thematik = {Spielzeugeisenbahnen}, Referenz = 46116-2016-H.T2-TA1-A2, RelativerPfad = Examen/46116/2016/09/Thema-2/Teilaufgabe-1/Aufgabe-2.tex, ZitatSchluessel = examen:46116:2016:09, ZitatBeschreibung = {Thema 2 Teilaufgabe 1 Aufgabe 2}, BearbeitungsStand = TeX-Fehler, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Sequenzdiagramm}, EinzelpruefungsNr = 46116, Jahr = 2016, Monat = 09, ThemaNr = 2, TeilaufgabeNr = 1, AufgabeNr = 2, } Die Fahrtrichtung der ersten elektrischen Spielzeugeisenbahnen wurde häufig durch Stromunterbrechung gesteuert. Dazu betrachten wir das Anwendungsfall-Diagramm.\index{Sequenzdiagramm} \footcite[Thema 2 Teilaufgabe 1 Aufgabe 2]{examen:46116:2016:09} \begin{center} \begin{tikzpicture} \umlactor{Spieler} \begin{umlsystem}[x=5]{} \umlusecase[name={Steuere Lokomotive}]{Steuere Lokomotive} \end{umlsystem} \umlassoc{Spieler}{Steuere Lokomotive} \end{tikzpicture} \end{center} \noindent An dem Anwendungsfall \emph{„Steuere Lokomotive“} sind ein Spieler, als Aktor außerhalb des Systems, und jeweils ein Objekt der Klassen \emph{Stromschalter}, \emph{Lokomotive}, \emph{Scheinwerfer} und \emph{Rad}, als Objekte innerhalb des Systems, beteiligt. Zur Vereinfachung wird nur ein Objekt der Klasse \emph{Rad} stellvertretend für alle vier Räder modelliert. Der Anwendungsfall zum Steuern einer Lokomotive wird durch folgendes Szenario beschrieben. \begin{enumerate} \item Der Spieler schaltet den Stromschalter ein, woraufhin der Schalter der Lokomotive \emph{Strom zuführt}. \item Die Lokomotive schickt nun den Rädern ein Signal um \emph{vorwärts} zu fahren. \item Dann schaltet der Spieler den Stromschalter aus, woraufhin der Schalter die Stromzufuhr bei der Lokomotive \emph{abstellt}. \item Daraufhin schickt die Lokomotive das Signal \emph{stop} an die Räder. \item Der Spieler schaltet jetzt den Stromschalter wieder ein, woraufhin der Schalter der Lokomotive \emph{Strom zuführt}. \item Die Lokomotive schickt den Rädern ein Signal um \emph{rückwärts} zu fahren. \item Nun schaltet der Spieler den Stromschalter wieder aus, woraufhin der Schalter die Stromzufuhr bei die Lokomotive \emph{abstellt}. \item Daraufhin schickt die Lokomotive wieder das Signal \emph{stop} an die Räder. \end{enumerate} \noindent Geben Sie ein Sequenzdiagramm an, das die oben beschriebenen Interaktionen zwischen Spieler, Stromschalter, Lokomotive und Rädern beschreibt. \begin{tikzpicture} \begin{umlseqdiag} \umlactor{Spieler} \umlobject[class=Stromschalter]{schalter} \umlobject[class=Lokomotive]{lok} \umlobject[class=Rad]{rad} \begin{umlcall}[op=einschalten()]{Spieler}{schalter} \begin{umlcall}[op=stromZufuehren()]{schalter}{lok} \begin{umlcall}[op=vorwaertsFahren()]{lok}{rad} \end{umlcall} \end{umlcall} \end{umlcall} \begin{umlcall}[op=ausschalten(),with return]{Spieler}{schalter} \begin{umlcall}[op=stromAbstellen(),with return]{schalter}{lok} \begin{umlcall}[op=stop(),with return]{lok}{rad} \end{umlcall} \end{umlcall} \end{umlcall} \begin{umlcall}[op=einschalten()]{Spieler}{schalter} \begin{umlcall}[op=stromZufuehren()]{schalter}{lok} \begin{umlcall}[op=rueckwaertsFahren()]{lok}{rad} \end{umlcall} \end{umlcall} \end{umlcall} \begin{umlcall}[op=ausschalten(),with return]{Spieler}{schalter} \begin{umlcall}[op=stromAbstellen(),with return]{schalter}{lok} \begin{umlcall}[op=stop(),with return]{lok}{rad} \end{umlcall} \end{umlcall} \end{umlcall} \end{umlseqdiag} \end{tikzpicture} \end{document}