update docs

This commit is contained in:
Andreas Zweili 2018-09-12 20:27:26 +02:00
parent 95b2b52121
commit 7e6943867c
4 changed files with 211 additions and 0 deletions

View File

@ -11,3 +11,102 @@
#+startup: align
#+bibliography: general/bibliography.bib
:end:
* Einführung
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.
* Ziele
Aus der Aufgabenstellung lassen sich folgende Ziele an die Systeme ableiten.
- Die Datenbank wird in SQL Server umgesetzt.
- Als Programmiersprache wird C# mit .NET Framework eingesetzt.
- Hotels können ihre Zimmer inklusive Zusatzinformationen wie Ausstattung etc.
erfassen.
- Flüge werden in der Datenbank gespeichert.
- Die Kombiangebote werden auf der Plattform in der Datenbank gespeichert.
- Ein WinForm/WPF Client greift auf die Plattform zu und ruft die Kombiangebote
ab.
- Der Client kann Kombiangebote buchen.
- Der Client kann Kombiangebote für 10 Tage reservieren.
- Die Plattform bucht bezahlte Reservationen fix.
- Es müssen mehrere Fluggesellschaften angebunden werden.
- 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.
- Es dürfen nur freie Flüge in Kombiangeboten vorkommen.
- Start- und Zielort des Fluges im Kombiangebot müssen passend zum Hotelzimmer
sein.
- Die Daten des Fluges müssen korrekt sein.
* Analyse
Aufgrund der Ziele wurden anschliessend folgende Diagramme ausgearbeitet.
** Verteilungsdiagramm
#+LATEX:\newpage
#+LATEX:\begin{landscape}
#+CAPTION: Verteilungsdiagramm
#+ATTR_LATEX: :height.9\textwidth
#+NAME: fig:verteilungsdiagramm
[[file:pictures/verteilungsdiagramm.pdf]]
#+LATEX:\end{landscape}
#+LATEX:\newpage
** Relationales Modell
#+LATEX:\newpage
#+LATEX:\begin{landscape}
*Erster Entwurf*
#+CAPTION: Relationen Modell
#+ATTR_LATEX: :height.9\textwidth
#+NAME: fig:rm
[[file:pictures/rm.pdf]]
#+LATEX:\end{landscape}
#+LATEX:\newpage
*Umsetzung des Entity Framework*
* Zugewiesene Ziele
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.
* Fazit
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.

112
docs/normfallstudie.tex Normal file
View File

@ -0,0 +1,112 @@
\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.

BIN
docs/pictures/rm.pdf Normal file

Binary file not shown.

Binary file not shown.