From b3437fe4dbebb69ff82034d71fd837797ee3f8f3 Mon Sep 17 00:00:00 2001 From: "hannes.kuchelmeister" Date: Fri, 24 Apr 2020 13:08:43 +0200 Subject: [PATCH] refactor requirements and write section that talks about their implementation --- 30_Thesis/sections/40_concept.tex | 7 +++---- 30_Thesis/sections/50_design_and_implementation.tex | 13 ++++++++++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/30_Thesis/sections/40_concept.tex b/30_Thesis/sections/40_concept.tex index 94fe8ee..79f9c62 100644 --- a/30_Thesis/sections/40_concept.tex +++ b/30_Thesis/sections/40_concept.tex @@ -59,8 +59,6 @@ For a group recommender system additional definitions are needed. The attitude o \section{Requirements} \label{sec:Concept:Requirements} -\todo[inline]{Gibt es am Ende ein Kapitel, wo du das Erfüllen der Anforderungen bewertest?} - This section lists requirements that are considered and implemented in this thesis by the group-based configurator, including the recommendation system. \begin{itemize} @@ -69,9 +67,9 @@ This section lists requirements that are considered and implemented in this thes \item The recommender should support a continuous value range for preferences \item The recommendation engine can be used without proprietary software. \item Give recommendations to a group, based on their preferences and the current configuration state. - \item The system supports multiple users at the same time + \item The system supports multiple group configurators at the same time. \item The system should take the current configuration state into account. - \item Recommendations should allow different scoring functions. + \item Recommendations should always be valid solutions. \item They system has to respond in a timely manner. \end{itemize} @@ -79,6 +77,7 @@ This section lists requirements that are considered and implemented in this thes \begin{itemize} \item Have a simple user interface. \item The system should be able to work with other configuration systems. + \item Recommendations should allow different scoring functions. \end{itemize} \end{itemize} diff --git a/30_Thesis/sections/50_design_and_implementation.tex b/30_Thesis/sections/50_design_and_implementation.tex index b1f5bf2..1cdcef3 100644 --- a/30_Thesis/sections/50_design_and_implementation.tex +++ b/30_Thesis/sections/50_design_and_implementation.tex @@ -74,4 +74,15 @@ As testing library for unittests \emph{pytest} \cite{PytestDocumentation} is use For the evaluation of data and also for some operations with lists \emph{numpy} \cite{NumPy} is used. This library is optimised for fast scientific computing. -Visualisation is done using \emph{Matplotlib} \cite{MatplotlibDocumentation} in combination with \emph{pandas} \cite{PandasPythonData}. \emph{Pandas} is a powerful framework for data analysis and manipulation tool which in the context of this thesis is used to load evaluation data. \ No newline at end of file +Visualisation is done using \emph{Matplotlib} \cite{MatplotlibDocumentation} in combination with \emph{pandas} \cite{PandasPythonData}. \emph{Pandas} is a powerful framework for data analysis and manipulation tool which in the context of this thesis is used to load evaluation data. + + +\section{Requirements Assessment} +\label{sec:DesignImplementation:RequirementsAssesment} + +The requirements posed in \autoref{sec:Concept:Requirements} are assessed in this section. The recommender uses a continuous value range between zero and one for preferences. Moreover, the recommendation component is designed to be used independently therefore it is possible to use without proprietary software. +Additionally the group scoring function takes into account preferences of each group member and the current configuration state. The recommendation system can be used by multiple users at the same time as all information needed for a recommendation are send with the recommendation request. Therefore multiple group configurators can use the system at the same time. Furthermore, only valid solutions are recommended because the recommender system's configuration database stores finished configurations. Moreover, the system responds in a timely manner with all components running on the same machine, a modern laptop. +Therefore all mandatory requirements have been fulfilled. + +The user interface is simple because a user only has two possible actions. He can change his preferences with a slider or change the configuration state. Additionally, the system is made to be compatible with other configuration systems. These have to implement the correct APIs calls. However, this requirement was not tested with a different configuration system. Different scoring functions can be used however they can neither be selected through user interface nor through the API. Thus, this requirement is only partially fulfilled but the system allows extension to fulfil this requirement fully. +Overall optional requirements have been addressed but they have not been thoroughly evaluated and some of them have been only partially implemented. \ No newline at end of file