\documentclass{standalone}
\usepackage{schule}
\usepackage[utf8]{inputenc}
\usepackage{schulinf}

\usetikzlibrary{arrows,arrows.meta,positioning,decorations.markings}

\begin{document}

%\begin{preview}
\begin{tikzpicture}[font=\sffamily]


%stil für aggregation
\tikzstyle{aggregation} = [,shorten >=17pt,
	decoration={
	      markings,
	      mark=at position 1 with {\arrow[scale=2.5,black]{open diamond}};}
]

%Stil für Vererbung
\tikzstyle{vererbung} = [shorten >=15pt,
	decoration={
	      markings,
	      mark=at position 1 with {\arrow[scale=2.5,black]{open triangle 45}};}
]



%Farben setzen
\renewcommand{\umltextcolor}{black}
\renewcommand{\umldrawcolor}{black}
\renewcommand{\umlfillcolor}{white}



%Dokument
	\begin{class}[text width=7.7cm]{DOKUMENT}{10,0}
		\operation{+erzeugeAbschnitt(): ABSCHNITT}
		\operation{+erzeugeAbsatz(text: ZEICHENKETTE): ABSATZ}
		\operation{+erzeugeSeitenvorlage(): SEITENVORLAGE}
		\operation{+gibAbsatz(index: GANZZAHL): ABSATZ}
		\operation{+gibSeite(nr: GANZZAHL): SEITE}
		\operation{+gibCursor(): CURSOR}
		\operation{+gibAbschnitt(index: GANZZAHL): ABSCHNITT}
		\operation{+speichern(dateiname: ZEICHENKETTE)}
	\end{class}

%Cursor
	\begin{class}{CURSOR}{4,-5}
		\operation{+vor(): WAHRHEITSWERT}
		\operation{+zurueck(): WAHRHEITSWERT}
		\operation{+gibZeichen(): ZEICHEN}
	\end{class}



	

%Abschnitt
	\begin{class}[text width=8 cm]{ABSCHNITT}{5,-8}
		\operation{+erzeugeAbsatz(text:ZEICHENKETTE)}
		\operation{+setzeSeitenvorlage(vorlage: SEITENVORLAGE)}
		\operation{+gibDokument(): DOKUMENT}
		\operation{+gibAbsaetze(): LISTE aus ABSATZ}
		\operation{+gibSeitenvorlage(): SEITENVORLAGE}
		\operation{+gibSeiten(): LISTE aus SEITE}
	\end{class}



%Seitenvorlage	
	\begin{class}[text width=6cm]{SEITENVORLAGE}{13,-9}
		\operation{+gibName(): ZEICHENKETTE}
		\operation{+gibSeitenrandOben(): GANZZAHL}
		\operation{+gibSeitenrandUnten(): GANZZAHL}
		\operation{+gibSeitenrandLinks(): GANZZAHL}
		\operation{+gibSeitenrandRechts(): GANZZAHL}
		\operation{+gibBreite(): GANZZAHL}
		\operation{+gibHoehe(): GANZZAHL}
		\operation{+gibSpaltenzahl(): GANZZAHL}
	\end{class}
	

%Seite	
	\begin{class}[text width=6cm]{SEITE}{13,-5.5}
		\operation{+gibAbschnitt(): ABSCHNITT} %original war Abschnitt!
		\operation{+gibSeitenvorlage(): SEITENVORLAGE}
		\operation{+gibSeitenzahl(): GANZZAHL}
		%\inherit{SEITENVORLAGE}
	\end{class}
	

	
