Read this post in: de_DEen_USes_ESfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_TW

连接业务流程与软件需求:基于Visual Paradigm的BPMN到用例转换案例研究

引言

在当今快速发展的数字环境中,组织面临着一个持续的挑战:确保软件开发工作始终与实际业务运营紧密对齐。很多时候,需求获取与业务流程建模相互脱节,导致系统无法解决现实中的工作流程,也无法为最终用户带来预期价值。本案例研究探讨了一种经过验证的方法,通过使用Visual Paradigm的集成建模环境,将业务流程模型与符号(BPMN)图转换为UML用例模型,从而弥合这一差距。

通过一个涉及纯净水配送公司的实际案例,我们展示了业务分析师与系统设计人员如何协作,直接从经过验证的业务流程中提取有意义的软件需求。该方法利用Visual Paradigm的模型转换器功能,在业务任务与系统用例之间建立可追溯性链接,确保每个软件功能都服务于有文档记录的业务目的。无论您是希望更有效地传达需求的业务分析师,还是致力于构建真正契合运营需求的解决方案的系统架构师,本案例研究都为业务流程建模与软件需求工程的对齐提供了切实可行的见解。

Bridging Business Processes to Software Requirements: BPMN-to-Use Case Transition

理解基础:BPMN与用例图

什么是BPMN和BPD?

BPMN为业务分析师提供了一套用于建模业务流程的图形化符号。它最初由业务流程管理倡议(BPMI)开发,现由对象管理组(OMG)维护。开发BPMN的一个动机是为不同角色、不同国家,或使用不同语言的人提供一种通用的图形化语言,使他们能够无障碍地理解同一业务流程。

BPD是业务流程图的缩写,指使用BPMN对业务流程进行建模的图形。它是一种类似流程图的图表,用于展示流程走向、参与方以及参与者之间的消息交换。业务分析师绘制BPD来建模不同参与方如何协作以实现业务目标。在将完成的业务模型与最终用户进行验证后,系统分析师便可开始规划系统。

以下是某组织注册流程的简单BPD。它涵盖了您通常会看到的大多数典型建模符号。让我们来看一看。

BPD sample

符号 描述
BPMN pool 泳道——表示流程中的一个参与者。在BPMN中,泳道和车道都用于表示参与者。车道包含在泳道内,用于建模父泳道的子分区。
BPMN start event 开始事件——表示流程的开始。可以定义触发条件,以告知读者在何种情况下流程将被触发。例如,当收到邮件时、当是周一早上时,或当发生错误时。
BPMN task 任务——由指定参与者(由泳道/车道建模)可能执行的原子活动。任务与其他流程对象连接,形成完整的业务工作流。
BPMN end event 结束事件——表示流程的结束。可以定义结果,以告知读者流程结束时会发生什么。例如,发出信号,或产生错误。

什么是用例图?

用例建模指的是使用UML用例图来捕捉高层次用户需求的技术。用例模型专为软件或系统设计人员设计,而非业务人员。

06-use-case-diagram-sample

用例图中有三个主要元素。

符号 描述
UML use case 用例——每个用例代表一个用户目标,即系统用户希望实现的目标。请注意,用例仅用于展示用户想要执行的操作,而非开发者需要开发的内容,尽管在某些情况下两者可能相同。如果您希望记录或建模用例中涉及的功能,可以使用事件流工具,或通过顺序图/活动图请记住,用例建模的目标是描述用户希望实现的内容。
UML actor 参与者——系统的使用者。这里的‘用户’不仅限于人类,也可以是与我们的系统交互以实现特定业务目标的其他系统。
UML communication link 通信链接/关联——连接参与者与用例,表示参与者对系统的访问。每个通信链接都意味着参与者与系统之间的一系列交互事务。

从业务流程过渡到系统需求

战略关联

尽管BPD和用例图不一定需要相互依赖,但它们可以以互补的方式相关联。通常,我们开发软件是为了自动化或优化某些业务流程的工作流。通过BPD,你可以了解参与者如何协作以及谁对什么负责,这有助于我们识别用户需要系统支持的功能。用户希望实现的系统功能(工作流或业务流程)可以通过用例进行建模,然后由团队进行开发。因此,我们可以说,BPD有助于你识别正在开发的系统中的用例。

Visual Paradigm是一款可视化建模工具,它通过其模型转换功能,在两个模型之间建立可追溯性链接,从而支持从业务流程建模过渡到用例建模(从业务需求到应用需求)。我们需要这种可追溯性,原因如下:

  • 通过研究用例所涉及的流程部分,我们可以确保系统符合现实世界中的使用场景。

  • 通过追溯用例所源自的流程部分,回答诸如“我们为什么需要这个(系统)功能?”之类的问题。

  • 通过从BPD追溯到用例图,回答诸如“某个特定操作是否已经实现?”之类的问题。

