diff options
author | Jonas Smedegaard <dr@jones.dk> | 2025-03-13 12:13:53 +0100 |
---|---|---|
committer | Jonas Smedegaard <dr@jones.dk> | 2025-03-13 13:07:59 +0100 |
commit | ee572bbbcb2b38d330aa913f4ddfe263d30de8af (patch) | |
tree | 8e4a800dbd3e0b93d79120784ee027d98ec3794c /classes.puml | |
parent | b0f654563130be2cb5ab6b49cad7ac714991b79c (diff) |
reduce complexity of model
Diffstat (limited to 'classes.puml')
-rw-r--r-- | classes.puml | 72 |
1 files changed, 9 insertions, 63 deletions
diff --git a/classes.puml b/classes.puml index 194ef7b..8f4be4c 100644 --- a/classes.puml +++ b/classes.puml @@ -10,84 +10,32 @@ abstract Person { + name: String } -abstract Employee extends Person { -+ {static} ssn: int -+ email: String -} - -class Tap extends Employee - -class Vip extends Employee - -class Dean extends Vip - -class ResearchAssociate extends Vip { +class ResearchAssociate extends Person { + field: String } -class Supervisor extends ResearchAssociate - -class Lecturer extends ResearchAssociate - class Student extends Person } -package Org { - -abstract Org { -+ name: String -} - -interface Place { -+ address: String -} - -class University implements Place -class University extends Org - -class Faculty extends Org -Faculty --* University -Faculty "1" *- Person.Dean - -class Institute implements Place -class Institute extends Org -Institute --* Faculty -Institute *- Person.ResearchAssociate - -} - package Activity { abstract Activity { + name: String } -abstract Project extends Activity { -+ dateBegin: date -+ dateEnd: date -+ hours: VipHours[] -} -Project *- Person.ResearchAssociate -(Project, Person.ResearchAssociate) .. VipHours - -class VipHours { -+ person: Vip -+ hours: int -} - -class Course extends Project { +class Course extends Activity { + {static} id: int -+ lecturer: Lecturer ++ lecturer: ResearchAssociate + ects: int } -Course *-- Person.Lecturer +Course *-- Person.ResearchAssociate -class StudentProject extends Project { -+ supervisor: Supervisor +class StudentProject extends Activity { ++ supervisor: ResearchAssociate + ects: int } -StudentProject *-- Person.Supervisor +StudentProject *-- Person.ResearchAssociate class Programme { + student: Student @@ -104,11 +52,9 @@ Programme "1" *-- Person.Student package Bachelorizer { class Bachelorizer { -+ programmes: Programme[] -+ addProgramme(): void ++ programme: Programme } - -Activity.Programme --* Bachelorizer +Bachelorizer -- Activity.Programme } |