\documentclass[landscape]{schulein}
\usepackage[bottom=2cm,top=2.5cm,left=2cm,right=2cm]{geometry}
\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: kino-objektdiagramm.tex 626 2014-05-22 21:36:50Z pieper $}

\dokName{Objektdiagramm Kino}
\jahrgang{EF}

\usetikzlibrary{shapes,positioning,arrows,backgrounds}
\tikzstyle{objektdiagramm}=[remember picture]
\tikzstyle{na} = [remember picture,baseline=-.5ex]
\tikzstyle{objekt} = [rectangle split, rounded corners, rectangle split parts=3, draw, align=center]

% \pagestyle{empty}
\renewcommand{\rmdefault}{cmss}

% Parameter:  Koordinatename
\newcommand{\attribut}[1]{\tikz[na]~\coordinate(#1);}


\begin{document}
\begin{center}
  \begin{tikzpicture}[objektdiagramm]

    \node (kino) [objekt,text width=4cm] 
    { 
      \bfseries kino
      \nodepart[align=left]{two}
      name = ``Plex42''\\
      hatAnzeige\attribut{hatAnzeige}\\
      \attribut{hatSaal4}hatSaal4\\
      hatSaal6\attribut{hatSaal6}\\
      hatKasse\attribut{hatKasse}  
      \nodepart[align=left]{three} 
      gibSaal4()\\
      gibSaal6()\\
      gibAnzeige()
    };

    \node (anzeige) [objekt,text width=5cm, above=2cm of kino] 
    {
      \bfseries anzeige
      \nodepart[align=left]{two}
      freiePlaetzeSaal6 = 400\\
      freiePlaetzeSaal4 = 300
      \nodepart[align=left]{three}
      zeigeFreiePlaetzeAn()
    };

    \node (kasse) [objekt,text width=4cm, below=1cm of kino] 
    {
      \bfseries kasse
      \nodepart[align=left]{two}
      \nodepart[align=left]{three}
      ticketAusgeben()\\
      ticketUmtauschen()
    };

    \node (saal4) [objekt,text width=4cm, below left=2cm of anzeige] 
    {
      \bfseries saal4
      \nodepart[align=left]{two}
      plaetze = 300\\
      freiePlaetze = 300
      \nodepart[align=left]{three}
      istSaalVoll()
    };

    \node (saal6) [objekt,text width=4cm, below right=2cm of anzeige] 
    {
      \bfseries saal6
      \nodepart[align=left]{two}
      plaetze = 400\\
      freiePlaetze = 400\\
      \nodepart[align=left]{three}
      istSaalVoll()
    };

    \node (film1) [objekt,text width=5cm, above=2cm of saal4]
    {
      \bfseries johnnyEnglish
      \nodepart[align=left]{two}
      name = ``Johnny English''
      kenntSaal4\attribut{kenntSaal4}
      \nodepart[align=left]{three}
      gibSaal()
    };

    \node (film2) [objekt,text width=4cm, above=2cm of saal6]
    {
      \bfseries realSteel
     \nodepart[align=left]{two}
      name = ``Real Steel''
      kenntSaal6\attribut{kenntSaal6}
      \nodepart[align=left]{three}
      gibSaal()
    };

    \draw[diamond-,thick] (hatKasse) -- ++ (3,0) |- (kasse);
    \draw[diamond-,thick] (hatSaal4)  -| (saal4);
    \draw[diamond-,thick] (hatSaal6)  -| (saal6);
    \draw[diamond-,thick] (hatAnzeige) -- ++ (3,0) |- (anzeige.east);

    \draw[-angle 60,thick] (kenntSaal4) ++ (0.2,0) -| (saal4);
    \draw[-angle 60,thick] (kenntSaal6) -| (saal6);
  \end{tikzpicture}
\end{center}
\end{document}

