图片摘自《 UML @ Classroom》一书。文本显示“注册是通过电子邮件进行的,即异步的”。
实际上,我相信在此过程中不会涉及“学生”和“教授”对象。而是一个接口,一个对邮件服务器的调用,通常,没有什么可以告诉图的查看者实际发生了什么。
这对我来说很有意义,因为它具有说明性的目的。顺序图中类的方法仅在较低级别类似于类图中的方法。
如果我被赋予了特定交互的类图和高级序列图的高级视图,那么当我被问到为什么类图的类没有序列图的任何方法时,我想说的是,他们根本不必这样做吗?
我应该在顺序图上达成妥协,在其中我尝试使调用类似于程序中将要进行的调用吗?
顺序图中类的方法仅在较低级别上类似于类图中的方法。
[不是必需的,全部取决于序列图的目标,您可以在设计级别上具有类(可能允许生成代码),但可以在序列图中提供类以提供语义(高级)级别。您也可以在类/包/ ...图中显示这些类,而无需过多的细节,因此不能在设计级别显示。
唯一的规则是让图表说些有用的东西,并且当然要遵循UML规范。不要忘记UML不是方法而是语言,它并不表示必须使用它。
备注,您可以在图中放置note,以帮助明确地说明其级别/目标,以防您担心它会造成混淆,因为即使使用设计的类部分,也并非100%受限/专用于设计。
如果然后我被问到为什么类图的类没有序列图的任何方法,我是不是说它们根本没有必要?
是的,因为目标不是显示呼叫顺序的必要,而是例如更高级别的。
我应该在顺序图上达成妥协,在其中我尝试使调用类似于程序中将要进行的调用吗?
当然也可以。
请注意顺序图(实际上是一个[[interaction])具有有限的功能,例如,activity可以在没有相同限制的情况下对行为进行详细建模。