aboutsummaryrefslogtreecommitdiff
path: root/classes.puml
blob: 8f4be4c8e5484cc8e442b31f59909aa8769da8c4 (plain)
  1. @startuml
  2. ' mimick visual style of UML @ Classroom <10.1007/978-3-319-12742-2>
  3. skinparam packageStyle file
  4. hide circle
  5. skinparam classAttributeIconSize 0
  6. package Person {
  7. abstract Person {
  8. + name: String
  9. }
  10. class ResearchAssociate extends Person {
  11. + field: String
  12. }
  13. class Student extends Person
  14. }
  15. package Activity {
  16. abstract Activity {
  17. + name: String
  18. }
  19. class Course extends Activity {
  20. + {static} id: int
  21. + lecturer: ResearchAssociate
  22. + ects: int
  23. }
  24. Course *-- Person.ResearchAssociate
  25. class StudentProject extends Activity {
  26. + supervisor: ResearchAssociate
  27. + ects: int
  28. }
  29. StudentProject *-- Person.ResearchAssociate
  30. class Programme {
  31. + student: Student
  32. + activities: Activity[]
  33. + addActivity(): void
  34. + valid()
  35. }
  36. Programme *- Course
  37. Programme *- StudentProject
  38. Programme "1" *-- Person.Student
  39. }
  40. package Bachelorizer {
  41. class Bachelorizer {
  42. + programme: Programme
  43. }
  44. Bachelorizer -- Activity.Programme
  45. }
  46. @enduml