Skip to content
Snippets Groups Projects
Commit 99f64240 authored by Franz Bethke's avatar Franz Bethke
Browse files

Modify UC-diagram; Add missing UCs

Added 3 more use cases:
  - "UC - 80 Abstandhalten": It seemed weird that "UC - 70
    Fahrbahn folgen" was considered a use case, but distance keeping
    was not represented in any use case.
    One could consider deleting both use cases.
  - "UC - 90 Kolonnendaten ändern" and "UC - 100 Geschwindigkeit
    ändern" where both added, since the their functionality should not
    be considered part of any other use case, but is essential to the
    project.

Modified associations:
  - Removed PFV from "UC - 50 Kolonne verlassen", since no PFV takes
    action in this use case.
  - Removed FV from "UC - 40 Kolonne beitreten", since no FV takes
    action in this use case.
  - "UC - 10 Status ausgeben" now only has one connection to GV
    instead of one to LV, FV and PFV.

Modified <<include>> and <<extend>> relations:
  - UC - 20 now extends UC - 40, since a platoon needs to be created if
    the first 2 operator want to platoon.
  - UC - 60 now extends UC - 50 for similar reasons.
  - UC - 20 now includes UC - 30.

Added colour coding to the diagram, to group use cases:
  - blue <-> core platoon stuff
  - green <-> input and output of the operator
  - red <-> critical diving

