Update the documentation and fix various problems.

This commit is contained in:
Andreas Zweili 2017-08-24 17:58:04 +02:00
parent 511373efb8
commit df0472230a
8 changed files with 120 additions and 129 deletions

View File

@ -5,7 +5,7 @@ ermöglicht geeignete Standflächen an attraktiven Standorten zu mieten.
Zusätzlich sollen sie auf einer Plattform die Möglichkeit haben sich Zusätzlich sollen sie auf einer Plattform die Möglichkeit haben sich
zu präsentieren. Diese Plattform soll interessierten Kunden einen zu präsentieren. Diese Plattform soll interessierten Kunden einen
Überblick über die verschieden Anbieter geben und somit Neugierde Überblick über die verschieden Anbieter geben und somit Neugierde
wecken. Dies alles soll auf mit möglichst wenig Aufwand verwaltet wecken. Dies alles soll mit möglichst wenig Aufwand verwaltet
werden können. werden können.
\subsection{Stakeholder} \subsection{Stakeholder}
@ -16,7 +16,7 @@ Folgende Stakeholder sind in diesem Projekt zu berücksichtigen:
\item Marktbesucher \item Marktbesucher
\end{itemize} \end{itemize}
Diagramm:\ref{fig:stakeholder} zeigt die Beziehung der Stakeholder Diagramm (\ref{fig:stakeholder}) zeigt die Beziehung der Stakeholder
zum Projekt noch grafisch auf. zum Projekt noch grafisch auf.
\begin{figure} \begin{figure}
@ -36,10 +36,11 @@ zum Projekt noch grafisch auf.
\end{itemize} \end{itemize}
\subsubsection{Risiken} \subsubsection{Risiken}
Ein grosses Risiko ist das wir uns beim erarbeiten der Datenbank in Ein grosses Risiko ist das wir uns beim Erarbeiten der Datenbank sowie
Details verlieren die nicht gefordert werden sowie unter Umständen beim schreiben der Applikation in Details verlieren die nicht
Dinge einbauen welche wir nicht genügend kennen was uns zu einem gefordert werden. Sowie unter Umständen Dinge einbauen welche wir nicht
späteren Zeitpunkt zum Verhängnis werden könnte. genügend kennen. Dies könnte uns zu einem späteren Zeitpunkt zum Verhängnis
werden.
\newpage \newpage
\section{Zielsetzung} \section{Zielsetzung}
@ -49,8 +50,8 @@ späteren Zeitpunkt zum Verhängnis werden könnte.
\item Das Geschäftsmodell wurde in ein ERM umgewandelt. \item Das Geschäftsmodell wurde in ein ERM umgewandelt.
\item Das ERM wurde in eine SQL-Server Datenbank umgesetzt. \item Das ERM wurde in eine SQL-Server Datenbank umgesetzt.
\item Die Arbeit wurde mittels eines Testplans überprüft. \item Die Arbeit wurde mittels eines Testplans überprüft.
\item Die zur Verfügung stehenden Stunden sind in einer Planung auf \item Die zur Verfügung stehenden Stunden sind in einer Planung
die Aufgaben zugeordnet. Abweichungen wurden mittels einer den Aufgaben zugeordnet. Abweichungen wurden mittels einer
Abweichungsanalyse aufgezeichnet. Abweichungsanalyse aufgezeichnet.
\item Die Lösung wurde dokumentiert. \item Die Lösung wurde dokumentiert.
\item Eine Teilfunktion des Geschäftsmodell wurde in einer C\# Applikation \item Eine Teilfunktion des Geschäftsmodell wurde in einer C\# Applikation
@ -77,21 +78,21 @@ Als Plattforminhaber möchte ich,
\item die Kontrolle über die Anzahl der Auftrittsanpassungen haben. \item die Kontrolle über die Anzahl der Auftrittsanpassungen haben.
\item Abonnemente verwalten können. \item Abonnemente verwalten können.
\item sichergestellt haben das provisorische Mitglieder sich nur \item sichergestellt haben das provisorische Mitglieder sich nur
an einem Standort einen Platz reservieren kann. an einem Standort einen Platz reservieren können.
\end{itemize} \end{itemize}
\subsection{Anbieter provisorisches Mitglied} \subsection{Anbieter (provisorisches Mitglied)}
Als provisorisches Mitglied möchte ich, Als provisorisches Mitglied möchte ich,
\begin{itemize} \begin{itemize}
\item mich registrieren können. \item mich registrieren können.
\item einen Standfläche mieten können. \item eine Standfläche mieten können.
\item einsehen können wie lange die Probezeit noch dauert. \item einsehen können wie lange die Probezeit noch dauert.
\end{itemize} \end{itemize}
\subsection{Anbieter festes Mitglied} \subsection{Anbieter (festes Mitglied)}
Als festes Mitglied möchte ich, Als festes Mitglied möchte ich,
\begin{itemize} \begin{itemize}
\item Abonnement lösen können. \item ein Abonnement lösen können.
\item Standorte buchen können. \item Standorte buchen können.
\item meinen Auftritt anpassen können. \item meinen Auftritt anpassen können.
\end{itemize} \end{itemize}
@ -128,8 +129,7 @@ Als Marktbesucher möchte ich,
%begin title row %begin title row
{\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 1.0 User Registrierung} \\ \hline {\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 1.0 User Registrierung} \\ \hline
%end title row %end title row
Description & Der Use Case beschreibt die Registrierung Description & Registrierung eines neuen User Accounts.\\
eines neuen User Accounts.\\
\hline \hline
Actors & User\\ Actors & User\\
\hline \hline
@ -139,7 +139,7 @@ Includes & -\\
\hline \hline
Trigger & User möchte sich registrieren.\\ Trigger & User möchte sich registrieren.\\
\hline \hline
Preconditions & -\\ Preconditions & Email Adresse vorhanden.\\
\hline \hline
Postconditions & User hat sich einen Account erstellt.\\ Postconditions & User hat sich einen Account erstellt.\\
\hline \hline
@ -148,8 +148,7 @@ Normal Flow & 1. User startet Registrierung\\
& 3. User schliesst Registrierung ab\\ & 3. User schliesst Registrierung ab\\
\hline \hline
Alternative Flow & 1. User startet Registrierung\\ Alternative Flow & 1. User startet Registrierung\\
& 2. User füllt Form mit bereits vorhandener\\ & 2. User füllt Form mit bereits vorhandener Email Adresse aus.\\
& Email Adresse aus.\\
& 3. Applikation gibt Fehler aus\\ & 3. Applikation gibt Fehler aus\\
& 4. User verwendet einzigartige Email Adresse\\ & 4. User verwendet einzigartige Email Adresse\\
& 5. User schliesst Registrierung ab\\ & 5. User schliesst Registrierung ab\\
@ -157,10 +156,11 @@ Alternative Flow & 1. User startet Registrierung\\
Notes & -\\ Notes & -\\
\hline \hline
UC History & 1.0 Draft erstellt durch AZ\\ UC History & 1.0 Draft erstellt durch AZ\\
& 1.1 kleinere Anpassungen durch AZ\\
\hline \hline
Author & A. Zweili \& I. Cadaroski\\ Author & A. Zweili \& I. Cadaroski\\
\hline \hline
Date & 20. Juli 2017\\ Date & 24. August 2017\\
\hline \hline
\caption{Use 1.0 User Registrierung} \caption{Use 1.0 User Registrierung}
\end{longtable}} \end{longtable}}
@ -174,8 +174,7 @@ Date & 20. Juli 2017\\
%begin title row %begin title row
{\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 1.1 User Login} \\ \hline {\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 1.1 User Login} \\ \hline
%end title row %end title row
Description & Der Use Case beschreibt den Login eines Description & Login eines Users am System.\\
Users.\\
\hline \hline
Actors & User\\ Actors & User\\
\hline \hline
@ -193,17 +192,17 @@ Normal Flow & 1. User füllt Login Form korrekt aus\\
& 2. User quittiert Login\\ & 2. User quittiert Login\\
& 3. Applikation wechselt zum geschützten Bereich\\ & 3. Applikation wechselt zum geschützten Bereich\\
\hline \hline
Alternative Flow & 1. User füllt Login Form mit falschen\\ Alternative Flow & 1. User füllt Login Form mit falschen Angaben aus.\\
& Angaben aus\\
& 2. Applikation gibt einen Error aus\\ & 2. Applikation gibt einen Error aus\\
\hline \hline
Notes & -\\ Notes & -\\
\hline \hline
UC History & 1.0 Draft erstellt durch AZ\\ UC History & 1.0 Draft erstellt durch AZ\\
& 1.1 kleinere Anpassungen durch AZ\\
\hline \hline
Author & A. Zweili \& I. Cadaroski\\ Author & A. Zweili \& I. Cadaroski\\
\hline \hline
Date & 20. Juli 2017\\ Date & 24. August 2017\\
\hline \hline
\caption{Use Case 1.1 User Login} \caption{Use Case 1.1 User Login}
\end{longtable}} \end{longtable}}
@ -211,14 +210,14 @@ Date & 20. Juli 2017\\
%% -- End of Use Case Template -- %% -- End of Use Case Template --
%% -- Begining of Use Case Template -- %% -- Begining of Use Case Template --
\subsubsection{Standorte begutachten} \subsubsection{Standorte auflisten/suchen}
{\footnotesize\begin{longtable}{|>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}|} {\footnotesize\begin{longtable}{|>{\columncolor[HTML]{EFEFEF}}p{.25\textwidth}|p{.7\textwidth}|}
\hline \hline
%begin title row %begin title row
{\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.0 Standorte begutachten} \\ \hline {\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.0 Standorte auflisten/suchen} \\ \hline
%end title row %end title row
Description & Der Use Case beschreibt das Betrachten der Description & Auflisten/suchen der
Standorte.\\ Standorte in der Applikation.\\
\hline \hline
Actors & User\\ Actors & User\\
\hline \hline
@ -226,25 +225,25 @@ Status & Freigegeben\\
\hline \hline
Includes & -\\ Includes & -\\
\hline \hline
Trigger & User möchte Standort Details einsehen.\\ Trigger & User möchte Standorte suchen/auflisten.\\
\hline \hline
Preconditions & UC 1.1 erfolgreich abgeschlossen\\ Preconditions & UC 1.1 erfolgreich abgeschlossen\\
\hline \hline
Postconditions & -\\ Postconditions & -\\
\hline \hline
Normal Flow & 1. User wählt einen Standort aus\\ Normal Flow & 1. User gibt einen Suchbegriff ein.\\
& 2. Die Applikation gibt die Details zum\\ & 2. Die Applikation gibt die passenden Resultate aus.\\
& ausgewählten Standort aus.\\
\hline \hline
Alternative Flow & -\\ Alternative Flow & -\\
\hline \hline
Notes & -\\ Notes & -\\
\hline \hline
UC History & 1.0 Draft erstellt durch AZ\\ UC History & 1.0 Draft erstellt durch AZ\\
& 1.1 kleinere Anpassungen durch AZ\\
\hline \hline
Author & A. Zweili \& I. Cadaroski\\ Author & A. Zweili \& I. Cadaroski\\
\hline \hline
Date & 20. Juli 2017\\ Date & 24. August 2017\\
\hline \hline
\caption{Use Case 2.0 Standorte begutachten} \caption{Use Case 2.0 Standorte begutachten}
\end{longtable}} \end{longtable}}
@ -259,10 +258,9 @@ Date & 20. Juli 2017\\
%begin title row %begin title row
{\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.1 Standorte mieten} \\ \hline {\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.1 Standorte mieten} \\ \hline
%end title row %end title row
Description & Der Use Case beschreibt das mieten der Description & Mieten eines Standortes als Test Member.\\
Standorte als Test Member.\\
\hline \hline
Actors & User mit test$_{\text{member}}$ Status\\ Actors & User mit ``test\_member'' Status\\
\hline \hline
Status & Freigegeben\\ Status & Freigegeben\\
\hline \hline
@ -275,26 +273,25 @@ Date & 20. Juli 2017\\
Postconditions & Miete wurde erfolgreich in DB eingetragen.\\ Postconditions & Miete wurde erfolgreich in DB eingetragen.\\
\hline \hline
Normal Flow & 1. User wählt einen Standort aus\\ Normal Flow & 1. User wählt einen Standort aus\\
& 2. User wählt das Datum aus an dem er den\\ & 2. User wählt das Datum aus an dem er den Standort gerne mieten möchte.\\
& Standort gerne mieten möchte.\\ & 3. User bestätigt die Miete mit einem Klick auf den Insert Button.\\
& 3. User bestätigt die Miete mit klick auf\\
& den Insert Button.\\
\hline \hline
Alternative Flow & 1. User wählt einen Standort aus\\ Alternative Flow
& 2. User wählt das Datum an dem er den\\ & \textbf{Der Alternative Flow wurde in der Applikation nicht umgesetzt.}\\
& Standort gerne mieten möchte.\\ & 1. User wählt einen Standort aus\\
& 3. User bestätigt die Miete mit klick auf\\ & 2. User wählt das Datum an dem er den Standort gerne mieten möchte.\\
& den Insert Button.\\ & 3. User bestätigt die Miete mit klick auf den Insert Button.\\
& 4. Die Applikation meldet zurück das der\\ & 4. Die Applikation meldet zurück das der Standort an diesem Datum\\
& Standort an diesem Datum bereits besetzt ist.\\ & bereits besetzt ist.\\
\hline \hline
Notes & -\\ Notes & -\\
\hline \hline
UC History & 1.0 Draft erstellt durch AZ\\ UC History & 1.0 Draft erstellt durch AZ\\
& 1.1 kleinere Anpassungen durch AZ\\
\hline \hline
Author & A. Zweili \& I. Cadaroski\\ Author & A. Zweili \& I. Cadaroski\\
\hline \hline
Date & 27. Juli 2017\\ Date & 24. August 2017\\
\hline \hline
\caption{Use Case 2.1 Standorte Mieten} \caption{Use Case 2.1 Standorte Mieten}
\end{longtable}} \end{longtable}}
@ -310,10 +307,9 @@ Date & 20. Juli 2017\\
%begin title row %begin title row
{\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.2 Mieten anzeigen} \\ \hline {\cellcolor[HTML]{C0C0C0} Identifier} + Name & {\cellcolor[HTML]{C0C0C0} 2.2 Mieten anzeigen} \\ \hline
%end title row %end title row
Description & Der Use Case beschreibt das Betrachten der Description & Betrachten der getätigten Mieten des aktuellen Users.\\
getätigten Mieten des aktuellen Users.\\
\hline \hline
Actors & User mit test$_{\text{member}}$ Status\\ Actors & User mit ``test\_member'' Status\\
\hline \hline
Status & Freigegeben\\ Status & Freigegeben\\
\hline \hline
@ -335,10 +331,11 @@ Alternative Flow & -\\
Notes & -\\ Notes & -\\
\hline \hline
UC History & 1.0 Draft erstellt durch AZ\\ UC History & 1.0 Draft erstellt durch AZ\\
& 1.1 kleinere Anpassungen durch AZ\\
\hline \hline
Author & A. Zweili \& I. Cadaroski\\ Author & A. Zweili \& I. Cadaroski\\
\hline \hline
Date & 27. Juli 2017\\ Date & 24. August 2017\\
\hline \hline
\caption{Use Case 2.2 Mieten anzeigen} \caption{Use Case 2.2 Mieten anzeigen}
\end{longtable}} \end{longtable}}
@ -393,39 +390,21 @@ Haben die Länder und Städte Listen bereits komplett zu erstellen. \\ \hline
\end{landscape} \end{landscape}
\newpage \newpage
\section{Zusammenarbeit}
\section{Umsetzung}
\subsection{Lösungsvarianten} \subsection{Lösungsvarianten}
\newpage \subsection{Zusammenarbeit}
\section{Coding}
\subsection{RM} \subsection{RM}
\subsection{ERM} \subsection{ERM/SQL}
\begin{landscape} Nachfolgend werden die Entitäten der Datenbank kurz beschrieben damit
\begin{figure} das ERM Diagramm (\ref{fig:erm}) besser verstanden werden kann. Dabei
\centering wird zuerst der Name der Tabelle in der Datenbank aufgelistet gefolgt von der
\includegraphics[height=0.8\textheight]{diagrammes/rm.png} deutschen Übersetzung.
\caption{RM Diagramm\label{fig:rm}}
\end{figure}
\end{landscape}
\begin{landscape}
\begin{figure}
\centering
\includegraphics[scale=0.38]{diagrammes/erm.png}
\caption{ERM Diagramm\label{fig:erm}}
\end{figure}
\end{landscape}
\subsubsection{Entitäten}
In dieser Sektion werden die Entitäten der Datenbank kurz beschrieben
damit das ERM besser verstanden werden kann. Dabei wird zuerst der
Name in der Datenbank aufgelistet gefolgt von der deutschen
Übersetzung.
\paragraph{persons / (Personen)} \paragraph{persons / (Personen)}
Sind die Repräsentation einer realen Person in der Datenbank. Hier Sind die Repräsentation einer realen Person in der Datenbank. Hier
@ -458,8 +437,7 @@ hat.
\paragraph{member\_status / (Mitgliedsstatus)} \paragraph{member\_status / (Mitgliedsstatus)}
Die Mitgliedsstatus Tabelle enthält die möglichen Stati die ein Die Mitgliedsstatus Tabelle enthält die möglichen Stati die ein
Mitglied haben kann. Dabei werden hier auch Mitglieder Stati wie Mitglied haben kann. Dabei werden hier auch Mitglieder Stati wie
Mitarbeiter oder Admin erfasst da es für die Datenbank keinen Mitarbeiter oder Admin erfasst.
Unterschied macht welche Funktion ein Mitglied hat.
\paragraph{subscribtions / (Abonnemente)} \paragraph{subscribtions / (Abonnemente)}
Beschreiben die Abonnementsarten welche von den Mitgliedern gekauft Beschreiben die Abonnementsarten welche von den Mitgliedern gekauft
@ -483,8 +461,10 @@ Zusätzlich wird erfasst an welchem Tag der Check geplant ist und Ob
der Check bestanden wurde. der Check bestanden wurde.
\paragraph{subscription\_orders / (Abonnementsbestellungen)} \paragraph{subscription\_orders / (Abonnementsbestellungen)}
Enthält die Abokäufe die ein Mitglied macht welcher Standort dabei Enthält die Abokäufe die ein Mitglied macht und welcher Standort dabei
gewählt wurde sowie an welchem Tag der Kauf getätigt wurde. gewählt wurde Sowie an welchem Tag der Kauf getätigt wurde. Das
Kaufdatum kann in der finalen Version dazu verwendet werden zu
berechnen ob das aktuelle Abo noch gültig ist oder nicht.
\paragraph{trial\_period / (Probezeit)} \paragraph{trial\_period / (Probezeit)}
Beinhaltet die Zeit wie lange die Probezeit ist damit diese nicht als Beinhaltet die Zeit wie lange die Probezeit ist damit diese nicht als
@ -499,35 +479,51 @@ gemietet wird und mit einem Datumsfeld wird angegeben an welchem Tag
der Platz reserviert wurde. der Platz reserviert wurde.
\paragraph{rent\_prices / (Mietpreise)} \paragraph{rent\_prices / (Mietpreise)}
Diese weisst jedem Standort einen Preis zu. Dies ermöglicht es die Diese Tabelle weist jedem Standort einen Preis zu. Dies ermöglicht es die
Preise für jeden Standort flexibel zu halten und den regionalen Preise für jeden Standort flexibel zu halten und den regionalen
Interessengruppen anzupassen. Interessengruppen anzupassen.
\begin{landscape}
\begin{figure}
\centering
\includegraphics[height=0.8\textheight]{diagrammes/rm.png}
\caption{RM Diagramm\label{fig:rm}}
\end{figure}
\end{landscape}
\begin{landscape}
\begin{figure}
\centering
\includegraphics[scale=0.38]{diagrammes/erm.png}
\caption{ERM Diagramm\label{fig:erm}}
\end{figure}
\end{landscape}
\subsection{C\#} \subsection{C\#}
In dieser Sektion wird das Verarbeiten einer kleiner Funktion In dieser Sektion wird das Erstellen einer kleiner Anwendung
beschrieben, in der wir gewisse Segmente unserer Datenbank abrufen und beschrieben, in der wir gewisse Segmente unserer Datenbank abrufen und
bearbeiten können. Damit zeigen wir die Funktionalität und bearbeiten können. Damit zeigen wir die Funktionalität und
Verarbeitung unsere Datenbank auf. Verarbeitung unsere Datenbank auf.
\subsubsection{Connection} \subsubsection{Verbindung zur Datenbank}
Um die Verbindung ( connectionstring ) abrufen zu können, erstellen Um die Verbindung ( connectionstring ) abrufen zu können, erstellen
wir eine ``Helper'' Klasse. Darin haben wir den Verbindungspfad wir eine ``Helper'' Klasse. Darin haben wir den Verbindungspfad
definiert der beim Verbindungsaufbau in App.config aufgerufen wird. definiert der beim Verbindungsaufbau in App.config aufgerufen wird.
Den definitiven (connectionstring) haben wir in ``App.config'' bestimmt. Den definitiven (connectionstring) haben wir in ``App.config'' bestimmt.
\subsubsection{grafische Oberfläche}
\subsubsection{GUI} Die Grafische Oberfläche (GUI) wurde beim Aufbauen des Projektes als
``Windows Form Application'' gestartet und ``Dashboard'' genannt. Nach
Das GUI wurde beim aufbauen des Projektes als ``Windows Form dem Anpassen der Grösse, haben wir eine ``ListBox'' eingesetzt und sie
Application'' gestartet und ``Dashboard'' genannt. Nach dem Anpassen der umbenannt. Sie dient dazu, zukünftig gesuchte Daten darin aufzuführen.
Grösse, haben wir eine ``ListBox'' eingesetzt und sie umbenannt. Sie Um die gesuchten Daten eingebe zu können, haben wir danach eine
dient dazu, zukünftig gesuchte Daten darin aufzuführen. Um die ``TextBox'' eingefügt. Sobald die gesuchten Daten in der ``TextBox''
gesuchten Daten einzugeben,haben wir danach eine ``TextBox'' eingefügt. eingegeben wurden, werden die Informationen aufgerufen und in der
Sobald die gesuchten Daten in der ``TextBox'' eingegeben wurden, werden ``ListBox'' aufgezeigt.
die Informationen aufgerufen und in der ``ListBox'' aufgezeigt.
\subsubsection{Definition der Klassen} \subsubsection{Definition der Klassen}
@ -535,18 +531,19 @@ Hier werden alle eingesetzten Klassen der Applikation vorgestellt
und definiert. und definiert.
Zu jeder Klasse gibt es eine passende Grafik welche ihre Methoden und Zu jeder Klasse gibt es eine passende Grafik welche ihre Methoden und
Attribute beschreibt. Nachfolgend habe wir eine Beispiel Grafik eingefügt Attribute beschreibt. Nachfolgend habe wir eine Beispiel Grafik
welche die Symbole und den Aufbau beschreibt. (\ref{fig:class_example}) eingefügt welche die Symbole und den Aufbau
beschreibt.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
\includegraphics[scale=0.7]{diagrammes/example.png} \includegraphics[scale=0.7]{diagrammes/example.png}
\caption{Beispiel Klassen} \caption{Beispiel Klassen\label{fig:class_example}}
\end{figure} \end{figure}
\paragraph{Programm} \paragraph{Programm}
Dient grundsätzlich als Eintrittspunkt der Applikation und hat sonst Beinhaltet die Main Klasse von wo aus alle anderen Klassen und Funktionen
keine grosse Funktion. aufgerufen werden.
\paragraph{Helper} \paragraph{Helper}
Helper.cs dient dem Zweck, den Pfad der Datenbank nicht in jeder Helper.cs dient dem Zweck, den Pfad der Datenbank nicht in jeder
@ -556,7 +553,6 @@ zur Datenbank muss dadurch nur ein einziges Mal in App.config
definiert werden und kann dann durch die Helper.cs Klasse simpel definiert werden und kann dann durch die Helper.cs Klasse simpel
aufgerufen werden. aufgerufen werden.
\paragraph{LoginForm} \paragraph{LoginForm}
Diese Klasse wurde für das Registrieren und Einloggen des Benutzers Diese Klasse wurde für das Registrieren und Einloggen des Benutzers
mit einem dazugehörigen GUI von uns erstellt. Dadurch können sich mit einem dazugehörigen GUI von uns erstellt. Dadurch können sich
@ -565,10 +561,8 @@ dem ``Register-Button'' Registrieren und durch ein zweites eingeben der
Daten und betätigen des ``Login-Button'' auch gleich einloggen. Nach dem Daten und betätigen des ``Login-Button'' auch gleich einloggen. Nach dem
Login wird auch gleich eine Nachricht der Applikation dem Benutzer mit Login wird auch gleich eine Nachricht der Applikation dem Benutzer mit
dem Text ``It worked'' aufgezeigt, um den erfolgreichen Login zu melden. dem Text ``It worked'' aufgezeigt, um den erfolgreichen Login zu melden.
Dadurch möchten wir die Funktion des einfüllen und Lesen der Daten aus Dadurch möchten wir die Funktion des Einfüllens und Lesen der Daten aus
der Datenbank aufzeigen. Den Verbindungsaufbau in die Datenbank mit der Datenbank aufzeigen.
allen nötigen Funktion(Schreiben / Lesen) haben wir in die Klasse
``DataAccess'' ausgelagert.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -581,12 +575,8 @@ Auf dem Dashboard haben wir unseren Kern was Informationen herauslesen
und wieder Eingeben belangt, erstellt. In dieser Klasse werden die aus und wieder Eingeben belangt, erstellt. In dieser Klasse werden die aus
der Datenbank herausgelesenen Daten der ``locations'' und der Datenbank herausgelesenen Daten der ``locations'' und
``rents'' Tabellen im GUI aufgezeigt und /oder eingefügt. Damit ``rents'' Tabellen im GUI aufgezeigt und /oder eingefügt. Damit
möchten wir einen Teil unserer Applikation und Datenbank abbilden, mit möchten wir einen Teil der finalen Applikation und Datenbank abbilden mit
der Benutzer Standort heraussuchen können, neue Standorte hinzugefügt dem, die Benutzer Standorte heraussuchen und den Mietbeginn eingegeben können.
werden können und den Mietbeginn/ das Zahlungsdatum eingegeben werden
kann. Den Verbindungsaufbau in die Datenbank mit allen nötigen
Funktion(Schreiben / Lesen) haben wir in die Klasse ``DataAccess''
ausgelagert und vom GUI aus verankert.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -596,10 +586,10 @@ ausgelagert und vom GUI aus verankert.
\paragraph{DataAccess} \paragraph{DataAccess}
Mit der DataAccess Klasse konnten wir nahezu alle Datenbank relevanten Mit der DataAccess Klasse konnten wir nahezu alle Datenbank relevanten
Funktionen, die sonst in unseren GUI ausgeführt werden, in einer Funktionen, die in unserem GUI ausgeführt werden, in einer
einzigen Klasse abbilden. Darin haben wir den Aufruf der einzigen Klasse abbilden. Darin haben wir den Aufruf der
Datenbanktabellen mit den dazu benötigten SQl - Befehlen ausgeführt. Datenbanktabellen mit den dazu benötigten SQL - Befehlen ausgeführt.
Dadurch wird SQl- Code nur in dieser Klasse aufgerufen und verwendet. Dadurch wird SQL- Code nur in dieser Klasse aufgerufen und verwendet.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -609,12 +599,10 @@ Dadurch wird SQl- Code nur in dieser Klasse aufgerufen und verwendet.
\paragraph{GetRents} \paragraph{GetRents}
Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in
C\# ein Modell der ``rents'' Tabelle erstellt die sie abbildet. Damit C\# eine Klasse die der ``rents'' Tabelle in der DB entspricht
nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der erstellt. Damit nehmen wir jede Spalte der Tabelle entgegen. Danach
``RentInfo'' Methode nur diejenigen Spalten der Tabelle für unser GUI werden mit der ``RentInfo'' Methode nur diejenigen Spalten der Tabelle
abgerufen, die wir auch wirklich benötigen. Jedoch wird die ``RentInfo'' für unser GUI abgerufen, die wir auch wirklich benötigen.
Methode noch nicht benötigt, da wir Daten nur einfügen und nicht
herauslesen möchten.
\begin{figure}[H] \begin{figure}[H]
\centering \centering
@ -658,15 +646,18 @@ GUI abgerufen, die wir auch wirklich benötigen.
\end{itemize} \end{itemize}
\subsubsection{Referenzen und Addons/ Packages} \subsubsection{Referenzen und Addons/ Packages}
Mit Dapper \cite{dbcs6} entschieden wir uns, nachdem wir ein wenig Für Dapper \cite{dbcs6} entschieden haben wir uns, nachdem wir ein wenig
nachgeforscht haben und wir auf Stack Overflow fündig wurden. Da auf nachgeforscht haben und wir auf Stack Overflow fündig wurden. Da auf
dieser Webseite Dapper genutzt wird und wir bisher immer gute dieser Webseite Dapper genutzt wird und wir bisher immer gute
Erfahrungen mit Stack Overflow hatten, schien die Entscheidung Erfahrungen mit Stack Overflow hatten, schien die Entscheidung
einfach. einfach.
\subsubsection{Referenzen} \subsubsection{Referenzen}
-using System.Configuration;
-using Dapper; \begin{itemize}
\item using System.Configuration;
\item using Dapper;
\end{itemize}
\newpage \newpage
\begin{landscape} \begin{landscape}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -4,6 +4,6 @@ class GetLocations {
+ string streetname + string streetname
+ int location_capacity + int location_capacity
+ string location_name + string location_name
+ string LocatinInfo + string LocatinInfo()
} }
@enduml @enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -4,7 +4,7 @@ class GetMembers {
+ string email_address + string email_address
+ string password + string password
+ int member_status_id + int member_status_id
+ string MemberInfo + string MemberInfo()
+ string MemberID + string MemberID()
} }
@enduml @enduml

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View File

@ -9,6 +9,6 @@ class GetRents {
+ string streetname + string streetname
+ int location_capacity + int location_capacity
+ string location_name + string location_name
+ string RentInfo + string RentInfo()
} }
@enduml @enduml

View File

@ -4,7 +4,7 @@
\usepackage[table,xcdraw]{xcolor} \usepackage[table,xcdraw]{xcolor}
\hypersetup{ \hypersetup{
colorlinks=true, colorlinks=true,
linkcolor=black, linkcolor=blue,
urlcolor=blue, urlcolor=blue,
} }
\urlstyle{same} \urlstyle{same}