summaryrefslogtreecommitdiff
path: root/00-pflichtenheft/sections/TikzPictures/ActivityLogin.tex
blob: 701eeef8060d09e43e17ed0844f12bc0b31410ea (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
\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}