From e327974b7296a9c7f771c6d52759629dc8a2de18 Mon Sep 17 00:00:00 2001
From: Phuc Tran Truong <truongph@informatik.hu-berlin.de>
Date: Tue, 13 Mar 2018 11:29:04 +0100
Subject: [PATCH] add second version of use case diagram with comments

---
 doc/mainDocument/sections/architektur.tex  |  2 +-
 doc/mainDocument/sections/usecases.tex     | 19 ++++++++--
 doc/mainDocument/tikzImgs/uc_diagram_2.tex | 40 ++++++++++++++++++++++
 3 files changed, 57 insertions(+), 4 deletions(-)
 create mode 100644 doc/mainDocument/tikzImgs/uc_diagram_2.tex

diff --git a/doc/mainDocument/sections/architektur.tex b/doc/mainDocument/sections/architektur.tex
index 561e4d04..a5ab4570 100644
--- a/doc/mainDocument/sections/architektur.tex
+++ b/doc/mainDocument/sections/architektur.tex
@@ -5,7 +5,7 @@
 	\subsection{Systemarchitektur}
 	Abbildung \ref{fig:hardware-sys} zeigt, welche Systemkomponenten in welcher Umgebung laufen und welche Kommunikationswege es zwischen den einzelnen Komponenten gibt. Zur Verf\"ugung steht uns ein Fahrzeug, welches mit einer Kamera, einem Ultraschallsensor, einem Motor, vier R\"adern, einem STM-Board und einem ODROID-Board ausger\"ustet ist.\\
 	Auf dem STM-Board laufen die Treiber f\"ur die direkte Steuerung des Motors und der R\"ader. Die gesamte Software des STM-Boards wird von Assystem geliefert und unser Team muss sich lediglich darum k\"ummern, die entsprechenden Befehle vom ODROID-Board an das STM-Board zu schicken.\\
-	Auf dem ODROID-Board laufen die Module zum berechnen des Fahrverhaltens, sowie der Kommunikation mit dem STM-Board und anderen Fahrzeugen. Die Kamera und der Ultraschallsensor sind mit dem ODROID verbunden.
+	Auf dem ODROID-Board laufen die Module zum Berechnen des Fahrverhaltens, sowie der Kommunikation mit dem STM-Board und anderen Fahrzeugen. Die Kamera und der Ultraschallsensor sind mit dem ODROID verbunden.
 	\\\\
 	Bis auf die einzelnen Module im ODROID ist die Architektur so von Assystem vorgegeben, da sie die Software f\"ur das STM liefern und auch den Bau der Fahrzeuge leiten.
 	
diff --git a/doc/mainDocument/sections/usecases.tex b/doc/mainDocument/sections/usecases.tex
index 3ea92d6b..4649da61 100644
--- a/doc/mainDocument/sections/usecases.tex
+++ b/doc/mainDocument/sections/usecases.tex
@@ -5,9 +5,22 @@
 	
 	Während der Entwicklung sollte auf größtmögliche Konformität mit dem
 	bestehenden Projekt der Assystem geachtet werden.	
-	
+	\begin{figure}
+	\caption{Use Case Diagramm 1. Version}
 	\input{tikzImgs/uc_diagram.tex}
-	
+	\end{figure}
+	\begin{figure}
+	\caption{Use Case Diagramm 2. Version}
+	\input{tikzImgs/uc_diagram_2.tex}
+	\end{figure}
+	\clearpage
+	Um die Anzahl der Use Cases zu reduzieren: 
+	\begin{itemize}
+	\item UC - Kolonne erstellen ist kein eigenständiger UC, sondern ist nun in UC - Kolonne beitreten miteinbegriffen 
+	\item UC - Kolonne auflösen ist kein eigenständiger UC, sondern ist nun in UC - Kolonne verlassen miteinbegriffen 
+	\item UC - Abstand halten und UC - Fahrbahn folgen sind nun in UC - Kolonnenfahren miteinbegriffen
+	\end{itemize}
+	Es wurde noch überlegt, einen Use Case hinzuzufügen, der die Fahrmodi (ACC, CACC(LV), CACC(FV), RC) repräsentiert.
 	%TO DO Reihenfolge ändern	???
 	
 	\subsection*{UC - 10 Status ausgeben}\label{UC:showStatus}
@@ -68,7 +81,7 @@
 	\addcontentsline{toc}{subsection}{\nameref{UC:createPlatoon}}
 	
 	Dieser Use-Case dient dazu, eine Kolonne zu erstellen.
-	Mehrere Fahrzeuge ( mind. 2 ) erkennen sich gegenseitig und beginnen zu kommunizieren.
+	Mehrere Fahrzeuge (mind. 2) erkennen sich gegenseitig und beginnen zu kommunizieren.
 	Weitere Informationen sind in Tabelle~\ref{tab:UC:createPlatoon} zu finden.
 	
 	\begin{table}[H] \centering
diff --git a/doc/mainDocument/tikzImgs/uc_diagram_2.tex b/doc/mainDocument/tikzImgs/uc_diagram_2.tex
new file mode 100644
index 00000000..8d73b452
--- /dev/null
+++ b/doc/mainDocument/tikzImgs/uc_diagram_2.tex
@@ -0,0 +1,40 @@
+\begin{tikzpicture}
+	\begin{umlsystem}[x=4, y=0, fill=black!15]{CACC/Platooning}
+		\umlusecase[x=0, y=0,   width=18mm, fill=green!30]{\nameref{UC:showStatus}}
+		\umlusecase[x=5, y=-5,  width=18mm, fill=blue!20]{\nameref{UC:runPlatoon}}
+		\umlusecase[x=5, y=-15, width=18mm, fill=blue!40]{\nameref{UC:joinPlatoon}}
+		\umlusecase[x=1, y=-11,  width=18mm, fill=blue!40]{\nameref{UC:leavePlatoon}}
+    \umlusecase[x=1, y=-5,  width=28mm, fill=green!30]{\nameref{UC:changePlatoonData}}
+    \umlusecase[x=3, y=-17, width=34mm, fill=green!30]{\nameref{UC:changeSpeed}}
+	\end{umlsystem}
+	
+	\umlactor[x=0,  y=-11]{Operator}
+	\umlcar[x=15, y=-10]{LV}
+	\umlcar[x=15, y=-5]{FV}
+	\umlcar[x=15, y=-15]{PFV}
+	\umlcar[x=15, y=1]{GV}
+	
+	\umlHVHinherit[arm2=16mm]{LV}{GV}
+	\umlHVHinherit[arm2=16mm]{FV}{GV}
+	\umlHVHinherit[arm2=16mm]{PFV}{GV}
+  
+	\umlassoc{Operator}{usecase-1}
+	\umlassoc{Operator}{usecase-4}
+	\umlassoc{Operator}{usecase-5}
+	\umlassoc{Operator}{usecase-9}
+	\umlassoc{Operator}{usecase-10}
+  
+	\umlassoc{LV}{usecase-3}
+	\umlassoc{LV}{usecase-4}
+	\umlassoc{LV}{usecase-5}
+	\umlassoc{LV}{usecase-9}
+  
+	\umlassoc{FV}{usecase-3}
+	\umlassoc{FV}{usecase-5}
+  
+  	\umlassoc{PFV}{usecase-4}
+	\umlassoc{PFV}{usecase-10}
+  
+	\umlassoc{GV}{usecase-1}
+  
+\end{tikzpicture}
-- 
GitLab