70 lines
4.3 KiB
TeX
70 lines
4.3 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] (ForgetOpt) {\string"Passwort vergessen\string"\\ Option auswählen};
|
|
\node[actBox, below = of ForgetOpt] (Forget) {\string"Passwort vergessen\string"\\ Fenster};
|
|
\node[decision, below = of Forget] (EmailDecEnd) {};
|
|
\node[activity, below = of EmailDecEnd] (Input1) {E-Mail-Adresse\\ eingeben};
|
|
\node[decision, left = of Input1] (EmailDec) {E-Mail\\ registriert?};
|
|
\path (EmailDec) |- (EmailDecEnd) node[actBox, near end](Error2){Fehler};
|
|
\node[actBox, below = of EmailDec] (SendMail) {E-Mail mit Link\\ zum Zurücksetzen\\ des Passworts};
|
|
\node[activity, below = of SendMail] (LinkClick) {Empfangenen Link\\ öffnen};
|
|
\node[decision, right = of LinkClick] (LinkTime) {Link älter\\ als 24h?};
|
|
\node[actBox, above = of LinkTime] (Error) {Fehler};
|
|
\node[end, right = of Error] (End1) {};
|
|
\node[actBox, below = of LinkTime] (ResetWin) {\string"Passwort zurücksetzen\string"\\ Fenster};
|
|
\node[decision, left = of ResetWin] (PswCorEnd) {};
|
|
\node[activity, left = of PswCorEnd] (Input2) {neues Passwort\\ zweimal eingeben};
|
|
\node[activity, below = 2cm of Input2] (ResetPress) {\string"Passwort zurücksetzen\string"-\\ Button drücken};
|
|
\node[decision, right = of ResetPress] (PswCorrect) {Passwort\\ legal?};
|
|
\node[actBox, right = of PswCorrect] (Login2) {Login page};
|
|
\node[end, right = of Login2] (End2) {};
|
|
\draw ($(Start.north west)+(-3,2)$) rectangle ($(End2.south east)+(1,-2)$);
|
|
\path ($(Start.north west)+(-3,1.4)$) -- ($(Start -| End2)+(1,1.4)$) node[midway]{\Large \textbf{Passwort vergessen}};
|
|
|
|
% Verbindungen zwischen den Nodes
|
|
\draw[-stealth, thick](Start) -- (Aufruf);
|
|
\draw[-stealth, thick](Aufruf) -- (Login1);
|
|
\draw[-stealth, thick](Login1) -- (ForgetOpt);
|
|
\draw[-stealth, thick](ForgetOpt) -- (Forget);
|
|
\draw[-stealth, thick](Forget) -- (EmailDecEnd);
|
|
\draw[-stealth, thick](EmailDecEnd) -- (Input1);
|
|
\draw[-stealth, thick](Input1) -- (EmailDec);
|
|
\draw[-stealth, thick](EmailDec) |- node[left, near start]{nein} (Error2);
|
|
\draw[-stealth, thick](Error2) -- (EmailDecEnd);
|
|
\draw[-stealth, thick](EmailDec) -- node[left, near start]{ja} (SendMail);
|
|
\draw[-stealth, thick](SendMail) -- (LinkClick);
|
|
\draw[-stealth, thick](LinkClick) -- (LinkTime);
|
|
\draw[-stealth, thick](LinkTime) -- node[left, near start]{ja} (Error);
|
|
\draw[-stealth, thick](Error) -- (End1);
|
|
\draw[-stealth, thick](LinkTime) -- node[left, near start]{nein} (ResetWin);
|
|
\draw[-stealth, thick](ResetWin) -- (PswCorEnd);
|
|
\draw[-stealth, thick](PswCorEnd) -- (Input2);
|
|
\draw[-stealth, thick](Input2) -- (ResetPress);
|
|
\draw[-stealth, thick](ResetPress) -- (PswCorrect);
|
|
\draw[-stealth, thick](PswCorrect.north west) -| (PswCorEnd) node[above, near start]{nein};
|
|
\draw[-stealth, thick](PswCorrect) -- (Login2) node[above, near start]{ja};
|
|
\draw[-stealth, thick](Login2) -- (End2);
|
|
|
|
\end{tikzpicture} |