%!TEX root = ../TechnischerEntwurf.tex

\chapter{Resultierende Softwarearchitektur}\label{chap:architektur}

Dieser Abschnitt hat die Aufgabe, einen Überblick über die zu entwickelnden
Komponenten und Subsysteme zu liefern.

\section{Komponentenspezifikation}

In diesem Abschnitt wird die aus der Analyse der Produktfunktionen (\autoref{chap:analyse}) 
resultierende Komponentenstruktur durch ein Komponentendiagramm beschrieben. 
Die Bezeichnungen und Anzahl der Komponenten
sollten natürlich konsistent zu denen aus \autoref{chap:analyse} sein. Gab es Änderungen, so sollen diese 
in Kapitel 9 beschrieben werden.

\begin{figure}[ht]
\centering
\includegraphics[width=0.8\textwidth]{figures/component}
\caption{Ein beispielhaftes Komponentendiagramm.}
\label{component}
\end{figure}

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

Die einzelnen Komponenten werden anschließend kurz beschrieben.

\begin{component}{10}{<Bezeichnung>}
Aufgaben der Komponente
\end{component}

\begin{component}{20}{<Bezeichnung>}
Aufgaben der Komponente
\end{component}

\section{Schnittstellenspezifikation}

Im Folgenden werden die einzelnen Schnittstellen der Komponenten aus der
Komponentenspezifikation näher erläutert, d.h. die von ihnen zur Verfügung
gestellten Operationen werden dokumentiert. Die Tabelle ist dabei um so viele
Zeilen zu erweitern, wie es Schnittstellen im Komponentendiagramm gibt. In der
innen liegenden Aufteilung ist für jede Operation einer Schnittstelle eine
Zeile einzufügen.  Reine Set- und Get-Aufrufe brauchen nicht aufgeführt zu
werden (sollten auch möglichst nicht komponentenübergreifend auftauchen).

\begin{interface}{10}{<Bezeichnung>}

\begin{center}
	\begin{tabular}[ht]{|l|l|}
	\hline
	\textbf{Operation} & \textbf{Beschreibung}\\
	\hline
	<Signatur der Operation> & <Aufgabenbeschreibung der Operation>\\
	\hline
	 \end{tabular}
\end{center}

\end{interface}

\section{Protokolle für die Benutzung der Komponenten}

In diesem Abschnitt wird mit Hilfe von Protokoll-Statecharts die korrekte
Verwendung der zu entwickelnden Komponenten dokumentiert. Dies ist insbesondere
für diejenigen Komponenten notwendig, für die eine Wiederverwendung möglich
erscheint oder sogar bereits geplant ist.

Begründen Sie, für welche Komponenten eine Wiederverwendung sinnvoll erscheint
und für welche nicht!

Fügen Sie so viele Statechartdiagramme ein, wie sie Komponenten gefunden haben.
