如何在活动图中显示循环?

her*_*ing 28 uml

如何在活动图中显示循环?这是我的情况:

对于每个文件夹,我检查每个文档,对于每个文档,我检查它的内容,如果它是无效的(基于关键字搜索),请执行操作X并传递给下一个文档.验证所有文档后传递到下一个文件夹.

Ist*_*ter 41

您可以使用3种不同的符号.

由于循环基于某些元素(文件夹,文档),最方便的方法是使用扩展区域(迭代类型). 扩展区域示例

第二个选项,当你有一些基于防护的循环时,这是一个首选的选择是循环节点. 循环节点示例

最后一种可能性是简单地构建正确结构的决策/合并结构. 决策/合并示例

前两个的好处是它们紧凑而清晰.嵌套循环也很容易.对于最后一个选项,这两者都不是这样.然而,如果您将图表呈现给不熟悉UML的人(特别是如果您没有机会解释特定结构的含义),最后的方法通常会得到最广泛的认可和理解.

  • 对于第二张图-当流进入节点时,安装区域将运行一次。测试区域在主体运行后的每次迭代中运行,并且如果返回false,则退出循环节点,而如果返回true,则运行主体区域。没有明确的规定,如果安装系统应首先运行测试或正文。我也看到了图中的测试部分只是一个布尔表达式的图。规范没有指定确切的方法,也没有提供示例,至少在规范的相关部分中没有提供示例。 (2认同)