【问题标题】:how to use Sub-processes in Activity Diagram / UML for APP如何在 Activity Diagram / UML for APP 中使用子流程
【发布时间】:2021-07-19 04:27:35
【问题描述】:

我目前正在制作一个活动图来表示验证过程。 整个流程分为几个子流程。

子流程 1: 流程从检查注册表中信息的完整性开始。如果缺少任何信息,客户将返回新条目。

如果信息齐全,则同时启动并执行三个部分子流程。

子流程 2: 检查是否已同意 GTC。这是直接在系统中完成的 测试注册表中对应的字段是否被打勾。

子流程 3: 通过向客户指定的银行发送请求来检查银行详细信息。 随后,最长也要等待2周的银行回复。 银行信息是否正确的结果。这里也可能发生事件:Timeout 和 Abort,并以否定结果结束进程。

子流程 4: 身份验证的 Post 流程通过生成验证码并通过电子邮件发送给客户来启动。 发送后,子进程等待三个事件之一发生: 客户有 2 周的时间填写表格并通过在邮局出示身份证件或通过与邮局的视频来证明其身份。然后,邮局将向总部发送回复,并附上验证结果(pos./neg.)。超时:如果总部在 2 周内没有收到邮局的回复,则流程终止,结果为否定。 Break:也会导致否定结果。

当所有子过程都积极完成时,整个过程就积极完成了。 如果一个子进程是否定的,则可能正在等待的其他子进程通过执行一个动作中止:“中止等待进程”。然后这些流程通过 Abort 路径离开它们的可中断区域。然后客户会收到有关验证否定结果的通知,整个流程以否定结果结束。

这是我的活动图:

我的问题是:

  1. 该模型适用于多个终止选项。无论是在邮局还是在银行,您都有 2 周的时间做出反应,只有当两者都可用加上一般条款和条件时,身份检查才完成。如何证明所有流程都必须在您到达最终状态之前完成?

  2. 哪个流程(1-4)看起来不错,哪个不合适?

【问题讨论】:

  • 这有很多缺陷,作为导师我会完全拒绝它:-/也许你可以想出一个问题内容归结为你的实际问题。
  • 如何证明所有流程都必须完成才能达到最终状态?
  • 您还发现了哪些其他错误?如果我不知道自己做错了什么,就无法改进。
  • 哪个进程(1-4)看起来不错,哪个不?
  • 您可以将其归结为:我有 2 个并行进程,它们都需要在继续之前完成。这可以通过使用叉子来回答。

标签: subprocess uml activity-diagram


【解决方案1】:

我简化了流程以简化它。但基本上我会想出这个:

如果 Register 和两个 Check 动作完成,它将运行到 ActivityFinal。如果由于某种原因两周过去了,并非所有人都完成了计时器,则会触发并继续执行取消操作。

这与您的没有太大区别,只是注册可能需要很长时间。从业务的角度来看,我会关注这一点并与利益相关者讨论。但是,如果他们坚持不这样做,那么该操作可能会移到该区域之外,并且只有两个检查会导致过早取消。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    相关资源
    最近更新 更多