aboutsummaryrefslogtreecommitdiff
path: root/classes.puml
diff options
context:
space:
mode:
authorJonas Smedegaard <dr@jones.dk>2025-03-01 16:24:37 +0100
committerJonas Smedegaard <dr@jones.dk>2025-03-01 16:24:37 +0100
commit6521292fd4b034272a6e061b7e40bec627840e6a (patch)
tree6504129b72680d5ba2d813edc194ef068afdf1eb /classes.puml
parent533c9afa8f47fae59ef014b9c60f3318a487243c (diff)
update UML diagram
Diffstat (limited to 'classes.puml')
-rw-r--r--classes.puml74
1 files changed, 64 insertions, 10 deletions
diff --git a/classes.puml b/classes.puml
index 9ce32b6..781bf21 100644
--- a/classes.puml
+++ b/classes.puml
@@ -5,34 +5,88 @@ abstract class Person {
abstract class Employee extends Person {
+ssn
+ +email
}
class Tap extends Employee {
}
-enum VipRole {
- DEAN
- RESEARCHER
- RESEARCH_ASSISTANT
+class Vip extends Employee {
}
-class Vip extends Employee {
- +VipRole role
+class Dean extends Vip {
+}
+
+class ResearchAssociate extends Vip {
+ +field
+}
+
+class Supervisor extends ResearchAssociate {
+}
+
+class Lecturer extends ResearchAssociate {
}
class Student extends Person {
}
abstract class Org {
- +name
+ +orgName
}
-class Institute extends Org {
+interface Place {
+ +address
+}
+
+class University implements Place
+class University extends Org {
+}
+
+class Faculty extends Org {
}
+Faculty -* University
+Faculty "1" *- Dean
-class Faculty extends Org, Institute {
+class Institute implements Place
+class Institute extends Org {
+address
}
+Institute -* Faculty
+Intitute *- ResearchAssociate
+
+abstract Project {
+ +name
+ +dateBegin
+ +dateEnd
+}
+
+class ProjectHours {
+}
+ProjectHours "1" *-- Project
+ProjectHours o-- ResearchAssociate
+
+interface ProvidesEcts {
+ +ects
+}
+
+class Course implements ProvidesEcts
+class Course extends Project {
+ +id
+ +name
+ +hoursWeekly
+}
+Course -- Lecturer
-VipRole - Vip
+class StudentProject implements ProvidesEcts
+class StudentProject extends Project {
+}
+StudentProject --o Vip
+StudentProject -- Supervisor
+
+class Programme {
+ addActivity()
+}
+Programme o- Course
+Programme o- StudentProject
+Programme *- Student
@enduml