关键区别:BPD与用例图

有些人可能认为用例图与BPD相似,但实际上它们在符号表示和目的上存在很大差异。请记住,BPMN是为业务人员设计的,而用例图则是为系统分析师或系统开发人员设计的。它们服务于不同的目的,并从两个不同的视角看待业务。这就是为什么在上一节中我总结BPD与用例图之间的关系时说“BPD有助于你识别用例”。BPD在识别用例时只能提供一些提示。并没有规定BPD中的每一个任务都等同于一个用例。然而,我们可以通过用例来详细描述一个业务流程,以实现目标系统对某个功能的自动化。

案例研究:真水纯净水公司

业务背景与流程描述

真水纯净水公司是一家城市中的新兴纯净水供应商。他们向企业和家庭销售纯净水。以下是其水配送流程的文字描述。

订购纯净水时,客户可以通过拨打订购热线或发送电子邮件完成。目前,90%的订单来自电话,10%通过电子邮件下单。接收订单的客服助理会检查客户是现有客户还是新客户。如果客户从未订购过,客服助理将在安排送水前为其创建客户账户。
纯净水的配送每周一次,安排在每周三进行。因此,每周三早上,客服助理会将订单转发给物流部门进行配送。一旦物流部门的经理收到订单,他将通过为不同订单分配工作人员、打印并张贴配送计划来安排配送。工作人员接到通知后,会按计划向客户送水。

基于上述描述,已经创建了一个业务流程模型。现在,你需要开发一个计算机系统来优化整个流程。你需要做的第一件事是开发一个用例模型。在BPD的帮助下,尝试绘制用例图。

逐步过渡流程

  1. 下载纯净水配送.vpp。你也可以在本教程的底部找到该文件。

  2. 在Visual Paradigm中打开下载的.vpp文件。要打开一个项目,请选择项目 > 打开从应用程序工具栏中选择。

  3. 打开BPD纯净水订购流程。仔细研究流程。

    BPD sample

  4. 流程始于客户下单。此时我们可以考虑一个用例——下单。该用例将通过为客户提供一个无需客服助理协助即可下单的界面,帮助验证客户身份,并在客户不存在时创建账户,从而实现流程的自动化。右键单击下单并选择相关元素 > 转移至新用例…从弹出菜单中选择。

    Create use case from task

  5. 这会提示出现转移模型元素窗口,在这里您可以选择要放置用例和参与者的目标模型,并对其进行重命名。在这种情况下,我们对用例和参与者的名称都满意。让我们保持不变。点击确定.

    Transit model element
    这将在UeXceler中生成一个新的用例图。
    Use case diagram formed

  6. 返回到BPD。

  7. 让我们考虑一下任务创建客户账户。在业务流程中,客户服务助理需要为每位新客户创建账户。在新系统中,这可以是“下单”用例的一部分,也可以是由客户服务助理手动触发的独立用例。在现实情况中,您应该与利益相关者澄清此类疑问,因为错误的用例模型会导致开发出不符合用户期望的功能。在这个示例中,我们假设用户希望“创建客户账户”任务由客户服务助理完成。让我们从该任务创建一个用例。右键单击下单用例,或者是由客户服务助理手动触发的独立用例。在现实情况中,您应该与利益相关者澄清此类疑问,因为错误的用例模型会导致开发出不符合用户期望的功能。在这个示例中,我们假设用户希望“创建客户账户”任务由客户服务助理完成。让我们从该任务创建一个用例。右键单击创建客户账户并选择相关元素 > 转移至新用例…从弹出菜单中选择。

    Create use case from task

  8. 再次,我们对用例和参与者的名称都满意。请保持“转移模型元素”窗口中的所有内容不变。点击确定”。用例图已更新,新增了一个用例和参与者。让我们看一下。

    New use cases created

  9. 返回到BPD。我们继续看子流程安排配送。物流部门的经理可以使用系统进行调度,并通知工人配送水。因此,这也是系统的用例之一。右键单击子流程安排送货并选择相关元素 > 转移到新用例…从弹出菜单中选择。

  10. 在 中勾选参与者“经理”转移模型元素窗口。如果我们保持参与者的名称为经理,这在用例模型中是模糊的,因为公司中可能有许多部门,每个部门都有不同的经理。因此,将参与者重命名为物流部门经理.

    24-rename-actor

  11. 点击确定。用例图已更新。

    Use case diagram updated

  12. 返回BPD。最后一个任务送货是一个只能由人类完成且与系统交互无关的任务。因此,我们不需要为此创建用例。

  13. 假设区域经理希望系统支持一个新功能,可以生成报告以显示订单的统计数据。该功能可以帮助他审查和优化营销策略。尽管该功能在业务流程模型中尚未建模,但我们可以直接在用例图中绘制。打开用例图。绘制一个参与者区域经理。从该参与者创建一个用例生成统计报告,两者之间建立关联。

    Use case diagram updated

  14. 假设客户希望允许客户查看账单并取消订单。此外,客户还希望允许物流部门经理打印物流报告。分别绘制这些用例。

    Use case diagram updated

  15. 整理图表。

    Complete use case diagram

  16. 转换关系使您能够从用例模型追溯到业务流程模型(反之亦然)。我们来试试。将鼠标指针放在下单用例上。

    Mouse over use case

  17. 点击形状右下角的模型转换器资源。选择从 > 蒸馏水订购流程 < 转换。下单从弹出菜单中选择。

    Open task from use case
    这将打开带有该任务的业务流程图(BPD)下单已选中。
    Task selected

