aboutsummaryrefslogtreecommitdiff
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
parent533c9afa8f47fae59ef014b9c60f3318a487243c (diff)
update UML diagram
-rw-r--r--_roadmap.yml2
-rw-r--r--classes.puml74
-rw-r--r--delivery1.qmd2
3 files changed, 66 insertions, 12 deletions
diff --git a/_roadmap.yml b/_roadmap.yml
index df01046..7793e7c 100644
--- a/_roadmap.yml
+++ b/_roadmap.yml
@@ -37,7 +37,7 @@ docs_model:
- model
model:
- status: next
+ status: finished
label: |
Make a class diagram
for the Bachelor programme
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
diff --git a/delivery1.qmd b/delivery1.qmd
index e21963d..8a7f974 100644
--- a/delivery1.qmd
+++ b/delivery1.qmd
@@ -27,7 +27,7 @@ breaks: false
# Diagram
-![UML Class Diagram](classes.svg)
+![UML Class Diagram for Bachelorizer](classes.svg)
# Code