好吧,我正在处理序列图,当我发现某个函数可能是用户可能做的完整过程的独立函数时,我感到困惑,它可能是一个更大的过程的子过程,如
第一个过程:“historyClassRegistration(studentId)”
第二个过程:“allClassesRegistration(studentId)”
学生只能注册历史课
他也可以在里面注册包含“historyClassRegistration”流程的所有类
问题是:
我应该单独使用它的子流程绘制“historyClassRegistration”流程,并使用“allClassesRegistration”中的子流程重新绘制它,或者我该怎么办?
答案 0 :(得分:1)
我认为这可能取决于序列图试图证明的用例 它还取决于系统的结构。
如果我控制了设计,第一次操作可能就不存在了。注册的类的类型似乎应该是一个参数,除非注册类的过程在类之间完全不同。
如果你的图表是为了显示一个学生注册所有课程,那么就会有一个student.registerForClass(class)
操作的循环。
如果您的图表是为了显示allClassesRegistration(studentId)
操作的内部执行,那么您可能会显示一个图表,其中包含classRegister.register(studentID, Class)
之类的循环。
如果要专门显示注册历史课程的学生,那么实际上就是使用student.registerForClass(class)
调用class = history
的情况。然后,您可以更详细地显示学生注册的对象会发生什么。