我希望你能告诉我从开发人员的角度来看 BPMN 的优点和缺点是什么。
我将 UML 与 BPMN 进行比较,发现 UML 有很多优点和缺点,但 BPMN 没有。
这在很大程度上取决于受众和目的。在建模语言方面,BPMN 和 UML 活动图涵盖了几乎相同的概念空间,但符号不同。符号的东西很快就变得宗教化了。我个人更喜欢 AD 表示法而不是 BPMN——但这是一件非常私人的事情。
从广义上讲,BPMN 倾向于受到那些来自业务流程建模/业务分析背景的人的青睐。UML AD 往往受到那些从软件角度来看的人的青睐。工具支持往往反映了这一点:高端流程建模工具(casewise、aris 等)更有可能支持 BPMN;软件建模工具(MagicDraw、Sparx 等)偏爱 UML。然而,那里的交叉点越来越多。我已经与业务利益相关者一起使用了这两种方法,在任何一种情况下都没有问题。
最后是目的。您的图表是仅供人类使用还是用作某种形式的分析/代码生成的规范?如果不仅仅是图片,那么您的工具链很可能是决定因素。
如果您想更详细地描述差异,请查看此论坛帖子中的答案。
OMG 讨论了一个新的 BPMN Profile。即使使用活动或状态图,UML 也可以轻松生成代码。您只需要在模型中添加构造型,然后解析器将获取 xmi 并创建代码。OMG 规范将定义应该使用哪些构造型以及为什么。真的是一个非常好的主意!
在我的公司,我们已经停止使用 BPMN,只关注更准确的活动图,因为它建立在标准语言之上。还拥有类图、用例图和活动图可以更快地建模。我们从活动或状态图中获得运行代码。我们使用类图进行调试。我们对所有图表使用相同的元模型,因此可以通过类图跟踪活动到代码实现。我的意思是代码一旦生成就会被反转,然后我们检查所有需求和架构,以获得更好的对象架构。一切正常:-)
我们现在正在等待新的配置文件规范,并将实现所需的构造型以涵盖 BPMN。我对您的问题的回答是,我们不再需要 BPMN,应该继续使用 UML 2.3 BPMN 配置文件实现。
BPMN 是用于建模业务流程的,不是吗?这不完全是 UML 的用途。UML 的目标是从不同的视图对软件进行建模,最终不必对其进行编码(是的,这很理想)。
从业务角度来看,BPMN 的主要论据通常是:
主要缺点是
请参阅 OMG(模型驱动架构)上的 MDA: - 我们仅将 BPMN 用于计算独立模型 (CIM) - 我们仅将 UML 用于平台独立模型(PIM,高级设计)和平台特定模型(PSM,低级设计) . - 将 BPMN 用于任何“软件系统”或将 UML 用于“业务”是没有意义的(参见 UML v.2.5) - 对于开发人员:我们可以从 BPMN 业务流程过渡到用例,它是定义需求范围的好工具对于软件https://www.visual-paradigm.com/tutorials/from-business-process-to-use-cases.jsp