aboutsummaryrefslogtreecommitdiff
path: root/classes.puml
blob: 8e24efb413da87117bddbb7f2d96f1fe8838668e (plain)
  1. @startuml
  2. abstract class Person {
  3. +name
  4. }
  5. abstract class Employee extends Person {
  6. +ssn
  7. +email
  8. }
  9. class Tap extends Employee {
  10. }
  11. class Vip extends Employee {
  12. }
  13. class Dean extends Vip {
  14. }
  15. class ResearchAssociate extends Vip {
  16. +field
  17. }
  18. class Supervisor extends ResearchAssociate {
  19. }
  20. class Lecturer extends ResearchAssociate {
  21. }
  22. class Student extends Person {
  23. }
  24. abstract class Org {
  25. +orgName
  26. }
  27. interface Place {
  28. +address
  29. }
  30. class University implements Place
  31. class University extends Org {
  32. }
  33. class Faculty extends Org {
  34. }
  35. Faculty -* University
  36. Faculty "1" *- Dean
  37. class Institute implements Place
  38. class Institute extends Org {
  39. +address
  40. }
  41. Institute -* Faculty
  42. Intitute *- ResearchAssociate
  43. abstract Project {
  44. +name
  45. +dateBegin
  46. +dateEnd
  47. }
  48. class ProjectHours {
  49. }
  50. ProjectHours "1" *-- Project
  51. ProjectHours o-- ResearchAssociate
  52. interface ProvidesEcts {
  53. +ects
  54. }
  55. class Course implements ProvidesEcts
  56. class Course extends Project {
  57. +id
  58. +name
  59. +hoursWeekly
  60. }
  61. Course -- Lecturer
  62. class StudentProject implements ProvidesEcts
  63. class StudentProject extends Project {
  64. }
  65. StudentProject --o Vip
  66. StudentProject -- Supervisor
  67. class Programme {
  68. addActivity()
  69. valid()
  70. }
  71. Programme o- Course
  72. Programme o- StudentProject
  73. Programme --* Student
  74. class Bachelorizer {
  75. }
  76. Bachelorizer --> Programme
  77. @enduml