结论

本案例研究证明,从BPMN业务流程模型转向UML用例图不仅仅是一项技术操作——它是一种战略性方法,确保软件解决方案能够真正创造业务价值。通过使用Visual Paradigm的模型转换功能,团队可以在业务活动与系统需求之间建立清晰的可追溯性,促进业务利益相关者与开发团队之间的共同理解。

True Aqua蒸馏水公司的案例展示了几个关键原则:并非每个业务任务都需要对应一个用例;在将流程映射到系统功能时,利益相关者的澄清至关重要;即使原始业务流程中不存在,新需求也可以直接添加到用例模型中。最重要的是,该工具提供的双向可追溯性使团队能够在整个项目生命周期中回答关于需求合理性与实现状态的根本性问题。

采用此方法论的组织可期待减少需求的模糊性,提升利益相关者的一致性,并构建更准确反映实际运营情况的软件系统。随着业务流程的持续演进,保持这种可追溯性可确保系统改进始终基于经过验证的业务需求,而非推测性的功能请求。现代建模工具中集成的AI功能进一步加速了这一转变,使团队能够专注于战略分析,而非手动绘图任务。


参考文献

  1. 人工智能驱动的自然语言处理如何革新企业流程建模中的文本到BPMN生成: 探讨自然语言处理如何将文本化的业务描述转化为符合规范的BPMN模型,用于企业工作流文档编制。
  2. 使用Visual Paradigm的人工智能工具掌握BPMN 2.0业务流程建模: 对AI增强的BPMN建模能力进行全面综述,用于创建可执行的业务流程规范。
  3. 用例到活动图功能: 详细说明将高层次用例自动扩展为详细活动图的流程,用于实施规划。
  4. AI BPMN业务流程图生成器更新: 发布说明,涵盖将叙述性流程描述转换为结构化BPMN图的增强AI功能。
  5. BPMN图与工具功能: Visual Paradigm中BPMN 2.0建模工具、符号支持及协作功能的官方文档。
  6. 对话式流程重构演示: 视频演示如何使用AI聊天机器人命令,通过自然语言指令动态修改BPMN图。
  7. AI业务流程优化工具发布: 宣布基于流程指标提出优化机会的智能工作流分析功能。
  8. BPMN图与工具功能: 高级BPMN功能参考指南,包括子流程分解和可执行模型生成。
  9. AI用例图优化工具: 基于网页的AI工具,可自动为基本用例模型添加正确的include/extend关系和异常处理。
  10. 使用Visual Paradigm AI生态系统进行用例建模的全面指南: 第三方对AI辅助技术在需求获取和用例规范中的应用分析。
  11. 从业务流程到用例教程(PDF): 可下载的逐步指南,用于将BPMN模型转换为带有可追溯性的UML用例图。
  12. 自动边界生成演示: 视频教程,展示如何利用AI从项目范围说明中自动生成系统边界、参与者和核心用例。
  13. 智能关系优化演示: AI分析的演示,可识别并建议用例之间的适当包含/扩展关系。
  14. AI用例图优化工具功能: 产品页面详细介绍了用例关系的自动化分析与优化功能。
  15. 下游工作流生成演示: 视频展示如何从已验证的用例规范中自动生成活动图和顺序图。
  16. Visual Paradigm在TheirStack上的应用: 企业环境中Visual Paradigm建模工具的技术概况与采用洞察。
  17. AI用例图报告生成器功能: 将PlantUML脚本和用例模型转换为专业利益相关者文档的工具。
  18. 事件流扩展点文档: 技术参考,用于记录包含前置条件、后置条件和备选流程的详细用例场景。
  19. AI驱动的用例建模工作室发布: 发布公告,介绍用例建模中集成的AI功能,包括自然语言需求解析。