diff --git a/doku/content.tex b/doku/content.tex index 4716a1e..1d0fa55 100644 --- a/doku/content.tex +++ b/doku/content.tex @@ -11,7 +11,7 @@ werden können. \subsection{Stakeholder} Folgende Stakeholder sind in diesem Projekt zu berücksichtigen: \begin{itemize} - \item Plattform Inhaber + \item Plattforminhaber \item Standbetreiber \item Marktbesucher \end{itemize} @@ -20,7 +20,7 @@ Folgende Stakeholder sind in diesem Projekt zu berücksichtigen: \subsubsection{Chancen} \begin{itemize} -\item Zusammenhänge zwischen Programmierung und Datenbank Modelierung +\item Zusammenhänge zwischen Programmierung und Datenbank Modellierung besser verstehen. \item Erfahrungen im Projekt-Management vertiefen \item Umgang mit den Werkzeugen üben und verbessern @@ -51,14 +51,14 @@ späteren Zeitpunkt zum Verhängnis werden könnte. \subsection{Wunschziele} \begin{itemize} \item Die Datenbank enthält alle statische Daten Wie - etwa Länder, Städte, Postleizahlen, Standorte. + etwa Länder, Städte, Postleitzahlen, Standorte. \item Die Datenbank enthält ein Rechtekonzept. \end{itemize} \newpage \section{User Stories} \subsection{Verwaltung} -Als Plattforminaber möchte ich, +Als Plattforminhaber möchte ich, \begin{itemize} \item Kontrolle über die Anmeldungen haben. \item Standbetreiber verwalten können (Standort und Termine). @@ -88,7 +88,7 @@ Als festes Mitglied möchte ich, \end{itemize} \subsection{Nachfrager/ Marktbesucher} -Als Markbesucher möchte ich, +Als Marktbesucher möchte ich, \begin{itemize} \item mich registrieren können. \item einen Überblick über die Anbieterprofile haben. @@ -171,7 +171,7 @@ Postconditions & User befindet sich im geschützten Bereich.\\ \hline Normal Flow & 1. User füllt Login Form korrekt aus\\ & 2. User quittiert Login\\ - & 3. Applikation wechselt zum geschützen Bereich\\ + & 3. Applikation wechselt zum geschützten Bereich\\ \hline Alternative Flow & 1. User füllt Login Form mit falschen\\ & Angaben aus\\ @@ -345,7 +345,7 @@ um den Fortschritt im Auge zu behalten. \\ \hline User Stories & Doku & 2 & 2 & 0 & \ \\ \hline RM erstellen & Doku & 3 & 4 & 1 & Beim RM haben wir viel weniger Details eingezeichnet sondern uns Hauptsächlich darauf beschränkt uns eine - grobe Übersicht zu verschafen. \\ \hline + grobe Übersicht zu verschaffen \\ \hline ERM erstellen & Doku & 4 & 12 & 8 & \ \\ \hline Testplan aufgebaut & Doku & 12 & 1 & -11 & \ \\ \hline & & & & 0 & \ \\ \hline @@ -399,7 +399,7 @@ Enthält die möglichen Anreden für Personen. \textbf{cities / (Städte)} \newline -Enthält Städtenamen sowie die dazugehörige Postleizahl und einem +Enthält Städtenamen sowie die dazugehörige Postleitzahl und einem Verweis zu welchem Land die jeweilige Stadt gehört. \textbf{countries / (Länder)} @@ -409,8 +409,8 @@ Enthält eine Liste mit Ländernamen. \textbf{locations / (Standorte)} \newline Diese Tabelle enthält die Daten der Standorte wo die jeweiligen Märkte -abgehalten werden. Dabei wird auch erfasst wieviel Kapazität der -jeweilige Standort hat damit mein ein überbuchen verhindern kann. +abgehalten werden. Dabei wird auch erfasst wie viel Kapazität der +jeweilige Standort hat damit mein ein Überbuchen verhindern kann. \textbf{members / (Mitglieder)} \newline @@ -436,7 +436,7 @@ werden können. \textbf{commercials / (Werbung)} \newline -Diese Tabelle enthällt alle Daten zu Änderungen des Webauftritt eines +Diese Tabelle enthält alle Daten zu Änderungen des Webauftritt eines Mitgliedes. Diese Tabelle wird benötigt damit sichergestellt werden kann das ein Mitglied nur nur die zugelassene Anzahl an Änderungen beantragt. @@ -462,13 +462,13 @@ gewählt wurde sowie an welchem Tag der Kauf getätigt wurde. \newline Beinhaltet die Zeit wie lange die Probezeit ist damit diese nicht als ein Fixwert im Code abgelegt werden muss. Diese sollte es ermöglichen -das die Dauer der Probezeit auch nächträglich noch einfach angepasst +das die Dauer der Probezeit auch nachträglich noch einfach angepasst werden kann. \textbf{rents / (Mieten)} \newline Beinhaltet die Mieten welche ein Mitglied in der Probezeit getätigt -hat. Dabei wird über den Mietspreis der Standort definiert der +hat. Dabei wird über den Mietpreis der Standort definiert der gemietet wird und mit einem Datumsfeld wird angegeben an welchem Tag der Platz reserviert wurde. @@ -509,15 +509,27 @@ die Informationen aufgerufen und in der ``ListBox'' aufgezeigt. Hier werden alle eingesetzten Klassen der Applikation vorgestellt und definiert. +Zu jeder Klasse gibt es eine passende Grafik welche ihre Methoden und +Attribute beschreibt. Nachfolgend habe wir eine Beispiel Grafik eingefügt +welche die Symbole und den Aufbau beschreibt. + +\begin{figure}[H] + \centering + \includegraphics{diagrammes/example.png} + \caption{Beispiel Klassen} +\end{figure} + \textbf{Programm} \newline + Dient grundsätzlich als Eintrittspunkt der Applikation und hat sonst keine grosse Funktion. \textbf{Helper} \newline + Helper.cs dient dem Zweck, den Pfad der Datenbank nicht in jeder -Methode eingeben zu müssen. Daführ haben wir in dieser Klasse den +Methode eingeben zu müssen. Dafür haben wir in dieser Klasse den Verbindungsaufbau durch den Configuration.Manager definiert. Den Pfad zur Datenbank muss dadurch nur ein einziges Mal in App.config definiert werden und kann dann durch die Helper.cs Klasse simpel @@ -526,6 +538,7 @@ aufgerufen werden. \textbf{LoginForm} \newline + Diese Klasse wurde für das Registrieren und Einloggen des Benutzers mit einem dazugehörigen GUI von uns erstellt. Dadurch können sich Benutzer durch das Eingeben der Email-Adresse und des Passwortes mit @@ -538,8 +551,15 @@ der Datenbank aufzeigen. Den Verbindungsaufbau in die Datenbank mit allen nötigen Funktion(Schreiben / Lesen) haben wir in die Klasse ``DataAccess'' ausgelagert. +\begin{figure}[H] + \centering + \includegraphics{diagrammes/loginform.png} + \caption{LoginForm Klasse} +\end{figure} + \textbf{Dashboard} \newline + Auf dem Dashboard haben wir unseren Kern was Informationen herauslesen und wieder Eingeben belangt, erstellt. In dieser Klasse werden die aus der Datenbank herausgelesenen Daten der ``locations'' und @@ -551,47 +571,82 @@ 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] + \centering + \includegraphics[width=0.6\textwidth]{diagrammes/dashboard.png} + \caption{Dashboard Klasse} +\end{figure} + \textbf{DataAccess} \newline + Mit der DataAccess Klasse konnten wir nahezu alle Datenbank relevanten Funktionen, die sonst in unseren GUI ausgeführt werden, in einer einzigen Klasse abbilden. Darin haben wir den Aufruf der Datenbanktabellen mit den dazu benötigten SQl - Befehlen ausgeführt. Dadurch wird SQl- Code nur in dieser Klasse aufgerufen und verwendet. +\begin{figure}[H] + \centering + \includegraphics{diagrammes/dataaccess.png} + \caption{DataAccess Klasse} +\end{figure} + \textbf{GetRents} \newline + Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in -C\# ein Model der ``rents'' Tabelle erstellt die sie abbildet. Damit +C\# ein Modell der ``rents'' Tabelle erstellt die sie abbildet. Damit nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der ``RentInfo'' Methode nur diejenigen Spalten der Tabelle für unser GUI abgerufen, die wir auch wirklich benötigen. Jedoch wird die ``RentInfo'' Methode noch nicht benötigt, da wir Daten nur einfügen und nicht herauslesen möchten. +\begin{figure}[H] + \centering + \includegraphics{diagrammes/getrents.png} + \caption{GetRents Klasse} +\end{figure} + \textbf{GetMembers} \newline + Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in -C\# ein Model der ``members'' Tabelle erstellt die sie abbildet. Damit +C\# ein Modell der ``members'' Tabelle erstellt die sie abbildet. Damit nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der ``MemberInfo'' Methode nur diejenigen Spalten der Tabelle für unser GUI abgerufen, die wir auch wirklich benötigen,um die Login Daten zu überprüfen. +\begin{figure}[H] + \centering + \includegraphics{diagrammes/getmembers.png} + \caption{GetMembers Klasse} +\end{figure} + \textbf{GetLocations} \newline + Um Daten herauszulesen oder zur Datenbank zu schicken, haben wir in -C\# ein Model der ``locations'' Tabelle erstellt die sie abbildet. Damit +C\# ein Modell der ``locations'' Tabelle erstellt die sie abbildet. Damit nehmen wir jede Spalte der Tabelle entgegen. Danach werden mit der ``LocationInfo'' Methode nur diejenigen Spalten der Tabelle für unser GUI abgerufen, die wir auch wirklich benötigen. +\begin{figure}[H] + \centering + \includegraphics{diagrammes/getlocations.png} + \caption{GetLocations Klasse} +\end{figure} + \subsubsection{Problematik} --Verbindungsaufbau --Insert Data +- Verbindungsaufbau --Datenvormatierung (Geburtstag) +- Insert Data + +- Datenformatierung (Geburtstag) \subsubsection{Referenzen und Addons/ Packages} Mit Dapper \cite{dbcs6} entschieden wir uns, nachdem wir ein wenig @@ -671,7 +726,7 @@ Ausgeführt & 1. Suchbegriff eingeben 300 Testmarkt” erscheint & Suchresultat wird Angezeigt. & Zuerst wurde mit “equal” gesucht was es sehr Schwierig machte zu suchen. -Wurd zu “like” korrigiert. +Wurde zu “like” korrigiert. Erfolgreich durchgeführt. 27.07.2017 A.Z. \\ \hline @@ -697,8 +752,8 @@ Aktualisiert und gibt Die in TC-08 getätigte Miete aus. & Mietliste wurde Befüllt. & \\ \hline - TC-10 & & & & & & & \ \\ \hline - TC-11 & & & & & & & \\ \hline +% TC-10 & & & & & & & \ \\ \hline +% TC-11 & & & & & & & \\ \hline \caption{Testfälle} \end{longtable} %% -- end test case table -- diff --git a/doku/diagrammes/dashboard.png b/doku/diagrammes/dashboard.png new file mode 100644 index 0000000..65767a9 Binary files /dev/null and b/doku/diagrammes/dashboard.png differ diff --git a/doku/diagrammes/dataaccess.png b/doku/diagrammes/dataaccess.png new file mode 100644 index 0000000..6e69f7a Binary files /dev/null and b/doku/diagrammes/dataaccess.png differ diff --git a/doku/diagrammes/example.png b/doku/diagrammes/example.png new file mode 100644 index 0000000..a0bc6db Binary files /dev/null and b/doku/diagrammes/example.png differ diff --git a/doku/diagrammes/example.puml b/doku/diagrammes/example.puml new file mode 100644 index 0000000..be2eb0f --- /dev/null +++ b/doku/diagrammes/example.puml @@ -0,0 +1,12 @@ +@startuml +class Beispiel { + + public Attribute + ~ internal Attribute + - private AttribuTe + # protected Attribute + + public Method1() + ~ internal Method2() + - private Method3() + # protected Method4() +} +@enduml diff --git a/doku/diagrammes/getlocations.png b/doku/diagrammes/getlocations.png new file mode 100644 index 0000000..32cc860 Binary files /dev/null and b/doku/diagrammes/getlocations.png differ diff --git a/doku/diagrammes/getmembers.png b/doku/diagrammes/getmembers.png new file mode 100644 index 0000000..3c15269 Binary files /dev/null and b/doku/diagrammes/getmembers.png differ diff --git a/doku/diagrammes/getrents.png b/doku/diagrammes/getrents.png new file mode 100644 index 0000000..b2d8ee3 Binary files /dev/null and b/doku/diagrammes/getrents.png differ diff --git a/doku/diagrammes/loginform.png b/doku/diagrammes/loginform.png new file mode 100644 index 0000000..438d9ff Binary files /dev/null and b/doku/diagrammes/loginform.png differ