实现 UML 序列和 Class 图
Implementing UML Sequence and Class Diagram
我最近遇到了这个问题,我只是想知道我的工作是否正确,如果不正确,我在哪里犯了错误。
我的任务:
a) 官员是临时或永久任命的。教授是公务员,可以任期固定,也可以终身任职。
教授也是教学教授或研究负责人。科研机构的工作人员是公务员或雇员。
教授隶属于科学部长,科学研究所的员工隶属于教授。
科研所的教授和职工都在科研所工作。研究所可以召集教授和工作人员开会。
创建适当的 UML Class 图。
我的回答:
b) 教授可以通知秘书处他或她想约见科研人员。秘书处随后将向所有相关工作人员发送一份拟议任命名单。秘书处一收到所有工作人员的反馈,就会向他们每个人发送最终任命。
创建相应的 UML 序列图。
我的回答:
c) 实现 Java 中 (b) 的过程(方法体就足够了!)。这样做时,请遵守 (a) 中定义的 classes、抽象 classes 和接口。
我的回答:
我试图解决这个问题,但我没有进一步解决,尤其是它是关于用抽象 classes 和接口解决任务。我认为这个子任务可以在没有抽象 classes 和接口的情况下解决,对吗?
科学研究所是否应该抽象实现class?
有人可以给我解释一下吗?
非常感谢:)
Class 图
有一个错误,因为 professor
是 civil-servant
,co-worker
从属于 professor
:在你的叙述中,一位教授是该部的下属,而不是另一位教授。
我从叙述中了解到,在 scientific institute
工作并且 subordinate to
和 professor
的员工只能是 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必须实现它的抽象方法,这样对象才能被实例化。
我最近遇到了这个问题,我只是想知道我的工作是否正确,如果不正确,我在哪里犯了错误。
我的任务:
a) 官员是临时或永久任命的。教授是公务员,可以任期固定,也可以终身任职。 教授也是教学教授或研究负责人。科研机构的工作人员是公务员或雇员。 教授隶属于科学部长,科学研究所的员工隶属于教授。 科研所的教授和职工都在科研所工作。研究所可以召集教授和工作人员开会。
创建适当的 UML Class 图。
我的回答:
b) 教授可以通知秘书处他或她想约见科研人员。秘书处随后将向所有相关工作人员发送一份拟议任命名单。秘书处一收到所有工作人员的反馈,就会向他们每个人发送最终任命。
创建相应的 UML 序列图。
我的回答:
c) 实现 Java 中 (b) 的过程(方法体就足够了!)。这样做时,请遵守 (a) 中定义的 classes、抽象 classes 和接口。
我的回答:
我试图解决这个问题,但我没有进一步解决,尤其是它是关于用抽象 classes 和接口解决任务。我认为这个子任务可以在没有抽象 classes 和接口的情况下解决,对吗?
科学研究所是否应该抽象实现class?
有人可以给我解释一下吗? 非常感谢:)
Class 图
有一个错误,因为 professor
是 civil-servant
,co-worker
从属于 professor
:在你的叙述中,一位教授是该部的下属,而不是另一位教授。
我从叙述中了解到,在 scientific institute
工作并且 subordinate to
和 professor
的员工只能是 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必须实现它的抽象方法,这样对象才能被实例化。