%Absatz	
	\begin{class}[text width=7cm]{ABSATZ}{20,0}
		\operation{+setzeAusrichtung(Linksbuendig $\mid$ Zentriert $\mid$ Rechtsbuending $\mid$ Blocksatz)}
		\operation{+setzeEinzugLinks (tmm: GANZZAHL)}
		\operation{+setzeEinzugRechts (tmm: GANZZAHL}
		\operation{+setzeEinzugErstzeile (tmm: GANZZAHL)}
		\operation{+setzeEinzugRestzeilen (tmm: GANZZAHL)}
		\operation{+setzeAbstandOben (tmm: GANZZAHL)}
		\operation{+setzeAbstandUnten (tmm: GANZZAHL)}
		\operation{+gibDokument(): DOKUMENT}
		\operation{+gibAbschnitt(): ABSCHNITT}
		\operation{+gibTextinhalt(): ZEICHENKETTE}
		\operation{+gibZeichenanzahl(): GANZZAHL}
		\operation{+gibEinzugLinks(): GANZZAHL}
		\operation{+gibEinzugRechts(): GANZZAHL}
		\operation{+gibEinzugErstzeile(): GANZZAHL}
		\operation{+gibEinzugRestzeilen(): GANZZAHL}
		\operation{+gibAbstandOben(): GANZZAHL}
		\operation{+gibAbstandUnten(): GANZZAHL}
		\operation{+gibZeichen (index:GANZZAHL): ZEICHEN}
		\operation{+gibAusrichtung(): Linksbuendig $\mid$ Zentriert $\mid$ Rechtsbuending $\mid$ Blocksatz}	
	\end{class}
	

	
%Zeichen	
	\begin{class}[text width=9.1cm]{ZEICHEN}{29,0}
		\operation{+setzeFett(fett: WAHRHEITSWERT)}
		\operation{+setzeKursiv(kursiv: WAHRHEITSWERT)}
		\operation{+setzeUnterstrichen(unterschrichen: WAHRHEITSWERT)}
		\operation{+setzeDuchgestrichen(durchgestrichen: WAHRHEITSWERT)}
		\operation{+setzeSchriftfarbe(farbe:(Farbauswahl))}
		\operation{+setzeHintergrundfarbe(farbe:(Farbauswahl))}
		\operation{+setzeSchriftgroesse(groesse: ZAHL)}
		\operation{+setzeSchriftart(schriftart: ZEICHENKETTE)}
		\operation{+setzeSymbol(symbol: ZEICHEN)}
		\operation{+gibFett(): WAHRHEITSWERT}
		\operation{+gibKursiv(): WAHRHEITSWERT}
		\operation{+gibUnterstrichen(): WAHRHEITSWERT}
		\operation{+gibDurchgestrichen(): WAHRHEITSWERT}
		\operation{+gibSchriftfarbe(): (Farbauswahl)}
		\operation{+gibHintergrundfarbe(): (Farbauswahl)}
		\operation{+gibSchriftgroesse(): ZAHL}
		\operation{+gibSchriftart(): ZEICHENKETTE}
		\operation{+gibSymbol(): ZEICHENKETTE}
	\end{class}
	
	

		\draw (DOKUMENT) -| (ABSATZ.west);
	
		
		\draw[postaction={decorate},vererbung] (SEITE) -- (SEITENVORLAGE);
						
		\draw[postaction={decorate},aggregation] (ZEICHEN.west) |- (ABSATZ);
		
		\draw[postaction={decorate},aggregation] (SEITE.north) -| (DOKUMENT.324);
		
		\draw[postaction={decorate},aggregation] (SEITE.180) -| (ABSCHNITT.28);
		
		
		
		\draw[postaction={decorate},aggregation] (SEITENVORLAGE.180) |- (ABSCHNITT.341);
		
		
		
		\draw[postaction={decorate},aggregation] (CURSOR) |- (DOKUMENT);
		
		\draw[postaction={decorate},aggregation] (ABSCHNITT.north east) -| (DOKUMENT.220);

		%bsp.	
	%	\draw[,-open diamond] (DOKUMENT.south) ++ 		(1,0)  -- ++(0,-1)  -- node[above , sloped , 		black]{$<<$instantiate$>>$} ++(20,0)  -| (ZEICHEN);
	
\end{tikzpicture}


\end{document}
