这个序列的最佳 UML 图是什么?

What is the best UML diagram for this sequence?

我目前正在学校完成我的期末项目。并且即将毕业。我在使用 UML 图时总是遇到困难,而且我正在努力决定应该使用哪一个来描绘我的代码。

我的代码是一个 python 脚本,包含一个按以下方式工作的循环:

I run the script from a terminal -> 
   Terminal listens to two keys (W & Q).  
If Q is pressed the script stops. 
If W is pressed the loop begins in the following order:  
  Raspberry Pi camera takes a picture ->  
  Crop specific portion out of said picture and save it ->  
  Run Text recognition on that picture, which returns a text string and is saved in a variable ->  
  Run Regex to filter out junk characters from text string and create new "clean" text string ->  
  Run GET request to website using clean text string, and get return based on it. ->  
  Print out response from request.

哪个图表是使这个序列简单易懂的最佳选择。我研究了各种图表,例如系统序列图等。但我还没有找到任何对我来说真正有意义的东西。我应该只求助于使用流程图吗?或者有什么东西更适合我使用吗?

您想使用事件驱动流程链 (EPC)。

在这种情况下(没有看到您的代码)我建议使用 'Event-driven process chain' short: (EPC), [德语:(EPK), Ereignisgesteuerte Prozesskette].

UML 大部分时间习惯于显示 'Class-Structures' 而不是 chain/script.

中的过程

EPC 使用逻辑运算符,例如 OR、AND 和 XOR,它们可以表示如下事件:

'Terminal listens to two keys (W & Q)' => XOR -> W ->Q

您可以阅读更多相关信息 here

编辑:

如果您仅限于 UML 图:

在七个行为 UML 图中,您确实应该按照用户 qwerty_so 的建议使用 'UML Activity diagram'。它类似于 EPC,可以描述为 UML 'Flowchart' 变体。

UML 图仅限于六个 'Structural' UML 图 和七个“行为”UML 图:

行为 UML 图

  1. Activity图
  2. 时序图
  3. 用例图
  4. 状态图
  5. 通讯图
  6. 交互概览图
  7. 时序图

您可以阅读有关 Activity 图表的更多信息 here

您可以阅读有关 UML 图类型的更多信息here

如果您处于考试模式,请在此处快速浏览一下。

UML 提供两种 kind of diagrams:显示系统构建方式的结构图(类、组件等),以及显示系统功能的行为图。

显然你需要一个行为图。用例显示用户需求,交互图显示系统组件如何交互,状态图显示内部状态如何与事件相关,activity 图显示控件和对象的流程。

看你的描述,好像是控制流。您对流程图的犹豫往往证实了这一点。所以我的建议是:使用 activity diagram.