实现 UML 序列和 Class 图

Implementing UML Sequence and Class Diagram

我最近遇到了这个问题,我只是想知道我的工作是否正确,如果不正确,我在哪里犯了错误。

我的任务:

a) 官员是临时或永久任命的。教授是公务员,可以任期固定,也可以终身任职。 教授也是教学教授或研究负责人。科研机构的工作人员是公务员或雇员。 教授隶属于科学部长,科学研究所的员工隶属于教授。 科研所的教授和职工都在科研所工作。研究所可以召集教授和工作人员开会。

创建适当的 UML Class 图。

我的回答:


b) 教授可以通知秘书处他或她想约见科研人员。秘书处随后将向所有相关工作人员发送一份拟议任命名单。秘书处一收到所有工作人员的反馈,就会向他们每个人发送最终任命。

创建相应的 UML 序列图。

我的回答:

c) 实现 Java 中 (b) 的过程(方法体就足够了!)。这样做时,请遵守 (a) 中定义的 classes、抽象 classes 和接口。

我的回答:

我试图解决这个问题,但我没有进一步解决,尤其是它是关于用抽象 classes 和接口解决任务。我认为这个子任务可以在没有抽象 classes 和接口的情况下解决,对吗?

科学研究所是否应该抽象实现class?

有人可以给我解释一下吗? 非常感谢:)

Class 图

有一个错误,因为 professorcivil-servantco-worker 从属于 professor:在你的叙述中,一位教授是该部的下属,而不是另一位教授。

我从叙述中了解到,在 scientific institute 工作并且 subordinate toprofessor 的员工只能是 employee

在你的图表中,部分叙述消失了:

  • 只有fulltime_employee。目前尚不清楚这些与临时和永久雇员有何关系。
  • 没有 meeting 与工作人员和教授有关。
  • 工作人员在哪里?

在你的图表中还有现实世界中不存在的刚性:一个professor可能开始职业生涯并有一天晋升为director of studies。还是同一个教授。只是角色变了。这里我建议考虑preferring composition over inheritance

序列

对我来说似乎是合理的,除了:

  • 你真的应该把单独的 execution activity 显示为单独的:秘书处发送 activity 然后就结束了。 Aoother activity 在收到反馈时启动。在某些情况下(收到最后的反馈),它后面是另一个不同的 activity 来发送最终确认。
  • 你应该注意箭头。大多数请求是 asynchronous 并且有一个空心箭头。
  • send final发送给staff的时候是正常的异步消息(plain line, open head),但是给professor的是answer(这里可以保留虚线。

实施

这本身就是一个复杂的问题。最好将此作为一个单独的问题提出。但你需要更具体。

提示:一个抽象class,是一个不能被实例化的class:class继承它的es必须实现它的抽象方法,这样对象才能被实例化。