From a62773f7dad7d62208b174b35fcde59c85db3913 Mon Sep 17 00:00:00 2001
From: Camil Staps
Date: Sat, 18 Apr 2015 01:04:19 +0200
Subject: Cleanup, checked UML class diagram, added diagram to TeX

---
 Week9/solution.tex | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

(limited to 'Week9/solution.tex')

diff --git a/Week9/solution.tex b/Week9/solution.tex
index eff9370..f6c46b7 100644
--- a/Week9/solution.tex
+++ b/Week9/solution.tex
@@ -4,6 +4,7 @@
 \usepackage[hidelinks]{hyperref}
 \usepackage[dutch]{babel}
 \usepackage[utf8]{inputenc}
+\usepackage{graphicx}
 \usepackage{fourier}
 
 \author{Camil Staps}
@@ -32,4 +33,63 @@ We gebruiken geen database backend maar een aantal bestanden die lokaal opgeslag
 \item[Beheer] Het zal niet mogelijk zijn bestaande artikelen aan te passen. In plaats daarvan zal de beheerder ófwel de lokale bestanden die als database fungeren handmatig moeten aanpassen, of het artikel moeten verwijderen en een nieuw artikel in de plaats zetten. Het zal niet mogelijk zijn personen voor bepaalde tijd te blokkeren, waarbij ze automatisch worden gedeblokkeerd. Het zal wel mogelijk zijn personen handmatig te (de)blokkeren. De beheerder zal geen gebruikers kunnen toevoegen. Gebruikers worden geacht zich zelf te registreren.
 \end{description}
 
+\section*{UML-schema's}
+
+\begin{figure}[h]
+\centering
+\includegraphics[width=\linewidth]{{com.camilstaps.shop}.png}
+\caption{Klassediagram}
+\end{figure}
+
+\section*{Interface}
+Bij het opstarten van het programma wordt een Shell-achtige interface getoond. Een overzicht van de beschikbare commando's:
+
+\subsection*{Sessiebeheer}
+\begin{description}
+\item[login] Inloggen als gebruiker.
+\item[logout] Uitloggen (inloggen vereist).
+\item[exit] De Shell verlaten en de Database opslaan.
+\end{description}
+
+\subsection*{Artikelen}
+\begin{description}
+\item[addArticle] Artikel toevoegen (inloggen vereist).
+\item[setArticleDescription] De beschrijving van een artikel veranderen, dan wel toevoegen (inloggen vereist).
+\item[setArticleMultimedia] Het multimedia bestand gelinkt aan een artikel veranderen, dan wel een multimedia bestand linken (inloggen vereist).
+\item[removeArticle] Artikel verwijderen (inloggen vereist).
+\item[listArticles] Overzicht van de artikelen in de database weergeven.
+\item[searchArticle] Zoek een artikel met een regular expression op de naam en beschrijving.
+\item[showArticle] Toon gedetailleerde informatie over een artikel.
+\end{description}
+
+\subsection*{Categorieën}
+\begin{description}
+\item[addCategory] Categorie toevoegen (inloggen als administrator vereist).
+\item[listCategories] Overzicht van de categorieën weergeven.
+\end{description}
+
+\subsection*{Winkelwagen}
+\begin{description}
+\item[addToCart] Voeg een artikel toe aan de winkelwagen (inloggen vereist).
+\item[listCart] Toon een overzicht van de winkelwagen (inloggen vereist).
+\item[removeFromCart] Verwijder een artikel uit de winkelwagen (inloggen vereist).
+\item[clearCart] Verwijder alle artikelen uit de winkelwagen (inloggen vereist).
+\item[checkout] Ga door naar de kassa.
+\end{description}
+
+\subsection*{Bestellingen}
+\begin{description}
+\item[listOrders] Toon een overzicht van de bestellingen (inloggen vereist).
+\item[showOrder] Toon gedetailleerde informatie over een bestelling (inloggen vereist).
+\item[setOrderPaid] Geef aan dat een bestelling betaald is (inloggen als administrator vereist).
+\end{description}
+
+\subsection*{Gebruikers (zie ook Sessiebeheer bovenaan)}
+\begin{description}
+\item[register] Registreer een nieuwe gebruiker. De eerste gebruiker toegevoegd is altijd administrator.
+\item[listUsers] Overzicht van de gebruikers weergeven. Administrators krijgen een geavanceerd overzicht, waarbij emailadressen worden weergegeven, `\texttt{++}' administrators aanduidt, en `\texttt{-!-}' geblokkeerde gebruikers aanduidt.
+\item[blockUser] Blokkeer een gebruiker (inloggen als administrator vereist).
+\item[unblockUser] Deblokkeer een gebruiker (inloggen als administrator vereist).
+\end{description}
+
 \end{document}
\ No newline at end of file
-- 
cgit v1.2.3

