我理解序列图如何通过调用彼此的函数和函数调用的时间线跟踪来表示对象之间的交互。如果函数调用恰好是递归的,我不知道如何表示它。
简单地说,我有一个定义了递归函数的类来计算Fibonacci数,给定n
的值作为参数。如何在序列图上显示两个递归调用?
此外,序列图应该是通用的吗?我的意思是,它应该描述 n 的所有值,并且不需要针对 n 的不同值进行调整,对吗?
答案 0 :(得分:1)
以下是递归调用的示例:self message(non recursive) vs self recursive message
还提供了工具支持,例如:http://www.sparxsystems.com/enterprise_architect_user_guide/9.0/standard_uml_models/recursion.html
我想我不会指定递归调用,除非我确定我需要调用是递归的。然后开发人员可以自己决定是实现递归调用还是迭代。 如果我需要递归,提示(使用注释)可能会有所帮助。