我最近遇到了这个问题,我只是很好奇我的工作是否正确,如果不正确,我在哪里弄错了。
我的任务:
a)官员是临时或永久任命的。教授是可以任期固定或终身的公务员。教授还是教授或研究负责人。科学研究所的雇员是公务员或雇员。教授是科学部长的下属,科学研究所的雇员是教授的下属。科学研究所的教授和雇员都在科学研究所工作。该研究所可以召开与教授和教职员工的会议。
创建适当的UML类图。
我的回答:
b)教授可以通知秘书处,他或她想与科学研究所的工作人员约会。秘书处然后将拟议任命的清单发送给所有有关工作人员。秘书处一旦收到所有工作人员的反馈,就会将最后任命发送给每个工作人员。
创建相应的UML序列图。
我的回答:
c)用Java实现(b)中的过程(方法体就足够了!)。为此,请遵循(a)中定义的类,抽象类和接口。
我的回答:
我试图解决这个问题,但是我没有做进一步的事情,特别是关于使用抽象类和接口解决任务的问题。我认为无需抽象类和接口就可以解决此子任务,对吧?
科学研究所应作为抽象类实施吗?
有人可以向我解释吗?非常感谢:)
[这是一个错误,因为professor
是属于civil-servant
的co-worker
是professor
:在您的叙述中,一位教授是该部的下属,而不是另一位教授的下属。
[从我的叙述中了解到,在scientific institute
工作且subordinate to
为professor
的员工只能是employee
。
在您的图表中,部分叙述消失了:
fulltime_employee
。目前尚不清楚这些与临时雇员和永久雇员的关系。 meeting
与教职员工和教授有关。 在您的图表中,还存在一种在现实世界中不存在的刚性:professor
可能会开始职业生涯,有一天会晋升为director of studies
。还是同一位教授。只是角色发生了变化。在这里,我建议考虑选择composition over inheritance。
对我来说似乎合理,除了:
这本身就是一个复杂的问题。最好将其作为一个单独的问题提出。但是您需要更具体。