序列图子功能

时间:2012-02-25 04:35:28

标签: uml sequence-diagram

好吧,我正在处理序列图,当我发现某个函数可能是用户可能做的完整过程的独立函数时,我感到困惑,它可能是一个更大的过程的子过程,如

第一个过程:“historyClassRegistration(studentId)”
第二个过程:“allClassesRegistration(studentId)”

学生只能注册历史课 他也可以在里面注册包含“historyClassRegistration”流程的所有类

问题是:
我应该单独使用它的子流程绘制“historyClassRegistration”流程,并使用“allClassesRegistration”中的子流程重新绘制它,或者我该怎么办?

1 个答案:

答案 0 :(得分:1)

我认为这可能取决于序列图试图证明的用例 它还取决于系统的结构。

如果我控制了设计,第一次操作可能就不存在了。注册的类的类型似乎应该是一个参数,除非注册类的过程在类之间完全不同。

如果你的图表是为了显示一个学生注册所有课程,那么就会有一个student.registerForClass(class)操作的循环。

如果您的图表是为了显示allClassesRegistration(studentId)操作的内部执行,那么您可能会显示一个图表,其中包含classRegister.register(studentID, Class)之类的循环。

如果要专门显示注册历史课程的学生,那么实际上就是使用student.registerForClass(class)调用class = history的情况。然后,您可以更详细地显示学生注册的对象会发生什么。