【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

BPM 不是软件工程

  • 2009-01-30
  • 本文字数:1853 字

    阅读完需:约 6 分钟

Keith Swenson 在其发布于 BPM.com 的新文章的开头这样写道:

BPM 社区中的大多混淆和困难都是由于某些人认为BPM 是软件工程的一种而造成的。的确,从外表看它非常象软件工程:由需求开始,然后确定需要在变量中保存和检索的信息,接着可能要画出它们之间的关系,最后就是把成品在联网的计算机上安装和执行。但是,它们之间存在区别,而这个区别就是 BPM 之所以存在的原因。

根据 Keith 的说法,软件工程在其 50 多年的历史中已经取得了极大的进步,包括结构化和面向对象编程、复杂的建模语言(UML)和大量在开发过程每个阶段发挥作用的工具。结果,软件工程师会将“业务流程管理”视为另一项将图转换为可执行程序的简单活动:

当我们手握锤子的时候,我们会开始把所有围绕在我们周围的问题都看作是钉子……业务流程步骤被解释成和程序步骤完全类似。软件工程师几乎靠条件反射就能将高级别功能翻译成低级别的函数序列,然后借助控制流等将其翻译成某种最终可转换成机器语言、执行就绪的东西。我猜想很多人都有这样的感觉:BPM 纯粹是大量的市场炒作,其核心不过是软件工程世界中很平常的东西。这到底有什么了不起?

Keith 试图通过区分业务流程和典型的程序来定义软件工程和 BPM 的区别:

“业务流程”不是程序。支撑它的虽然可能是程序,但是业务流程是组织想要完成的事情。你可以说业务流程是程序的目标,而不是程序本身。业务流程由业务人员管理:这个人他理解“业务”,决定完成业务的策略,评估业务的健康状况,决定如何变更业务以满足不断变化的条件。软件工程师管理软件,而业务人员则管理业务流程。

他接着概述了 BPM 解决方案和一般程序的主要区别:

  • 业务人员所画的图就是被执行的那张图。它不会为了软件工程师的方便而转换成其他形式。它不会为了执行而转换成其他形式……这种转换是出于优化执行的目的,尤其是在处理能力有限的机器上。某些业务流程仍将需要这种转换,但是绝大多数的业务流程将不会受限于 CPU 的性能。
  • 历史和分析报表需要匹配原始图表,以支持业务用户能评估组织的执行状况,它不是为了让程序员能分辨程序的运行状况。
  • 在软件系统中,用户很少需要知道程序的内部结构,但是从这个角度来说,业务流程不是程序。流程本身必须是可见的,即便有程序支撑它执行也是如此。参与流程的人必须能了解当前步骤、后续步骤和最终步骤。这是 BPM 和软件工程的最大区别。

根据 Keith 的说法,混淆和误解的一个最大来源是由于 BPM 设计和开发大都是由软件工程师完成的:

遗憾的是,很多研究 BPM 系统的人大都具有软件工程的背景,并下意识地认为 BPM 应该具有某种标准软件的特性。软件工程师将系统视为一种发送、接收和转变信息的手段,他们受训将业务问题归纳为可以按这些方法来执行的某种事物。业务人员不会把焦点放在字节的发送和接收上,相反他们更看重职责和承诺。这是看待业务流程的不同方法。这种区别的效果是巨大的。试图把所有软件工程的特性都装入到 BPM(业务人员)的特性中,其结果必然是两面不讨好。时至今日,你仍会碰到一些人认为 BPEL 是实现业务流程的终极方式。BPEL 仅仅提供了一种发送、接收和转换的手段……这些是软件工程的需求,而不是业务流程的需求。软件工程师会告诉你,利用这些原语(primitive)你可以实现任何东西,可能包括电子表格,但是这忽视了一个要点,一个我们一开始为什么需要电子表格和 BPM 的要点:因为它们不是软件工程。

Keith 在其文章的结尾对目前 OMG BPMN 2.0 活动进行了评估:

在 OMG 邮件列表中,关于“BPMN 怎么会只是统一建模语言(UML,软件工程师钟爱的作图标准)的另一个方言”激起了广泛的讨论。软件工程师的确可能会从 BPMN 中看到对软件工程有用的东西。记住,OMG 组织主要是由软件工程师构成并为软件工程师服务的,大多数 OMG 成员会得出以上结论完全不足以为奇。他们大多数甚至可能认为 UML 对所有学科都有用。把 BPMN 看成是 UML 的一个方言对于将把一张图归纳成一个可执行程序的软件工程实践非常有用。