Changed name of "UC - 10"
parent e8a13dc9
Branches
No related merge requests found
......@@ -11,6 +11,8 @@
\usepackage[table]{xcolor}
\usepackage{float} % used to allow the [H] option for tables, etc.
\usepackage{verbatim} % makes multiline comments possible via \begin{comment}\end{comment}
\usepackage{ifthen, tikz, xstring, calc, pgfopts} % required for tikz-uml
\usepackage{../tikz-uml}
%%% GLOSSARY %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\input{../glossary.tex}
......@@ -25,10 +27,6 @@
\DeclareFieldFormat{labelalpha}{\thefield{entrykey}}
\DeclareFieldFormat{extraalpha}{}
%%% USE CASE DIAGRAM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{ifthen, tikz, xstring, calc, pgfopts} % required for tikz-uml
\usepackage{../tikz-uml}
%%% SETTINGS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{parskip} % makes end of paragraphs use an empty line
\setlength\parindent{0pt} % no indentation
......@@ -245,46 +243,11 @@ d.h., der Abstand der Fahrzeuge ist immer größer als Null.\\[1.5ex]
\section{Use-Cases}
\begin{tikzpicture}
\begin{umlsystem}[x=4, y=0]{CACC/Platooning}
\umlusecase[y=-4.5, width=25mm]{\nameref{UC:showStatus}}
\umlusecase[y=-0.5, width=20mm]{\nameref{UC:createPlatoon}}
\umlusecase[x=5, y=-6, width=20mm]{\nameref{UC:runPlatoon}}
\umlusecase[x=5, y=-9, width=20mm]{\nameref{UC:joinPlatoon}}
\umlusecase[x=5, y=-12, width=20mm]{\nameref{UC:leavePlatoon}}
\umlusecase[x=5, y=-3, width=20mm]{\nameref{UC:deletePlatoon}}
\umlusecase[x=4, width=20mm]{\nameref{UC:laneKeeping}}
\end{umlsystem}
\umlactor[y=-2]{Operator}
\umlactor[x=14, y=-4.5]{LV}
\umlactor[x=14, y=-7.5]{FV}
\umlactor[x=14, y=-10.5]{PFV}
\umlactor[x=14]{GV}
\umlHVHinherit[arm2=15mm]{LV}{GV}
\umlHVHinherit[arm2=15mm]{FV}{GV}
\umlHVHinherit[arm2=15mm]{PFV}{GV}
\umlassoc{Operator}{usecase-1}
\umlassoc{Operator}{usecase-2}
\umlassoc{LV}{usecase-3}
\umlassoc{LV}{usecase-4}
\umlassoc{LV}{usecase-5}
\umlassoc{LV}{usecase-6}
\umlassoc{FV}{usecase-3}
\umlassoc{FV}{usecase-4}
\umlassoc{FV}{usecase-5}
\umlassoc{FV}{usecase-6}
\umlassoc{PFV}{usecase-4}
\umlassoc{PFV}{usecase-5}
\umlassoc{GV}{usecase-1}
\umlassoc{GV}{usecase-7}
\umlinclude{usecase-1}{usecase-2}
\end{tikzpicture}
\input{tikzImgs/uc_diagram.tex}
%TO DO Reihenfolge ändern ???
\subsection*{UC - 10 Ausgeben des aktuellen Status}\label{UC:showStatus}
\subsection*{UC - 10 Status ausgeben}\label{UC:showStatus}
\addcontentsline{toc}{subsection}{\nameref{UC:showStatus}}
Dieser Use-Case dient dazu, als Operator jederzeit \gls{IPD} und \gls{PS} sowie \gls{LV}, \gls{FV} und potentielle Kolonnenkandidaten (\gls{PFV}) einsehen zu können.
......@@ -597,7 +560,6 @@ Weitere Informationen sind in Tabelle~\ref{tab:UC:deletePlatoon} zu finden.
\subsection*{UC - 70 Fahrbahn folgen}\label{UC:laneKeeping}
\addcontentsline{toc}{subsection}{\nameref{UC:laneKeeping}}
Dieser Use-Case dient dazu, ein automatisch agierendes Fahrzeug auf einer vorgegeben Fahrbahn zu halten.
Weitere Information sind in Tabelle~\ref{tab:UC:laneKeeping} zu finden.
......@@ -637,6 +599,116 @@ Weitere Information sind in Tabelle~\ref{tab:UC:laneKeeping} zu finden.
\caption{Details zum UC - Fahrbahn folgen} \label{tab:UC:laneKeeping}
\end{table}
\subsection*{UC - 80 Abstand halten}\label{UC:distKeeping}
\addcontentsline{toc}{subsection}{\nameref{UC:distKeeping}}
Weitere Information sind in Tabelle~\ref{tab:UC:distKeeping} zu finden.
\begin{table}[H] \centering
\rowcolors{1}{light-gray}{white}
\begin{tabularx}{\textwidth}{|c|X|} \hline
\tabHead{Id} &
\tabBody{\nameref{UC:distKeeping}} \\ \hline
\tabHead{Vorbed.} &
\tabBody{} \\ \hline
\tabHead{Nachbed.} &
\tabBody{} \\ \hline
\tabHead{Akteure} &
\tabBody{} \\ \hline
\tabHead{Ablauf} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
\tabHead{für \gls{AS}} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
%\tabHead{nutzt \gls{RQ}} &
%\tabBody{\begin{enumerate}[leftmargin=*]
% \item Hier stehen Anforderungen mit **nameref**
%\end{enumerate}}\\ \hline
\end{tabularx}
\caption{Details zum UC - 80 Abstand halten} \label{tab:UC:distKeeping}
\end{table}
\subsection*{UC - 90 Kolonnendaten ändern}\label{UC:changePlatoonData}
\addcontentsline{toc}{subsection}{\nameref{UC:changePlatoonData}}
Weitere Information sind in Tabelle~\ref{tab:UC:changePlatoonData} zu finden.
\begin{table}[H] \centering
\rowcolors{1}{light-gray}{white}
\begin{tabularx}{\textwidth}{|c|X|} \hline
\tabHead{Id} &
\tabBody{\nameref{UC:changePlatoonData}} \\ \hline
\tabHead{Vorbed.} &
\tabBody{} \\ \hline
\tabHead{Nachbed.} &
\tabBody{} \\ \hline
\tabHead{Akteure} &
\tabBody{} \\ \hline
\tabHead{Ablauf} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
\tabHead{für \gls{AS}} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
%\tabHead{nutzt \gls{RQ}} &
%\tabBody{\begin{enumerate}[leftmargin=*]
% \item Hier stehen Anforderungen mit **nameref**
%\end{enumerate}}\\ \hline
\end{tabularx}
\caption{Details zum UC - 90 Kolonnendaten ändern} \label{tab:UC:changePlatoonData}
\end{table}
\subsection*{UC - 100 Geschwindigkeit ändern}\label{UC:changeSpeed}
\addcontentsline{toc}{subsection}{\nameref{UC:changeSpeed}}
Weitere Information sind in Tabelle~\ref{tab:UC:changeSpeed} zu finden.
\begin{table}[H] \centering
\rowcolors{1}{light-gray}{white}
\begin{tabularx}{\textwidth}{|c|X|} \hline
\tabHead{Id} &
\tabBody{\nameref{UC:changeSpeed}} \\ \hline
\tabHead{Vorbed.} &
\tabBody{} \\ \hline
\tabHead{Nachbed.} &
\tabBody{} \\ \hline
\tabHead{Akteure} &
\tabBody{} \\ \hline
\tabHead{Ablauf} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
\tabHead{für \gls{AS}} &
\tabBody{\begin{enumerate}[leftmargin=*]
\item
\end{enumerate}} \\ \hline
%\tabHead{nutzt \gls{RQ}} &
%\tabBody{\begin{enumerate}[leftmargin=*]
% \item Hier stehen Anforderungen mit **nameref**
%\end{enumerate}}\\ \hline
\end{tabularx}
\caption{Details zum UC - 100 Geschwindigkeit ändern} \label{tab:UC:changeSpeed}
\end{table}
%Commenting this section out
\begin{comment}
\section{Funktionale Anforderungen}
......
\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=-12, width=18mm, fill=blue!20]{\nameref{UC:createPlatoon}}
\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=-8, width=18mm, fill=blue!40]{\nameref{UC:leavePlatoon}}
\umlusecase[x=1, y=-11, width=18mm, fill=blue!20]{\nameref{UC:deletePlatoon}}
\umlusecase[x=7, y=-2, width=18mm, fill=red!30]{\nameref{UC:laneKeeping}}
\umlusecase[x=3, y=-2, width=18mm, fill=red!30]{\nameref{UC:distKeeping}}
\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=-10]{Operator}
\umlactor[x=14, y=-10]{LV}
\umlactor[x=14, y=-5]{FV}
\umlactor[x=14, y=-15]{PFV}
\umlactor[x=14, y=1]{GV}
\umlHVHinherit[arm2=10mm]{LV}{GV}
\umlHVHinherit[arm2=10mm]{FV}{GV}
\umlHVHinherit[arm2=10mm]{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-6}
\umlassoc{LV}{usecase-9}
\umlassoc{FV}{usecase-3}
\umlassoc{FV}{usecase-5}
\umlassoc{FV}{usecase-6}
\umlassoc{PFV}{usecase-4}
\umlassoc{PFV}{usecase-2}
\umlassoc{PFV}{usecase-10}
\umlassoc{GV}{usecase-1}
\umlassoc{GV}{usecase-7}
\umlassoc{GV}{usecase-8}
\umlinclude[pos stereo=0.25]{usecase-2}{usecase-3}
\umlinclude{usecase-3}{usecase-7}
\umlinclude{usecase-3}{usecase-8}
\umlextend{usecase-4}{usecase-2}
\umlextend{usecase-5}{usecase-6}
\end{tikzpicture}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment