diff --git a/KSS-Dokumentation/Abschlusspraesentation.pptx b/KSS-Dokumentation/Abschlusspraesentation.pptx index aec9864..2878775 100644 Binary files a/KSS-Dokumentation/Abschlusspraesentation.pptx and b/KSS-Dokumentation/Abschlusspraesentation.pptx differ diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.png b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.png new file mode 100644 index 0000000..007c0ff Binary files /dev/null and b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.png differ diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.vsd b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.vsd new file mode 100644 index 0000000..b75a446 Binary files /dev/null and b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Bilder/struktur.vsd differ diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Anforderungen.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Anforderungen.tex index 64715a8..0157a02 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Anforderungen.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Anforderungen.tex @@ -6,7 +6,7 @@ Der Microservice Warenwirtschaft dient der Verwaltung der Warenbestände für de \begin{small} \begin{center} \caption{Begriffsdefinition} - \renewcommand{\arraystretch}{1.2} + \renewcommand{\arraystretch}{1.0} \begin{tabularx}{\textwidth}{|X|X|X|} \hline @@ -23,11 +23,13 @@ Der Microservice Warenwirtschaft dient der Verwaltung der Warenbestände für de \end{small} \end{table} +\textit{\textit{Dieser Microservice ist Teil der Prüfungsleistung in den Modul KSS im Masterstudiengang komplexe Softwaresysteme des Sommersemesters 2017 an der Hochschule Bremen. Zu der gestellten Aufgabenstellung gehört nicht, den Microservice zusammen mit den Microservices der anderen Gruppen in einen gemeinsamen, lauffähigen Webshop zu integrieren.}} + \newpage Die übergeordnete Aufgabe dieses Microservice ist die Speicherung der Waren mit ihrem Lagerort sowie einem Zeitstempel, wann sie erfasst wurden. Nachfolgend werden die weiteren, detaillierten Anforderungen an diesen Microservice zusammengefasst. \begin{itemize} - \item Funktionen des Admin-Frontends + \item \textbf{Funktionen des Admin-Frontends} \begin{itemize} \item Hinzufügen neuer Waren zum Warenbestand \item Manuelles Entfernen von Waren aus dem Warenbestand, zum Beispiel wenn diese verdorben sind @@ -35,14 +37,14 @@ Die übergeordnete Aufgabe dieses Microservice ist die Speicherung der Waren mit \item Blockieren von Waren in dem Warenbestand, wenn ein Kunde sie in seinen Warenkorb gelegt hat \item Automatische Freigaben von blockierten Waren, wenn diese nach 30 Minuten nicht an den Versand überstellt wurden \end{itemize} - \item Funktionen des Kunden-Frontends + \item \textbf{Funktionen des Kunden-Frontends} \begin{itemize} \item Anzeige des Warenbestands über ein Ampelsystem \item Ein Warenbestand größer sieben entspricht der Farbe grün (ausreichende Anzahl vorhanden) \item Ein Warenbestand zwischen vier und sieben entspricht der Farbe orange (moderate Anzahl vorhanden) \item Ein Warenbestand zwischen null und drei entspricht der Farbe rot (geringe Anzahl vorhanden) \end{itemize} - \item Optionale Zusatzfunktionen + \item \textbf{Optionale Zusatzfunktionen} \begin{itemize} \item Ausgabe einer Statistik, wie viele Waren im letzten Monat aus dem Warenbestand versandt und wie viele manuell entfernt wurden im Admin-Fontend \item Ampeldarstellung pro Ware, die Anzeigt ob diese bereits überaltert ist, im Admin-Frontend (ein Alter von mehr als X Tagen wird als überaltert angesehen) diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Header.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Header.tex index 91ba627..555d560 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Header.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Header.tex @@ -52,7 +52,7 @@ \setlength{\abovecaptionskip}{1pt} \setlength{\belowcaptionskip}{1pt} -\titlespacing{\paragraph}{0pt}{11pt}{0.5pt} +\titlespacing*{\paragraph}{0pt}{11pt}{0.5pt} \setlength{\parindent}{0pt} \setlength{\parskip}{5.5pt} @@ -105,7 +105,8 @@ xrightmargin=0pt, \setlist[itemize]{leftmargin=*} \renewcommand*\labelitemi{$-$} \setlist[1]{itemsep=-0.5pt} - % \hyphenation{} Eigene Worttrennung + + % \hyphenation{} Eigene Worttrennung %------------------------------------------------------------------------------------------------------------ diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Steckbrief.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Steckbrief.tex index 84cbbff..48731d3 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Steckbrief.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Steckbrief.tex @@ -3,7 +3,7 @@ \begin{figure}[H] \begin{center} - \includegraphics[width=0.65 \textwidth]{./Bilder/dummy.png} + \includegraphics[width=0.65 \textwidth]{./Bilder/struktur.png} \end{center} \caption{Microservice Warenwirtschaft} \label{pic: Microservice Warenwirtschaft} @@ -11,5 +11,11 @@ \begin{itemize} - \item \textcolor{red}{ToDo: kurze Beschreibung} + \item Der Microservice Warenwirtschaft speichert die einzelnen Waren pro Produkt mit ihrem Lagerort und einem Zeitstempel + \item Das Admin-Frontend erlaubt das Hinzufügen sowie manuelle Löschen von Waren aus dem Warenbestand und zeigt zusätzlich eine Übersicht der Warenbestände + \item In dem Kunden-Frontend wird der Warenbestand durch ein Ampelsystem dargestellt + \item Der Microservice wurde in Go entwickelt, die Abbildung \ref{pic: Microservice Warenwirtschaft} gibt einen Überblick der Package-Struktur + \item Der statische Inhalt der Webseite ist in dem Package \texttt{webroot} verordnet + \item Als Dateenbank wird eine In-Memory-Datenbank im Cache verwendet (Package \texttt{lib}) + \item Die Hauptfunktionalitäten, die zentralen Structs sowie die notwendigen Hilfsfunktionen sind in den Packages \texttt{http} und \texttt{models} verordnet \end{itemize} diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Struktur.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Struktur.tex index 788d097..ad8ce9e 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Struktur.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Struktur.tex @@ -3,20 +3,20 @@ Der Microservice Warenwirtschaft wurde in der Programmiersprache Go\footnote{https:\//golang.org\/doc\/} entwickelt. Go-An-wendungen bestehen aus Packages, in denen die einzelnen Go-Files organisiert sind, Klassen im Sinne der Objektorientierung gibt es nicht. Der Microservice Warenwirtschaft sett sich aus den neun Packages zusammen, die in der Abbildung X dargestellt werden. In den beiden nachfolgenden Unterkapiteln werden die Packages und die darin enthaltenen Go-Files des Presentation sowie des Application Layers kurz vorgestellt. Go-Files mit der Bezeichnung \texttt{<>\_test.go} beinhalten Whitebox-Testfälle um die Funktionen der benannten Go-Files zu prüfen. Aus Gründen der Übersichtlichkeit werden diese File hier nicht explizit aufgeführt. Der Microservice nutzt anstelle einer klassischen Datenbank eine In-Memory-Datenbank im Cache. Aus diesem Grund verschwimmen klassischen Grenzen des Application und Persitant Layers und auf die dezidierte Aufführung des letzteren wird verzichtet. - \begin{figure}[H] \begin{center} - \includegraphics[width=0.65 \textwidth]{./Bilder/dummy.png} + \includegraphics[width=0.65 \textwidth]{./Bilder/struktur.png} \end{center} \caption{Struktur des Microservice} \label{pic:Struktur des Microservice} \end{figure} + \subsection{Schnittstellen zu anderen Microservices} \label{subsec: Schnittstellen zu anderen Microservices} Der Microservice Warenwirtschaft weißt drei Schnittstellen\footnote{Da es nicht Teil der übergeordneten Aufgabenstellung war, die Microservices der einzelnen Projektgruppen zu einem lauffähigen Webshop zusammenzufügen, greift der Microservice Warenwirtschaft an diesen Stellen auf Testdaten zurück} zu anderen Microservices auf. Zum einen sollten für die Authentifizierung der Benutzer des Admin-Frontends auf den Microservice Benutzerauthentifizierung zurückgegriffen werden. Außerdem benötigt der Microservice Informationen darüber, ob ein Benutzer eine Ware in den Warenkorb gelegt hat und ob eine Ware versandt wurde. Somit entstehen ebenfalls Schnittstellen zu den Microservices Bestellung und Versandt. - +\newpage \subsection{Presentation Layer} \label{subsec: Presentation Layer} Der Presentation Layer umfasst alle Packages, die sich mit der eigentlichen Darstellung der Warenwirtschaft aus der Sicht des Endbenutzers befassen. Im Detail ist dies das Package \texttt{webroot}, welches den statischen Inhalt der Frontends, wie zum Beispiel die HTML-Files und Bilder enthält. diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testfalle.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testfalle.tex index bb67e95..c03d589 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testfalle.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testfalle.tex @@ -8,8 +8,8 @@ Die in den Microservice integrierten Tests, prüfen ob jedes Stück Code auch wi \begin{small} \begin{center} \caption{Blackbox-Testfälle} - \renewcommand{\arraystretch}{1.2} - \begin{tabularx}{\textwidth}{|X|X|L{2cm}|} + \renewcommand{\arraystretch}{1.0} + \begin{tabularx}{\textwidth}{|X|X|L{1cm}|} \hline diff --git a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testprotokoll.tex b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testprotokoll.tex index 3ce0cc1..72687df 100644 --- a/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testprotokoll.tex +++ b/KSS-Dokumentation/Doku_Microservice_Warenwirtschaft/Kapitel/Testprotokoll.tex @@ -5,8 +5,8 @@ \begin{small} \begin{center} \caption{Testprotokoll vom XX.06.2017} - \renewcommand{\arraystretch}{1.2} - \begin{tabularx}{\textwidth}{|X|X|L{2cm}|} + \renewcommand{\arraystretch}{1.0} + \begin{tabularx}{\textwidth}{|X|X|L{1cm}|} \hline \textbf{Vorgehen} & \textbf{Soll} & \textbf{Ist} \\ \hline