%!TEX root = ../TechnischerEntwurf.tex

\chapter{Implementierungsentwurf}

Dieser Abschnitt hat die Aufgabe, alle verwendeten Klassen und Bibliotheken zu
dokumentieren. Dabei wird jede Komponente aus \autoref{chap:architektur} gesondert
betrachtet. Für Entwurfsentscheidungen, die mehr als eine Komponente betreffen,
wird mit Verweisen zwischen den Dokumentationen der Komponente gearbeitet. Es
sind dabei so viele Unterabschnitte einzufügen, wie Komponenten vorhanden sind.
Die Anzahl sollte also mit den Komponenten aus \autoref{chap:architektur} übereinstimmen.



\section{Implementierung von Komponente <ID>: <Komponentenname>:}

z.B.: Implementierung von Komponente \ref{C10}: <Komponentenname>

Beschreiben Sie hier bitte die Implementierung der Komponente. Erläutern Sie
dabei bitte, welche Entwurfsmuster und Bibliotheken Sie verwenden. Die
Implementierung wird dabei durch Klassendiagramme dokumentiert.

\subsection{Paket-/Klassendiagramm}

Hier werden die Klassen der Komponente dargestellt. Denken Sie an die Pakete

\begin{figure}[h!]
\centering
\includegraphics[width=0.8\textwidth]{figures/class}
\caption{Ein beispielhaftes Klassendiagramm für Komponente \ref{C10}}
\label{classC10}
\end{figure}

Quelle der Abbildung \ref{classC10}: http://www.uml-diagrams.org/

\subsection{Erläuterung}

Die verwendeten Attribute, Aufgaben und Kommunikationspartner sind für jede
Klasse kurz zu erläutern. Die ankommenden Nachrichten beziehen sich dabei auf
die Sequenzdiagramme der Feinanalyse im Fachlichen Entwurf und stellen meist
aufzurufende Methoden der Klasse dar. Reine Get-/Set-Methoden oder
Bibliotheksfunktionen brauchen nicht aufgeführt zu werden.

Beispiel:

\begin{class}{10}{ConnectionManager}
\item[Aufgabe]~\\
Verwaltung der Verbindungen zum Server
\item[Attribute]~\\
kein
\item[Operationen]~\\
connect(): Diese Operation baut ein Verbindung zum Server auf
\item[Kommunikationspartner]~\\
Server
\end{class}

\textbf{Alternative:} Gibt es in eurem Projekt eine Dokumentation des Programmcodes
 mit JavaDoc/Doxygen oder Ähnlichem, dürft ihr diese in den Anhang tun und hier darauf verweisen.