\documentclass{schuleab}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

% Dieses Dokument ist in der Zusammenarbeit von Informatikreferendaren und
% ehemaligen Informatikreferendaren der Studienseminare (heute ZfsL) Arnsberg,
% Hamm und Solingen entstanden.
%
% Das Dokument steht unter der Lizenz: Creative Commons by-nc-sa Version 4.0
% http://creativecommons.org/licenses/by-nc-sa/4.0/deed.de
%
% Nach dieser Lizenz darf das Dokument beliebig kopiert und bearbeitet werden,
% sofern das Folgeprodukt wiederum unter gleichen Lizenzbedingungen vertrieben
% und auf die ursprünglichen Urheber verwiesen wird.
% Eine kommerzielle Nutzung ist ausdrücklich ausgeschlossen.
%
% Die Namensnennung durch einen Verweis und die Lizenzangabe der ursprünglichen
% Urheber auf den Materialien für Schülerinnen und Schüler ist erforderlich.
%
% Die Sammlung der Dokumente steht unter
% http://ddi.uni-wuppertal.de/material/materialsammlung/
% zur Verfügung.
%
% Das LaTeX-Paket zum Setzen der Dokumente der Sammlung steht
% unter  http://www.ctan.org/pkg/schule
% zur Verfügung.

\usepackage[pdfauthor={Referendare der Informatikfachseminare Arnsberg, Hamm und Solingen}]{hyperref}
\includexmp{lizenz}
\cclizenz{byncsaeu}
\footerQRLink{materialsammlung_qr_url.pdf}

\svnid{$Id: ab_01_sequenzdiagramm.tex 626 2014-05-22 21:36:50Z pieper $}

\dokName{Beziehungen von Objekten -- Sequenzdiagramm}
\jahrgang{EF}


\begin{document}

\subsubsection*{Objektinteraktionsprotokoll}
\begin{center}
\begin{tabular}{lll}
peter & $\xrightarrow{Auftrag}$   & peter.schlafenBis(''6:45'') \tabularnewline
peter & $\xrightarrow{Anfrage}$   & wecker.gibZeit()   		 \tabularnewline
peter & $\xleftarrow[R"uckgabe]{}$ & ''6:45''					 \tabularnewline
peter & $\xrightarrow{Auftrag}$   & peter.geheZumBad()			 \tabularnewline
peter & $\xrightarrow{Auftrag}$   & lampe.einschalten()		 \tabularnewline
peter & $\xrightarrow{Auftrag}$   & toilette.spuelen()			 \tabularnewline
\end{tabular}
\end{center}

\dotfill
\vspace{-4ex}
\begin{center}
\subsubsection*{Sequenzdiagramm}
  \begin{sequencediagram}
	\newthread{peter}{peter}
	\newinst[0.85]{lampe}{lampe}
	\newinst[0.5]{toilette}{toilette}
	\newinst[0.5]{wecker}{wecker}

	 \begin{call}{peter}{schlafenBis(''6:45'')}{peter}{}\end{call}
	 \begin{call}{peter}{gibZeit()}{wecker}{''6:45''}\end{call}
	 \begin{call}{peter}{geheZumBad()}{peter}{}\end{call}
	 \begin{call}{peter}{einschalten()}{lampe}{}\end{call}
	 \begin{call}{peter}{spülen()}{toilette}{}\end{call}
  \end{sequencediagram}
\end{center}

\dotfill
\vspace{-4ex}
\subsubsection*{Arbeitsauftrag} 
Identifizieren Sie alle Elemente des Sequenzdiagramms, indem Sie sie den entsprechenden Elementen des zugehörigen Objektinteraktionsprotokolls zuordnen. Gehen Sie dabei wie folgt vor:

\begin{enumerate}[(a)]
	\item Identifizieren Sie die beteiligten Objekte im Sequenzdiagramm.
	\item Identifizieren Sie die Methodenaufrufe im Sequenzdiagramm und geben Sie dabei an, woran man erkennen kann, welche Objekte am Aufruf beteiligt sind.
	\item Identifizieren Sie die Rückgaben im Sequenzdiagramm und geben Sie dabei an, woran man erkennen kann, welche Objekte daran beteiligt sind.
%		  \textbf{(Hilfekarten am Pult verfügbar)}
	\item Geben Sie begründete Vermutungen an, welche Funktion den gestrichelten, vertikalen Linien und den darauf befindlichen Rechtecken 
		zukommt. 
%		  \textbf{(Hilfekarten am Pult verfügbar)}
\end{enumerate}

\end{document}

