-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclass-diagram.puml
99 lines (84 loc) · 1.9 KB
/
class-diagram.puml
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
94
95
96
97
98
99
@startuml APP
class User <<Entity>> {
+ name: String
+ surname: String
+ email: String
+ phone: String
+ department: String
+ title: String
+ role: Role
- identificationNumber: String
- institutionalNumber: String
+ documents: Document[]
+ getPersonalStatistics(User): Statistics
+ upload(File): Document
}
class Login {
+ login(): User
- controlUserRecord(User): Boolean
- add(User): User
}
class Translator {
+ addAsManually(User): User
+ removeManuallyAdded(User): User
+ uploadCorrectedFile(id, File): Document
}
class Admin {
+ delete(User): User
+ changeRole(User): User
+ edit(StaticPage): StaticPage
+ add(Permission): Permission
+ delete(Permission): Permission
+ updatePermmission(Permission): Permission
+ updateRole(Role): Role
+ getStatistics(): Statistics
}
class Statistics <<ValueObject>> {
+ totalDocument : Number
+ completedDocument : Number
+ waitingDocument : Number
+ examiningDocument : Number
+ rejectedDocument : Number
}
class Performans <<ValueObject>> {
+ acceptedDocument : Number
+ rejectedDocument : Number
+ completedDocument : Number
+ examiningDocument : Number
}
class StaticPage <<Entity>> {
+ name : String
+ title : String
+ content : String
}
class Document <<Entity>> {
+ name: String
+ url: String
+ correctedFile: Document
+ state: State
+ uploader: User
}
class Role <<Entity>> {
+ name: String
+ permissions: Permission[]
}
class Permission <<Entity>> {
+ title: String
}
enum State {
WAITING
EXAMINING
REJECTED
READY_FOR_DOWNLOAD
}
Translator -up-|> User
Admin -up-|> User
User "1" *-- "0..n" Document : has >
User "1" *-up- "1" Document : has >
Document "1" --> "1" State : has a >
Document "1" *-- "1" Document : has a >
Role "1" *-- "1" User : has a <
Role "1..n" o-- "1..n" Permission : has >
User "1" *-up- "1" Statistics : has >
Translator "1" *-- "1" Performans : has >
@enduml