source: Doc/Diagrams/class_diagram.dot

Last change on this file was 309, checked in by jkraaijeveld, 13 years ago

Added class and state diagrams

File size: 3.8 KB
Line 
1digraph FacilitatorToolClassDiagram {
2        fontname = "Tahoma"
3        fontsize = 8
4        node [
5                fontname = "Tahoma"
6                fontsize = 8
7                shape = "record"
8        ]
9        edge [
10                fontname = "Tahoma"
11                fontsize = 8
12        ]
13
14        Survey [
15                label = "{Survey|$title : String \l$description : String \l$creator : User \l$questions : Question[] \l|}"
16        ]
17        User [
18                label = "{User|$email : String \l$passwordHash : String \l$passwordSalt : String\l|}"
19        ]
20        Question [
21                label = "{Question|$code : String \l$title : String \l$type : String \l$description : String \l$category : String \l$answers : String[] \l|}"
22        ]
23        Answer [
24                label = "{Answer|$question : Question \l$values : Array \l|}"
25        ]
26        AnswerSet [
27                label = "{AnswerSet|$survey : Survey \l$respondent : Respondent \l$datetime : DateTime \l$answers : Array \l|}"
28        ]
29        Respondent [
30                label = "{Respondent|$email : String \l$passwordHash : String \l$passwordSalt : String\l|}"
31        ]
32        SurveyInstance [
33                label = "{SurveyInstance|$survey : Survey \l$starttime : DateTime \l$endtime : DateTime \l$open : boolean \l$presetanswers : Answer[] \l$answersets : AnswerSet[] \l|}"
34        ]
35        Application [
36                label = "{Application|$title : String \l$description : String \l$style : String \l|}"
37        ]
38        ApplicationInstance [
39                label = "{ApplicationInstance|$application : Application \l$starttime : DateTime \l$endtime : DateTime \l$open : boolean \l$playerresults : PlayerResult[] \l$groupresults : GroupResults[] \l$periodicresults : PeriodicResults[]|}"
40        ]
41        Session [
42                label = "{Session|$title : String \l$creator : User \l$creationdate : DateTime \l$pipeline : Survey/Application[] \l|}"
43        ]
44        SessionInstance[
45                label = "{SessionInstance|$title : String \l$location : String \l$facilitator : User \l$starttime : DateTime \l$endtime : DateTime \l$notes : String[] \l$session : Session \l$surveyinstances : SurveyInstance[] \l$applicationinstances : ApplicationInstance[] \l|}"
46        ]
47        PlayerResult[
48                label = "{PlayerResult|$value : KeyValuePair[] \l$respondent : Respondent \l$application : Application \l|}"
49        ]
50        GroupResult[
51                label = "{GroupResult|$value : KeyValuePair[] \l$respondent : Respondent \l$application : Application \l|}"
52        ]
53        PeriodicResult[
54                label = "{PeriodicResult|$value : KeyValuePair[] \l$respondent : Respondent \l$application : Application \l|}"
55        ]
56
57        edge [
58                arrowhead = "none"
59        ]
60        Survey -> User [headlabel = "1" "creator"]
61
62        Survey -> Question [headlabel = "*" label = "questions"]
63
64        Answer -> Question [headlabel = "1" label = "question"]
65
66        AnswerSet -> Survey [headlabel = "1" label = "survey"]
67        AnswerSet -> Answer [headlabel = "*" label = "answers"]
68        AnswerSet -> Respondent [headlabel = "1" label = "respondent"]
69
70        SurveyInstance -> Survey [headlabel = "1" label = "survey"]
71        SurveyInstance -> AnswerSet [headlabel ="*" label = "answersets"]
72        SurveyInstance -> Answer [headlabel = "*" label = "presetanswers"]
73       
74        ApplicationInstance -> Application [headlabel = "1" label = "application"]
75        ApplicationInstance -> PlayerResult [headlabel = "*" label = "playerresults"]
76        ApplicationInstance -> GroupResult [headlabel = "*" label = "groupresults"]
77        ApplicationInstance -> PeriodicResult [headlabel = "*" label = "periodicresults"]
78
79        Session -> User [headlabel ="1" label = "creator"]
80        Session -> Survey [headlabel = "*" label = "pipeline"]
81        Session -> Application [headlabel = "*" label ="pipeline"]
82
83        SessionInstance -> User [headlabel = "1" label = "facilitator"]
84        SessionInstance -> Session [headlabel = "1" label = "session"]
85        SessionInstance -> SurveyInstance [headlabel = "*" label = "surveyinstances"]
86        SessionInstance -> ApplicationInstance [headlabel = "*" label = "applicationinstances"]
87       
88        PlayerResult -> Respondent [headlabel = "1" label = "respondent"]
89        GroupResult -> Respondent [headlabel = "1" label = "respondent"]
90        PeriodicResult -> Respondent [headlabel = "1" label = "respondent"]
91       
92}
Note: See TracBrowser for help on using the repository browser.