60 lines
3.6 KiB
TeX
60 lines
3.6 KiB
TeX
|
\begin{tikzpicture}
|
||
|
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
% Nodeklassen für Aktivitätsdiagramm festlegen: %
|
||
|
%-------------------------------------------------------------------------------%
|
||
|
% start - Schwarzer ausgefüllter Kreis %
|
||
|
% activity - Abgerundetes Rechteck für Aktivitäten des Users %
|
||
|
% actBox - Rechteck für Reaktionen des Systems %
|
||
|
% decision - Karokästchen für Entscheidungen / Abzweigungen %
|
||
|
% end - Zielscheibe für das Ende der Aktivität %
|
||
|
%-------------------------------------------------------------------------------%
|
||
|
% Siehe: https://www-kseta.ttp.kit.edu/fellows/Tanja.Harbaum/tikz_tutorial.pdf %
|
||
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||
|
|
||
|
\tikzset{start/.style={circle,minimum width=0.3cm,minimum height=0.3cm,draw,fill}}
|
||
|
\tikzset{activity/.style={rectangle,minimum width=1cm,minimum height=0.5cm,rounded corners=5pt,draw,align=center}}
|
||
|
\tikzset{actBox/.style={rectangle,minimum width=1cm,minimum height=0.5cm,draw,align=center}}
|
||
|
\tikzset{decision/.style={diamond,minimum width=1cm,minimum height=1cm,draw,align=center}}
|
||
|
\tikzset{end/.style={draw,double=white,circle,inner sep=1pt,minimum width=0.3cm,minimum height=0.3cm,draw,fill}}
|
||
|
|
||
|
% Nodes und deren Position (voneinander abhängig) angeben
|
||
|
\node[start] (Start) {};
|
||
|
\node[activity, right = of Start] (Aufruf) {Website aufrufen};
|
||
|
\node[actBox, right = of Aufruf] (Login1) {Login page};
|
||
|
\node[activity, below = of Login1] (RegOpt) {\string"Registrieren\string"-Option\\ auswählen};
|
||
|
\node[actBox, below = of RegOpt] (Registrieren) {Registrierungsfenster};
|
||
|
\node[decision, below = of Registrieren] (EmailTakenEnd) {};
|
||
|
\node[activity, below = of EmailTakenEnd] (Input) {E-Mail-Adresse und\\ zweimal neues\\ Passwort eingeben};
|
||
|
\node[activity, below = of Input] (RegPress) {\string"Registrieren\string"-Button\\ drücken};
|
||
|
\node[decision, left = of RegPress] (EmailTaken) {E-Mail\\ vergeben?};
|
||
|
\node[actBox] (Error1) at (EmailTaken |- EmailTakenEnd) {Fehlermeldung};
|
||
|
\node[actBox, below = of EmailTaken] (Confirm) {E-Mail mit Link\\ zur Verifizierung};
|
||
|
\node[activity, below = of Confirm] (LinkClick) {Link\\ anklicken};
|
||
|
\node[decision, right = of LinkClick] (LinkTime) {Link älter\\ als 24h?};
|
||
|
\node[actBox, right = 2cm of LinkTime] (Error2) {Fehler};
|
||
|
\node[actBox, below = 1.5cm of LinkTime] (Login2) {Login Page};
|
||
|
\node[end] (End) at (Error2 |- Login2) {};
|
||
|
\draw ($(Start.north west)+(-2,2)$) rectangle ($(End.south east)+(2,-1)$);
|
||
|
\path ($(Start.north west)+(-2,1.4)$) -- ($(Start -| Error2)+(2,1.4)$) node[midway]{\Large \textbf{Registrieren}};
|
||
|
|
||
|
% Verbindungen zwischen den Nodes
|
||
|
\draw[-stealth, thick](Start) -- (Aufruf);
|
||
|
\draw[-stealth, thick](Aufruf) -- (Login1);
|
||
|
\draw[-stealth, thick](Login1) -- (RegOpt);
|
||
|
\draw[-stealth, thick](RegOpt) -- (Registrieren);
|
||
|
\draw[-stealth, thick](Registrieren) -- (EmailTakenEnd);
|
||
|
\draw[-stealth, thick](EmailTakenEnd) -- (Input);
|
||
|
\draw[-stealth, thick](Input) -- (RegPress);
|
||
|
\draw[-stealth, thick](RegPress) -- (EmailTaken);
|
||
|
\draw[-stealth, thick](EmailTaken) -- node[left, near start]{ja} (Error1);
|
||
|
\draw[-stealth, thick](Error1) -- (EmailTakenEnd);
|
||
|
\draw[-stealth, thick](EmailTaken) -- node[left, near start]{nein} (Confirm);
|
||
|
\draw[-stealth, thick](Confirm) -- (LinkClick);
|
||
|
\draw[-stealth, thick](LinkClick) -- (LinkTime);
|
||
|
\draw[-stealth, thick](LinkTime) -- node[above, near start]{ja} (Error2);
|
||
|
\draw[-stealth, thick](LinkTime) -- node[left, near start]{nein} (Login2);
|
||
|
\draw[-stealth, thick](Error2) -- (End);
|
||
|
\draw[-stealth, thick](Login2) -- (End);
|
||
|
|
||
|
\end{tikzpicture}
|