\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] (Login) {Login page}; \node[decision, right = of Login] (Remembered) {Gemerkt?}; \node[decision, below left = of Remembered] (RemEnd1) {}; \node[activity, below = of RemEnd1] (Input) {E-Mail und\\ Passwort eingeben}; \node[activity, below = of Input] (RememberOpt) {Option \string"Passwort merken\string"\\ aus-/abwählen}; \node[activity, below = of RememberOpt] (LoginPress) {\string"Anmelden\string"-Button\\ drücken}; \node[actBox, left = of LoginPress] (ErrorBox) {Fehlermeldung}; \node[decision, below = of LoginPress] (CorrectEntry) {Korrekte\\ Eingabe?}; \node[actBox, right = of CorrectEntry] (DashboardShow) {Dashboard\\ der Website}; \path[name path=P1] (Remembered.south east) -| (DashboardShow); \path[name path=P2] (RemEnd1.north east) -| (DashboardShow); \node[end, below = of DashboardShow] (End) {}; \coordinate (jump1) at (DashboardShow |- RemEnd1){}; \draw($(Start.north west)+(-1,2)$) rectangle ($(End.south east)+(2,-1)$); \path ($(Start.north west)+(-1,1.3)$) -- ($(Start -| End)+(2,1.3)$) node[midway]{\Large \textbf{Anmeldung}}; % Verbindungen zwischen den Nodes \draw[-stealth, thick](Start) -- (Aufruf); \draw[-stealth, thick](Aufruf) -- (Login); \draw[-stealth, thick](Login) -- (Remembered); \draw[-stealth, thick](Remembered) -- node[left = 2mm, very near start]{nein} (RemEnd1); \draw[-stealth, thick](Remembered.south east) -- (jump1) node[right = 2mm, near start]{ja} -- (DashboardShow); \draw[-stealth, thick](RemEnd1) -- (Input); \draw[-stealth, thick](Input) -- (RememberOpt); \draw[-stealth, thick](RememberOpt) -- (LoginPress); \draw[-stealth, thick](LoginPress) -- (CorrectEntry); \draw[-stealth, thick](CorrectEntry) -| node[above, very near start]{falsch} (ErrorBox); \draw[-stealth, thick](ErrorBox) |- (RemEnd1); \draw[-stealth, thick](CorrectEntry) -- node[above, midway]{wahr} (DashboardShow); \draw[-stealth, thick](DashboardShow) -- (End); \end{tikzpicture}