如何将BPMN和用例及其他图一起使用

时间:2012-01-25 19:07:45

标签: uml agile use-case bpmn

BPMN(业务流程建模符号)用于通过可视化对业务流程进行建模,从而通过BPMN图的表达使无形的想法变得具体。问题是,如何使用UML组织BPMN

最初,我想到了两种组织用例和业务流程图的方法:

  • 1对1 /多个:通过映射业务流程图中的每个步骤(step表示BPMN数据库中的每个节点),包含一个或多个用例。每个用例都映射到相关的几个类图/组件图(我更喜欢这个,因为您可以将一组类封装到一个具有输入和输出的组件中),几个序列图(可选)。在获得类图/序列图后,将根据模型编写/生成代码。

  • 多对一:通过将多个步骤映射到一个用例。后续步骤是相同的​​。

  • 多对多:例如,业务流程中的一个步骤可以使用两个或更多用例进行映射,并且可以使用其他步骤映射相同的两个或更多用例

上述方法可以通过建模工具完成,在我的例子中,我使用Sparx System的Enterprise Architect。我最近发现它,我正在使用它的试用版,但我将来会买它。我可以通过BPMN图的一个步骤组织许多用例图,并可以单击查看必要的用例。但是,如果它支持很多甚至很多的话,我就不会这样做。

在考虑了我自己组织BPMN和用例的方法之后,我搜索了互联网,发现了另外两篇论文,每篇论文都提出了以下方法:

  • 将每个用例转换为BPMN图的每个步骤:可视化精炼用例如何适合业务流程。我喜欢这种方法,因为可以对具有步骤的业务流程进行建模,然后将每个步骤转换为用例。一步就是一个用例。这与我上面的一对一映射相同。原始演示文稿位于:Visualizing Use Case Sets as BPMN Processes Use case - BPMN mapping

  • 每个用例都是一个业务流程:用例中的每个步骤都是业务流程的每一步。原始文件在这里:Describing Business Processes with Use Cases Use case is a process

在我看来,没有标准化的方法将这些工件(BPMN和用例和其他数据库)粘合在一起。也许这是一个管理问题,更多地依赖于创意使用而不是遵循正式的步骤。 您对软件工程过程中这些图表的使用有何看法/经验?

我知道像XP这样的方法,它指明了自己在软件开发过程中的实践。但是,与Scrum不同的是,它更侧重于管理方面(这意味着您仍然可以将BPMN / UML建模应用到您的工作流程中),XP指定了软件实践并要求您遵循并消除BPMN / UML等建模过程,以及如果不能正确应用它的做法将导致文档下的问题,包含不充分的软件设计......

我更喜欢模型驱动的方式而不是XP。我想这取决于公司和人的偏好。敏捷目标之一是“从文档工作中解放开发人员”。像XP这样的方法似乎很容易导致文档化。我认为要实现这一目标,解决方案是实施该工具以帮助开发人员减少编写文档的工作量,而不是通过编写更少的文档,从现有图表中收集信息并自动生成报告(在RTF,PDF,HTML中) Sparx系统企业架构师。另一个例子是,人们经常抱怨绘制图表消耗他们的时间。在我看来,解决方案不是绘制图表,而是使用工具。今天的建模工具支持往返工程,您可以在其中同步代码和图表,从而消除了在代码库更改时手动更正图表的额外工作(特别是类图)。 您对此问题的看法/经验是什么?

3 个答案:

答案 0 :(得分:1)

Usecase应该是面向目标的任务,它们不是单一步骤。第一个例子是standard way to utilise usecases的明确变化。我建议将每个用例映射到一个业务流程。这个Sparx EA示例映射usecase onto activities 图,但确实揭示了使用方法。

答案 1 :(得分:0)

我的2美分

我的建议是使用这些工具来了解业务流程。我按照下面的

  • 最终用户观点:用户故事
  • 业务分析师视角:用例(包含主流和备用流)和示例规范
  • BPMN:可执行业务流程

当你开始寻找所有这些的完美结合时,你将迷失在细节中。 ; - )

答案 2 :(得分:-1)

我建议采用这种方法:https://www.academia.edu/6750935/From_Business_Process_Models_to_Use_Case_Models_A_systematic_approach

一般来说,一个流程映射到多个用例,只有在特定情况下,这种关系才会一对一。