aboutsummaryrefslogtreecommitdiff
path: root/Design/roles.dot
blob: 8194939186b692a9c2e83d29e8e82b9804367fa8 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
digraph Roles
{
	node    [style     = filled,
	         fillcolor = white,
	         color     = white];
	label = "Roles, their privilege levels and module mapping.";
	// LOGON PHASE
	subgraph cluster_1
	{
		label     = "Before entering the system..."
		style     = filled;
		pencolor  = white;
		fillcolor = crimson;
		labeljust = l;
		// User
		User -> LogOn;
		LogOn [label = "Log on with username and password"];
	}
	// USER CLASSES
	subgraph cluster_2
	{
		label     = "I am a...";
		style     = filled;
		pencolor  = white;
		fillcolor = gold;
		labeljust = l;
		// StdUser (unprivileged)
		StdUser [label = "standard user."]
		LogOn -> StdUser;
		// LibraryMgr (privileged)
		LibraryMgr [label = "library manager."]
		LogOn -> LibraryMgr;
		// Admin (super-privileged)
		Admin [label = "administrator."]
		LogOn -> Admin;
	}
	// ROLES
	subgraph cluster_3
	{
		label       = "I want to...";
		style       = filled;
		pencolor    = white;
		fillcolor   = chartreuse;
		labeljust = l;
		node [shape = rectangle];
		// CEditShow
		CEditShow   [label = "create or edit\na show."];
		StdUser    -> CEditShow;
		LibraryMgr -> CEditShow;
		Admin      -> CEditShow;
		// PlayShow
		PlayShow    [label = "present\na show."];
		StdUser    -> PlayShow;
		LibraryMgr -> PlayShow;
		Admin      -> PlayShow;
		// MUserTracks
		MUserTracks [label = "manage or upload\nmy personal tracks."];
		StdUser    -> MUserTracks;
		LibraryMgr -> MUserTracks;
		Admin      -> MUserTracks;
		// MLibrary
		MLibrary    [label = "manage\nthe track library."];
		LibraryMgr -> MLibrary;
		Admin      -> MLibrary;
		// Configure
		Configure   [label = "configure\nthe system."];
		Admin      -> Configure;
	}
	// MODULES
	subgraph cluster_4
	{
		label     = "The module for this task is...";
		style     = filled;
		pencolor  = white;
		fillcolor = cornflowerblue;
		labeljust = l;
		// ShowEditor
		ShowEditor;
		CEditShow   -> ShowEditor;
		// ShowPlayout
		ShowPlayout;
		PlayShow    -> ShowPlayout;
		// CollectionEditor
		CollectionEditor;
		MUserTracks -> CollectionEditor;
		// LibraryEditor
		LibraryEditor;
		MLibrary    -> LibraryEditor;
		// SystemSettings
		SystemSettings;
		Configure   -> SystemSettings;
	}
}