Problem statement:

The information system of a university must manage information relating to its employees, departments, institutes, courses provided, and research projects.
Information relating to employees includes the normal personal data (name, surname, date of birth, ...).
Employees are divided into researchers, active in a given research field, and administrative staff. An employee may be called upon to head a particular department, which in turn comprises one or multiple institutes. Researchers are part of one or more institutes, and may work a certain number of hours per month in certain research projects. Some researchers are also employed as lecturers of courses provided from the university. The courses are characterized by the name, the total number of hours, and any precedence (mandatory or electives) compared to other courses. You are required to:

  1. Create a Class UML diagram to describe the information system.

My solution:

enter image description here

Is this correct?

1 Answer 1


Your solution is pretty good, I'd say you've covered most of the information right.

One significant discrepancy, at least in the description you've provided there is nothing directly about the relation between Institute and ResearchProject. Instead, it only says that the Researcher participates in ResearchProject. While working as a BA I would simply clarify that with stakeholders, in my opinion based on the description only there should be no Institute <>---- ResearchProject relation, but instead Researcher ------ ResearchProject. Moreover, the number of hours per work is not an attribute of the ResearchProject but the Researcher's assignment to the ResearchProject. You can handle it as an association class (especially in academic solution).

Second small omission is the information of the precedence being mandatory or elective. Again it is the attribute of precedence association, so you should probably consider the association class again.

Anyway, pretty good job!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.