uml - 从高层次来看,期望序列图中的类接口(interface)与类图中的对应接口(interface)类似是不合理的吗?

标签 uml diagram software-design sequence-diagram

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

实际上,我相信,这个过程中不会涉及“学生”和“教授”对象。而是一个接口(interface),对邮件服务器的调用,一般来说,没有什么可以告诉图表的查看者到底发生了什么。

这对我来说很有意义,因为它有一个说明性的目的。序列图中类的方法只会在低级别上类似于类图中的方法。

如果我的任务是查看特定交互的类图和高级序列图的高级 View ,然后如果我被问到为什么类图的类没有序列图的任何方法,我说他们根本不必这样做对吗?

我是否应该与序列图达成妥协,其中我尝试使调用类似于程序中将发生的情况?

enter image description here

最佳答案

The methods of the classes in the sequence diagram would only resemble the methods in a class diagram at a low level.

没有必要,一切都取决于序列图的目标,您可以在设计级别拥有类(可能允许生成代码),但将它们放在提供语义(高)级别的序列图中。您还可以在类/包/...图表中显示这些类,而无需详细说明,因此不在设计级别。

唯一的规则是用图表说明一些有用的内容,当然还要遵循 UML 规范。不要忘记 UML 不是一种方法,而是一种语言,它并不指示必须如何使用它。

请注意,您可以在图表中添加注释,以帮助明确说明其级别/目标,以防您担心它会令人困惑,因为即使使用设计的类部分,也不是 100% 受限/专用于设计.

if I am then asked why the classes of the class diagram don't have any of the methods of the sequence diagram, am I right to say that they simply don't have to?

是的,因为目标不一定是显示调用序列,而是显示更高的级别。

Should I reach a compromise with the sequence diagram wherein I try to make the calls similar to what will be going on in the program?

当然你也可以这样做。

请注意,序列图(因此实际上交互)具有有限的功能,而例如事件允许详细建模行为而没有相同的限制。

关于uml - 从高层次来看,期望序列图中的类接口(interface)与类图中的对应接口(interface)类似是不合理的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62234055/

相关文章:

java - 代码设计: performance vs maintainability

spring - 将可选参数传递给 Spring Data Repository 方法的 @Query

typescript - Enterprise Architect TypeScript 逆向代码工程

javascript - html5 javascript 工作流程图生成器

javascript - d3.js 网络图缩放

graph - 我可以从包含图自动生成欧拉(维恩)图吗

asp.net-mvc - MVC 删除 Get 或 POST 不明确的方法签名

java - UML 中两个类之间的虚线是什么?

uml - 这个文件来自什么 UML 工具?

java - 您如何在 UML(类图)中将集合(arrayList、vector 等)编写为属性?