update docs
This commit is contained in:
parent
95b2b52121
commit
7e6943867c
|
@ -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.
|
||||
|
|
|
@ -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.
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue