总体上期望序列图中类的接口看起来像类图中的对应物是不合理的吗?

问题描述 投票:2回答:1

图片摘自《 UML @ Classroom》一书。文本显示“注册是通过电子邮件进行的,即异步的”。

实际上,我相信在此过程中不会涉及“学生”和“教授”对象。而是一个接口,一个对邮件服务器的调用,通常,没有什么可以告诉图的查看者实际发生了什么。

这对我来说很有意义,因为它具有说明性的目的。顺序图中类的方法仅在较低级别类似于类图中的方法。

如果我被赋予了特定交互的类图和高级序列图的高级视图,那么当我被问到为什么类图的类没有序列图的任何方法时,我想说的是,他们根本不必这样做吗?

我应该在顺序图上达成妥协,在其中我尝试使调用类似于程序中将要进行的调用吗?

enter image description here

uml diagram software-design sequence-diagram
1个回答
2
投票

顺序图中类的方法仅在较低级别上类似于类图中的方法。

[不是必需的,全部取决于序列图的目标,您可以在设计级别上具有类(可能允许生成代码),但可以在序列图中提供类以提供语义(高级)级别。您也可以在类/包/ ...图中显示这些类,而无需过多的细节,因此不能在设计级别显示。

唯一的规则是让图表说些有用的东西,并且当然要遵循UML规范。不要忘记UML不是方法而是语言,它并不表示必须使用它。

备注,您可以在图中放置note,以帮助明确地说明其级别/目标,以防您担心它会造成混淆,因为即使使用设计的类部分,也并非100%受限/专用于设计。

如果然后我被问到为什么类图的类没有序列图的任何方法,我是不是说它们根本没有必要?

是的,因为目标不是显示呼叫顺序的必要,而是例如更高级别的。

我应该在顺序图上达成妥协,在其中我尝试使调用类似于程序中将要进行的调用吗?

当然也可以。

请注意顺序图(实际上是一个[[interaction])具有有限的功能,例如,activity可以在没有相同限制的情况下对行为进行详细建模。

© www.soinside.com 2019 - 2024. All rights reserved.