mirror of
https://github.com/13hannes11/bachelor_thesis.git
synced 2024-09-04 01:11:00 +02:00
add sequence diagram showing communication for generating recommendations
This commit is contained in:
Binary file not shown.
@@ -49,6 +49,18 @@ Another viable solution is adding the recommendation functionality into M.Core.
|
|||||||
\label{fig:DesignImplementation:UserInterface}
|
\label{fig:DesignImplementation:UserInterface}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
|
When a recommendation is supposed to be generated M.Collab sends a REST request to M.Recommend (see \autoref{fig:DesignImplementation:SequenceDiagramRecommendation}). This request contains preferences and the current configuration. M.Recommend generates a recommendation based on the received data. The recommended finished configuration is now send via broadcast over WebSocket to all M.Customer clients.
|
||||||
|
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=1\textwidth]{./figures/50_design_and_implementation/sequence_diagram_generating_recommendation.pdf}
|
||||||
|
\caption{A sequence diagram showing the recommendation process.}
|
||||||
|
\label{fig:DesignImplementation:SequenceDiagramRecommendation}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Scoring Functions}
|
\subsection{Scoring Functions}
|
||||||
|
|
||||||
\section{Software Quality}
|
\section{Software Quality}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
@startuml
|
||||||
|
skinparam monochrome true
|
||||||
|
skinparam SequenceBoxBackgroundColor #ffffff
|
||||||
|
skinparam ParticipantPadding 5
|
||||||
|
skinparam shadowing false
|
||||||
|
hide footbox
|
||||||
|
|
||||||
|
title generating a recommendation
|
||||||
|
|
||||||
|
box "Client B"
|
||||||
|
participant "M.Customer B"
|
||||||
|
end box
|
||||||
|
|
||||||
|
box "Client A"
|
||||||
|
participant "M.Customer A"
|
||||||
|
end box
|
||||||
|
|
||||||
|
box "Server"
|
||||||
|
participant M.Collab
|
||||||
|
participant M.Recommend
|
||||||
|
end box
|
||||||
|
|
||||||
|
activate "M.Customer A"
|
||||||
|
activate "M.Customer B"
|
||||||
|
activate M.Collab
|
||||||
|
|
||||||
|
M.Collab -> M.Recommend : get_recommendation(configuration, preferences)
|
||||||
|
activate M.Recommend
|
||||||
|
M.Collab <-- M.Recommend : return recommendedFeatures
|
||||||
|
deactivate M.Recommend
|
||||||
|
|
||||||
|
par
|
||||||
|
M.Collab --> "M.Customer A" : broadcast (recommendedFeatures)
|
||||||
|
M.Collab --> "M.Customer B" : broadcast (recommendedFeatures)
|
||||||
|
end
|
||||||
|
@enduml
|
||||||
Reference in New Issue
Block a user