113 lines
4.1 KiB
TeX
113 lines
4.1 KiB
TeX
|
|
\section{Einführung}
|
|
\label{sec:org6d4f889}
|
|
|
|
Aufgabe war es ein System aufzubauen welches Hotelbetreibern erlaubt ihre
|
|
freien Zimmer auf einem zentralen System zu melden. Das System sollte dann bei
|
|
angeschlossenen Fluggesellschaften über einen WCF Service nach passenden Flügen
|
|
suchen und diese Verbindung dann als ein Kombiangebot in der Datenbank
|
|
speichern. Diese Kombiangebot sollte dann von einem Kunden mithilfe einer
|
|
WinForm/WPF Applikation gebucht werden können.
|
|
|
|
\section{Ziele}
|
|
\label{sec:orgdab10f5}
|
|
|
|
Aus der Aufgabenstellung lassen sich folgende Ziele an die Systeme ableiten.
|
|
|
|
\begin{itemize}
|
|
\item Die Datenbank wird in SQL Server umgesetzt.
|
|
\item Als Programmiersprache wird C\# mit .NET Framework eingesetzt.
|
|
\item Hotels können ihre Zimmer inklusive Zusatzinformationen wie Ausstattung etc.
|
|
erfassen.
|
|
\item Flüge werden in der Datenbank gespeichert.
|
|
\item Die Kombiangebote werden auf der Plattform in der Datenbank gespeichert.
|
|
\item Ein WinForm/WPF Client greift auf die Plattform zu und ruft die Kombiangebote
|
|
ab.
|
|
\item Der Client kann Kombiangebote buchen.
|
|
\item Der Client kann Kombiangebote für 10 Tage reservieren.
|
|
\item Die Plattform bucht bezahlte Reservationen fix.
|
|
\item Es müssen mehrere Fluggesellschaften angebunden werden.
|
|
\item Der Service wird innerhalb von 2s aufgebaut, läuft mindestens 30 Tage durch,
|
|
bietet eine Verfügbarkeit von 0.995 und ist innerhalb von 0.5s ansprechbar.
|
|
\item Es dürfen nur freie Flüge in Kombiangeboten vorkommen.
|
|
\item Start- und Zielort des Fluges im Kombiangebot müssen passend zum Hotelzimmer
|
|
sein.
|
|
\item Die Daten des Fluges müssen korrekt sein.
|
|
\end{itemize}
|
|
|
|
\section{Analyse}
|
|
\label{sec:orgf4ce43a}
|
|
|
|
Aufgrund der Ziele wurden anschliessend folgende Diagramme ausgearbeitet.
|
|
|
|
\subsection{Verteilungsdiagramm}
|
|
\label{sec:org3b0693e}
|
|
|
|
|
|
\newpage
|
|
\begin{landscape}
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[width=.9\linewidth]{pictures/verteilungsdiagramm.pdf}
|
|
\caption{\label{fig:orgf1e8607}
|
|
Verteilungsdiagramm}
|
|
\end{figure}
|
|
\end{landscape}
|
|
\newpage
|
|
|
|
\subsection{Relationales Modell}
|
|
\label{sec:org8ee6851}
|
|
|
|
|
|
\newpage
|
|
\begin{landscape}
|
|
\textbf{Erster Entwurf}
|
|
\begin{figure}[htbp]
|
|
\centering
|
|
\includegraphics[width=.9\linewidth]{pictures/rm.pdf}
|
|
\caption{\label{fig:org71fbc74}
|
|
Relationen Modell}
|
|
\end{figure}
|
|
\end{landscape}
|
|
\newpage
|
|
|
|
\textbf{Umsetzung des Entity Framework}
|
|
|
|
\section{Zugewiesene Ziele}
|
|
\label{sec:org3fd47d5}
|
|
|
|
Der Student hat die Ziele anschliessend wie folgt auf die jeweiligen System
|
|
verteilt. Gewisse Ziele könnten auch auf anderen Systemen realisiert. Die
|
|
aufgeführte Variante erschien dem Studenten jedoch am sinnvollsten.
|
|
|
|
\section{Fazit}
|
|
\label{sec:org6b3e5f1}
|
|
|
|
Ein Booking System welches Kombiangebote wie in der Aufgabenstellung verlangt
|
|
bereitsstellt ist eine uglaublich komplexes System. Das Matching der Flüge zu
|
|
passenden Hotelzimmer hat enorm viele Variabeln welche berücksichtigt werden
|
|
müssen.
|
|
|
|
Dadurch lässt sich das Projekt in keiner Weise innerhalb von ca. 20 Stunden
|
|
erstellen. Der Student hat über 40 Stunden in das Projekt in Heimarbeit
|
|
investiert und kein brauchbares Ergebnis erziehlen können.
|
|
|
|
Das .NET und Entity Framework bieten einige interessante Features. Allerdings
|
|
wirkt der Code-First Ansatz von Entity Framework so als ob die ganzen
|
|
Überprüfungen in der Applikation gemacht werden sollten anstatt in der
|
|
Datenbank. Allenfalls ist das noch eine Altlast von früher allerdings gibt es
|
|
heutzutage Frameworks die dies wesentlich eleganter lösen. Der Student findet
|
|
dass, das Framework die Datenbank so sauber wie möglich erstellen sollte und es
|
|
dem Entwickler möglichst einfach machen sollte erweiterte Features der
|
|
Datenbank zu nutzen.
|
|
|
|
Auch empfindet der Student C\# eher als ungeeignet um innerhalb von so kurzer
|
|
Zeit ein Projekt zu realiseren. Die Sprache fühlt sich dafür einfach zu sperrig
|
|
und die zusätzliche Komplexität durch Visual Studio ist leider nicht immer nur
|
|
eine Hilfe.
|
|
|
|
WCF Services sind in der Grundidee eine sehr interessante Technologie und der
|
|
Stundet wird WCF Services oder ähnliche Technologien in der Zukunft sicher
|
|
inbetracht ziehen. Insbesondere das Teilen der Klassen bietet interessante
|
|
Möglichkeiten.
|