genofire/hs_monolith
genofire
/
hs_monolith
Archived
1
0
Fork 0

[Task] Add structure to documentation

This commit is contained in:
mlabusch 2017-04-26 15:57:44 +02:00
parent 15241953ce
commit fe528f5c2b
9 changed files with 24 additions and 15 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@ -6,7 +6,7 @@ Der Microservice Warenwirtschaft dient der Verwaltung der Warenbestände für de
\begin{small} \begin{small}
\begin{center} \begin{center}
\caption{Begriffsdefinition} \caption{Begriffsdefinition}
\renewcommand{\arraystretch}{1.2} \renewcommand{\arraystretch}{1.0}
\begin{tabularx}{\textwidth}{|X|X|X|} \begin{tabularx}{\textwidth}{|X|X|X|}
\hline \hline
@ -23,11 +23,13 @@ Der Microservice Warenwirtschaft dient der Verwaltung der Warenbestände für de
\end{small} \end{small}
\end{table} \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 \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. 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} \begin{itemize}
\item Funktionen des Admin-Frontends \item \textbf{Funktionen des Admin-Frontends}
\begin{itemize} \begin{itemize}
\item Hinzufügen neuer Waren zum Warenbestand \item Hinzufügen neuer Waren zum Warenbestand
\item Manuelles Entfernen von Waren aus dem Warenbestand, zum Beispiel wenn diese verdorben sind \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 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 \item Automatische Freigaben von blockierten Waren, wenn diese nach 30 Minuten nicht an den Versand überstellt wurden
\end{itemize} \end{itemize}
\item Funktionen des Kunden-Frontends \item \textbf{Funktionen des Kunden-Frontends}
\begin{itemize} \begin{itemize}
\item Anzeige des Warenbestands über ein Ampelsystem \item Anzeige des Warenbestands über ein Ampelsystem
\item Ein Warenbestand größer sieben entspricht der Farbe grün (ausreichende Anzahl vorhanden) \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 vier und sieben entspricht der Farbe orange (moderate Anzahl vorhanden)
\item Ein Warenbestand zwischen null und drei entspricht der Farbe rot (geringe Anzahl vorhanden) \item Ein Warenbestand zwischen null und drei entspricht der Farbe rot (geringe Anzahl vorhanden)
\end{itemize} \end{itemize}
\item Optionale Zusatzfunktionen \item \textbf{Optionale Zusatzfunktionen}
\begin{itemize} \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 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) \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)

View File

@ -52,7 +52,7 @@
\setlength{\abovecaptionskip}{1pt} \setlength{\abovecaptionskip}{1pt}
\setlength{\belowcaptionskip}{1pt} \setlength{\belowcaptionskip}{1pt}
\titlespacing{\paragraph}{0pt}{11pt}{0.5pt} \titlespacing*{\paragraph}{0pt}{11pt}{0.5pt}
\setlength{\parindent}{0pt} \setlength{\parindent}{0pt}
\setlength{\parskip}{5.5pt} \setlength{\parskip}{5.5pt}
@ -105,7 +105,8 @@ xrightmargin=0pt,
\setlist[itemize]{leftmargin=*} \setlist[itemize]{leftmargin=*}
\renewcommand*\labelitemi{$-$} \renewcommand*\labelitemi{$-$}
\setlist[1]{itemsep=-0.5pt} \setlist[1]{itemsep=-0.5pt}
% \hyphenation{} Eigene Worttrennung
% \hyphenation{} Eigene Worttrennung
%------------------------------------------------------------------------------------------------------------ %------------------------------------------------------------------------------------------------------------

View File

@ -3,7 +3,7 @@
\begin{figure}[H] \begin{figure}[H]
\begin{center} \begin{center}
\includegraphics[width=0.65 \textwidth]{./Bilder/dummy.png} \includegraphics[width=0.65 \textwidth]{./Bilder/struktur.png}
\end{center} \end{center}
\caption{Microservice Warenwirtschaft} \caption{Microservice Warenwirtschaft}
\label{pic: Microservice Warenwirtschaft} \label{pic: Microservice Warenwirtschaft}
@ -11,5 +11,11 @@
\begin{itemize} \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} \end{itemize}

View File

@ -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{<<Name>>\_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 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{<<Name>>\_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. 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{figure}[H]
\begin{center} \begin{center}
\includegraphics[width=0.65 \textwidth]{./Bilder/dummy.png} \includegraphics[width=0.65 \textwidth]{./Bilder/struktur.png}
\end{center} \end{center}
\caption{Struktur des Microservice} \caption{Struktur des Microservice}
\label{pic:Struktur des Microservice} \label{pic:Struktur des Microservice}
\end{figure} \end{figure}
\subsection{Schnittstellen zu anderen Microservices} \subsection{Schnittstellen zu anderen Microservices}
\label{subsec: 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. 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} \subsection{Presentation Layer}
\label{subsec: 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. 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.

View File

@ -8,8 +8,8 @@ Die in den Microservice integrierten Tests, prüfen ob jedes Stück Code auch wi
\begin{small} \begin{small}
\begin{center} \begin{center}
\caption{Blackbox-Testfälle} \caption{Blackbox-Testfälle}
\renewcommand{\arraystretch}{1.2} \renewcommand{\arraystretch}{1.0}
\begin{tabularx}{\textwidth}{|X|X|L{2cm}|} \begin{tabularx}{\textwidth}{|X|X|L{1cm}|}
\hline \hline

View File

@ -5,8 +5,8 @@
\begin{small} \begin{small}
\begin{center} \begin{center}
\caption{Testprotokoll vom XX.06.2017} \caption{Testprotokoll vom XX.06.2017}
\renewcommand{\arraystretch}{1.2} \renewcommand{\arraystretch}{1.0}
\begin{tabularx}{\textwidth}{|X|X|L{2cm}|} \begin{tabularx}{\textwidth}{|X|X|L{1cm}|}
\hline \hline
\textbf{Vorgehen} & \textbf{Soll} & \textbf{Ist} \\ \hline \textbf{Vorgehen} & \textbf{Soll} & \textbf{Ist} \\ \hline