BPMN 的存在是为了让业务人员可以表达业务单元内部人员之间的交互。在 OMG 内部也有不少的人明白这一点,我希望这些人不要被那些认为所有问题都是软件工程问题的人所压倒,这样对我们大家都有好处。BPMN 的存在不是为了软件工程师的方便,因为 BPM 不是软件工程

在业内,对于软件工程和 BPM 之间的关系的确存在大量混淆。它们是完全不同,但又相互关联的学科。一方面,完全有可能设计和实现没有任何自动化的业务流程;另一方面,业务流程自动化确实需要涉及大量的软件工程。

查看英文原文: BPM Is Not Software Engineering

2009-01-30 02:341686
用户头像

发布了 255 篇内容, 共 54.5 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

【玩转 Cloud Studio】- 云编程之旅

CODING DevOps

使用 ChatGPT 辅助程序员进行代码评审 | 社区征文

Jerry Wang

程序员 AI ChatGPT ChatGPT4 年中技术盘点

限时招募高校学生,带你沉浸式体验HDC.Together 2023

HarmonyOS开发者

HarmonyOS

开源:老朋友,新棋局

树上有只程序猿

软件测试 | 如何分析性能测试

测吧(北京)科技有限公司

测试

数智时代的算力革命:低代码开发平台引领技术风潮

EquatorCoco

人工智能 数据 低代码 数智未来

软件测试 | Analysis使用基础

测吧(北京)科技有限公司

测试

数智之潮下的移动生态: AI与低代码平台的完美交融!

不在线第一只蜗牛

移动应用 低代码 数智化 AI赋能

OpenTiny7月8日即将正式发布!

OpenTiny社区

开源 Vue 前端 组件库

以科技创新驱动高质量发展,天翼云操作系统获国资委权威认证!

天翼云开发者社区

云计算

千万级规模微服务稳定性技术揭秘:隔离策略

中原银行

微服务 云原生 稳定性治理

全球数字经济大会重磅发布!网心科技入选2023年中国云生态蓝皮书

网心科技

多线程知识:三个线程如何交替打印ABC循环100次

越长大越悲伤

Java 面试 多线程

聚焦信息技术发展,博睿数据受邀出席产业链供需对接深度行北京站活动

博睿数据

可观测性 产业链 信息技术 智能运维 博睿数据

国际开源软件圈著名专家、ASF 基金会董事 Christofer Dutz 全职加入天谋科技!

Apache IoTDB

开源 IoTDB

软件测试 | 性能分析的基本原则

测吧(北京)科技有限公司

测试

那天,我收到了一封钓鱼邮件...

权说安全

阿里云蝉联 FaaS 领导者,产品能力获最高分

Serverless Devs

云计算 Serverless

加速你的业务增长:选择香港云主机的六大理由!

一只扑棱蛾子

香港云主机

测试技术的重要性与应用:现状、方法和未来展望

天翼云开发者社区

软件测试 数据测试

业界领先生成式AI,基木鱼率先实现客服机器人“真智能”

科技热闻

华为云田奇:大模型是人工智能的操作系统

新消费日报

软件测试 | 如何看Analysis分析图

测吧(北京)科技有限公司

测试

千万级学生管理系统的考试试卷存储方案

sandywrh

appuploder全过程使用教程(Windows版本)

雪奈椰子

天谋科技时序数据库管理系统 IoTDB 入选数据库领域顶级学术会议 ACM SIGMOD

Apache IoTDB

时序数据库 IoTDB Apache IoTDB SIGMOD

软件测试/测试开发丨Pytest学习笔记

测试人

Python 程序员 软件测试 pytest

天谋科技物联网原生时序数据库管理系统 IoTDB 获“可信数据库”双份权威认可!

Apache IoTDB

IoTDB Apache IoTDB 可信数据库大会

华为云Astro出品《低代码开发者101问》电子书上线

华为云PaaS服务小智

云计算 低代码 华为云

Vue3搭建的低代码数据可视化开发平台

这我可不懂

低代码 Vue3 JNPF

BPM不是软件工程_SOA_Boris Lublinsky_InfoQ精选文章