1

I am trying to learn UML and I would like to design a time management system in which

  • a school has classes with a fixed time schedule during the school year.

Knowing that the

  • courses are divided into sessions,
  • which are themselves divided into time slots,

I arrived at the following class diagram with these relationships. I am not yet interested in the types of relationships or attributes but more in the cardinalities and the classes themselves. I would like to know if my system is coherent so far, i.e. the classes listed and the relationships between them make sense.

enter image description here

Christophe
  • 68,716
  • 7
  • 72
  • 138
MarK
  • 41
  • 5

1 Answers1

1

There are a number of issues here:

  • your Class has only one Schedule with one School_year so the next year you need a new system, I guess.
  • Sessions are divided in "time slots" but there's no such class. Probably it's time_period but there's also only one for a Session.

Your naming should use singular in all cases. Also classes should start with a capital letter as per convention. Dept could be deputy as well as department. Don't shorten names where the meaning gets unclear.

qwerty_so
  • 35,448
  • 8
  • 62
  • 86
  • Thanks you @qwerty_so. I made some adjustments to what you advised me and I came up with the following result. But I have some problems with what you said above. I would like to be able to create timetables according to the class and for each class to have its own personal timetable. Why use a multiple relationship in this case? Some methods of analysis would use a one-to-one relationship to indicate that a class has a schedule. The same question applies to time use and school year. https://imgur.com/a/Dasn5HA this is the link of the edited picture of my class diagram. – MarK Oct 28 '19 at 23:58
  • @MarK: Drop the getters/setters, they are just noise, see https://stackoverflow.com/questions/28139621/shortcut-for-denoting-or-implying-getters-and-setters-in-uml-class-diagrams/28141950#28141950. Better don't use the white diamond (for aggregation), see https://stackoverflow.com/questions/58476608/the-difference-between-aggregation-and-association-in-implementation/58502745#58502745. What are the strange dots at the source and target of the dependency arrow supposed to mean? And what is the dependency supposed to express? – Gerd Wagner Oct 29 '19 at 08:27
  • @GerdWagner I think the dots are asterisks (so noise too). As I mentioned: this is not a place for ping-pong answers. – qwerty_so Oct 29 '19 at 13:17
  • So, what should I do? – MarK Nov 06 '19 at 11:10
  • Follow the above advices/comments or don't. Decide yourself. – qwerty_so Nov 06 '19 at 11:47