Class diagram

Its a class diagram problem. Its a long question and pretty confusing to me. Here is the question:

  1. A university has a name, post address (consisting of post box, zip code and city), visiting address (consisting of street, zip code and city), number of employees, and is organized in institutions and departments.
    -for the highlighted section, does it mean extension(extends)of university to institutions and departments? or class arrays of institutions and departments(i doubt it)?

  2. The departments belong either to the university or an institution. E.g., the personal department belongs directly to the university and the Computer Science department belongs to the School of Mathematics and Systems Engineering, an institution.
    -so the “University” class is inherited by “Institutions” and “Departments”?

3.An employee is a person who has a name, personal number, telephone number and between one and three addresses consisting out of a street, zip code, city and country.
-a class called “Person” with attributes listed above.

  1. One address is the mailing address.
  • well, make a separate class called “MailAddress” linked to “Person”?
  1. It is not allowed to resolve a person upon an address.
  • no idea…
  1. An employee has an employment number, office, phone, email and working hours and works for the university but works in a department.
  • a class “Employee” extends from “Person” class. For the highlighted section, a link (role) from “Employee” to “Department” with suitable multiplicity?

7.Given the employee it shall be possible to derive at any time the university he is working for.

  • does the link from “Employee” to “Department” be sufficient for the above scenario?
  1. An employee can work in one or more roles. A role has a percentage associated which is stating how many percent of the working hours are spend on this role.The sum of the percent of the roles an employee has is always 100%.There are three kinds of roles: university staff being responsible for financial management, administration and maintenance, researchers being responsible for research tasks and teachers being responsible for education tasks.
    -as i know, roles are links between classes. So how do i represent percentage in roles, like multiplicity…doesn’t make sense?

  2. Some employees (e.g., managers or professors) lead their staff (e.g., office clerks or researchers) and are superior to these employees.These subordinate employees are reporting to their superiors.

  • The class “Employee” extends to “HighLevelWorkers” which in turn extends to “Subordinate” class?

I am trying to solve them on my own but any help would be highly appreciated.
Thank you !!

[quote=hedonist]1. A university has a name, post address (consisting of post box, zip code and city), visiting address (consisting of street, zip code and city), number of employees, and is organized in institutions and departments.
-for the highlighted section, does it mean extension(extends)of university to institutions and departments? or class arrays of institutions and departments(i doubt it)?[/quote]
I believe the highlight is suggesting that a university is composed of institutions and departments. Extension would imply that an institution is also a university and that a department is also a university, which wouldn’t make sense.

[quote=hedonist]2. The departments belong either to the university or an institution. E.g., the personal department belongs directly to the university and the Computer Science department belongs to the School of Mathematics and Systems Engineering, an institution.
-so the “University” class is inherited by “Institutions” and “Departments”?[/quote]
No, this question is very similar to the first one; it’s just describing the relationships a bit further.

[quote=hedonist]3.An employee is a person who has a name, personal number, telephone number and between one and three addresses consisting out of a street, zip code, city and country.
-a class called “Person” with attributes listed above.[/quote]
What is the relation between person and address?

[quote=hedonist]4. One address is the mailing address.

  • well, make a separate class called “MailAddress” linked to “Person”?[/quote]
    What would you do with the other addresses?

[quote=hedonist]5. It is not allowed to resolve a person upon an address.

  • no idea…[/quote]
    Given an address, you cannot lookup a person.

[quote=hedonist]6. An employee has an employment number, office, phone, email and working hours and works for the university but works in a department.

  • a class “Employee” extends from “Person” class. For the highlighted section, a link (role) from “Employee” to “Department” with suitable multiplicity? [/quote]
    Extension makes sense. What multiplicity were you thinking of using? Does it make sense?

[quote=hedonist]7.Given the employee it shall be possible to derive at any time the university he is working for.

  • does the link from “Employee” to “Department” be sufficient for the above scenario?[/quote]
    It may if the department is aware of what university it is associated with.

[quote=hedonist]8. An employee can work in one or more roles. A role has a percentage associated which is stating how many percent of the working hours are spend on this role.The sum of the percent of the roles an employee has is always 100%.There are three kinds of roles: university staff being responsible for financial management, administration and maintenance, researchers being responsible for research tasks and teachers being responsible for education tasks.
-as i know, roles are links between classes. So how do i represent percentage in roles, like multiplicity…doesn’t make sense?[/quote]
Right, you wouldn’t use multiplicity because it doesn’t make sense. Consider using the associations themselves here. You may need to use a constraining language (like OCL) to specify the valid summation of percentages.

[quote=hedonist]9. Some employees (e.g., managers or professors) lead their staff (e.g., office clerks or researchers) and are superior to these employees.These subordinate employees are reporting to their superiors.

  • The class “Employee” extends to “HighLevelWorkers” which in turn extends to “Subordinate” class?[/quote]
    What is the relationship between these two classes? Do you believe you need to create additional classes to illustrate this relationship between employees?[/quote]

Hope that helps.