本书探索了业务规则理论的深层原理,并解释了关键业务规则概念,提供了针对业务规则表示的基于经验的最佳实践。不仅如此,本书还探讨了业务规则在向范围更宽的、基于模型开发的发展趋势背景下的作用,并深入浅出地介绍了业务规则和表示的深层理论。
本书是由世界领先的业务规则理论和技术专家编写的。书中提供了清晰易懂的解释和实用手段,既适合业务和技术人员阅读,也适合用作教材。
译者序
前言
第一部分 业务问题:为什么要提出业务规则--供业务人员阅读
第1章 业务规则入门--核心问题与解决概述
1. 1 一组电子邮件
1. 2 什么时候门不是门
第2章 存在机会的领域--改变业务的外表
2. 1 业务规则方法在什么地方适用
2. 2 作交易
2. 3 为公司的供应过程重新注入动力
2. 4 作为客户接口的业务规则
2. 5 基于Web的电子商务
第3章 提供知识--必备知识
3. 1 什么是知识管理
3. 2 个性化的不断的在职培训
第4章 业务规则在IT项目的运用--会遇到什么问题
4. 1 如果已经开始编程
4. 2 传统业务系统开发的两种错误
4. 3 业务驱动的真正含义
4. 4 再论业务驱动的真正含义
4. 5 政策大纲
4. 6 真正的业务分析师
第二部分 业务规则概念--业务系统结构
第5章 组织基本的业务知识--关于术语和事实的必要知识
5. 1 术语与事实
5. 2 使用图形事实模型
5. 3 事实模型与行为
第6章 实施控制--关于规则需要了解的内容
6. 1 控制规则
6. 2 规则与事件
6. 3 规则能够实施控制的方式:规则的功能分类
6. 4 扩展规则的覆盖范围
6. 5 业务规则方法中的规则与指南
第7章 做功--关于过程需要了解的内容
7. 1 今天企业所面临的挑战
7. 2 使业务规则发挥作用
7. 3 根据自己所掌握的情况构建
7. 4 根据自己已有的如何做的知识构建
第三部分 规则表示最佳实践--BRS RuleSpeak
第8章 规则表达--应该做什么. 不应该做什么
8. 1 不是如何, 不是何地, 不是谁, 不是何时
8. 2 不是规程化的
8. 3 不是难以理解的
8. 4 不是不可能的
8. 5 永远在术语和事实基础上制定
8. 6 禁止使用"擅自离岗"事实
8. 7 禁止使用没有用的东西
8. 8 禁止使用复数主语
8. 9 当心规则的开头有问题
8. 10 禁止使用"擅自离岗"主语
8. 11 把行为者当作主语时要小心
8. 12 禁止使用命令句
8. 13 禁止使用"创建. 检索. 更新. 删除"
8. 14 把事件用作主语时应该小心
8. 15 慎用限定词
8. 16 小心提取被嵌入的计算
8. 17 小心隔离自己的逻辑
8. 18 禁止使用"等"
第9章 编写规则语句--BRSRuleSpeak基础
9. 1 规则句子模板简介
9. 2 使用模板的成功因素
9. 3 基础概念
9. 4 基本用法说明
9. 5 特殊用法说明
第10章 规则的功能分类--BRS规则分类模式
第11章 规则描述的句子模式--RuleSpeak模板
第12章 使用决策表表示业务规则--RuleSpeak方法
12. 1 什么时候应该使用决策表
12. 1. 1 包含一个评价术语的决策表
12. 1. 2 包含两个评价术语的决策表
12. 1. 3 包含三个或更多简单评价术语的决策表
12. 1. 4 包含更复杂的决策准则集合的决策表
12. 2 按规则功能分类组织的决策表合适输出
第四部分 什么是业务规则方法--供IT人员阅读
第13章 业务规则方法的其他原则--业务逻辑的一种新观点
13. 1 规则管理的基本原则
13. 2 什么是业务规则
13. 3 业务规则与"行"
13. 4 业务规则与"知"
13. 5 为什么有不同的业务规则方法
13. 6 分析瘫痪
第14章 关于事实模型的进一步讨论--设计基本业务知识结构
14. 1 事实模型的关键成功要素
14. 2 为业务规则设计合适的数据模型
第五部分 业务规则理论--业务规则形式化基础与业务规则标记教程
第15章 业务规则的三种视点--一种形式化讨论框架
15. 1 三种视点
15. 2 关于术语
15. 3 关于类型
15. 4 特殊术语
第16章 规则的理论基础--关于形式约束
16. 1 规则的形式化定义
16. 2 关于术语
16. 3 规则标记
16. 4 约束:拒绝与推理
第17章 事实的理论基础--关于谓词
17. 1 谓词与事实
17. 1. 1 业务经理视点的谓词
17. 1. 2 系统开发人员视点的谓词
17. 1. 3 技术设计人员视点的谓词
17. 2 事实:类型与实例
17. 3 存在性原则
17. 4 事实R-标记简介
17. 5 再谈推理与演绎:谓词的使用
第18章 高阶规则--模式-R规则类型
18. 1 模式-R规则类型的定义
18. 2 模式-R规则举例
18. 2. 1 例1:监视器规则
18. 2. 2 例2:工会规则
18. 3 模式-R规则类型的组装
18. 3. 1 第一部分:初始值函数
18. 3. 2 第二部分:真值函数
18. 3. 3 例1的组装:监视器规则
18. 3. 4 例2的组装:工会规则
第六部分 附 录
附录A 规则真值的评价
附录B 技术设计人员视点术语
附录C 规则基本种类
附录D 关于"IF……THEN……"句法
附录E Halpin对"事实"和相关术语的定义
附录F 关系模型中的语义
附录C 基本操作符与高阶规则类型
附录H 模式-R方法的形式化
附录I "描述性"意味着什么
附录J "玛丽"推理例子的详细步骤
附录K 事实R-标记的进一步讨论
附录L R-标记中的特殊内置事实类型
术语表
参考文献
开发各类自动化系统归根结底是由业务驱动, 并要为业务服务的. 这是每个IT人员嘴上都承认的观点, 但是却不能很好地落实到实际行动中. 在很多情况下, IT人员从部分业务人员那里刚刚得到一点儿所谓需求, 就立即组织对其进行草草的"评审", 然后就一门心思考虑各种具体的技术问题, 考虑实现和编码, 并陶醉于自己的各种所谓解决方案和技术创新中. 这样的产品即使有很好的质量, 甚至是零缺陷, 也几乎可以肯定不能满足现实中复杂而且不断变化的业务要求.
本书并不是一本纯技术的专业书. 作者撇开具体应用领域, 站在较高的层次上, 系统化地讨论了业务规则的各个方面, 深入. 全面地分析了业务规则的特点, 叙述了业务规则论域的基本理论和形式化描述问题, 提出了一些很有见地的业务规则系统建立原则. 通过这些内容, 读者能够从更高的角度审视各类自动化系统的需求获取. 描述和分析问题, 相信这会对各类业务人员. 项目经理. 系统分析员等有很大帮助. 本书也应该是让在校高年级学生拓展视野的相当不错的参考书.
在翻译过程中, 除了对原文个别明显文字错误进行了相应更正外, 我们力求忠实原文. 但由于译者的知识水平和实际工作经验有限, 不当之处在所难免, 恳请读者批评指正. 参加本书翻译. 审校和其他辅助工作的还有:黄慧菊. 屈健. 刘芙蓉. 王威. 李津津. 原小玲. 韩文臣等.
Ronald G. Ross是LLC Business Rule Solutions公司的发起人之一, 这家公司提供研讨和咨询服务, 出版有关业务分析和规则的资料. 他还参与开发了Proteus方法论, 包括流行的RuleSpeak. 另外, 他还是www. BRCommunity.com的执行编辑, 是受到全世界欢迎的《Business
Rules Journal》杂志的专栏作家.
业务系统永远都应该由企业的需要来推动. 业务工作者应该参与以非常直接. 具体的方式描述这种需要. 在实践中运用这些原则, 意味着采用一种既会对业务人员, 也会对信息技术(IT)人员产生深刻影响的业务系统新方法. 这种新方法可以叫作"业务分析", 其基本的可交付产品是"业务模型". 但是, 这些术语常常被非常随便地使用. 很多系统开发者都认为自己的可交付产品够得上业务模型, 但实际上并非如此. 由于阐述这个问题需要一些背景知识, 因此留到第一部分深入讨论. 从现在开始, 我就把这种新方法叫作"业务驱动"方法. 业务驱动方法中一个令人激动的基本要素是"业务规则". 在展开叙述之前先澄清一些概念. 我们当然不一定讨论完某种业务驱动方法才谈论业务规则. 换句话说, 我们本来可以单独讨论业务规则.
但是我们为什么要这样结合业务驱动方法来讨论业务规则呢?如果业务需要是业务系统的驱动因素, 那么业务驱动方法和业务规则都应该一起运用. 如果是这样, 企业就可以得到应对21世纪所面临的挑战的最佳业务解决方案. 这是本书基本思想的核心.
正是这种想法促成我写作这本书的. 一般来说, 本书针对三类读者:业务人员. IT人员和学术界学者. 在当今世界中, 在这三类人之间存在很深的鸿沟, 而这本身就是问题的一部分. 为了找到可能的最佳业务解决方案, 这三类人必须在共同目的和方法上更密切地结合. 本书有助于探索实现这类结合的途径.
关于技术
由于我强烈地认为业务系统应该由业务需要驱动, 因此本书通篇都(相当困难地)故意回避讨论技术. 但是技术问题当然值得讨论, 所以还是在这里简短地讨论一下.
我们现在正处于业务知识能力技术创新的巨大的新浪潮前沿, 可以把业务规则(我把这些业务规则统称为"业务逻辑")看作是在这个方向上发展的第一步, 而且从很多方面看是相对温和的一步.
明确的事实是, 这种技术还从来没有成为主流企业IT的一个重要部分. 20世纪80年代, 专家系统曾经掀起了一个小高潮, 但是没有产生什么影响. 出现这种情况有很多原因, 也许最重要的原因是技术. 那时(一直到最近)的计算环境体系结构基本上是整块的, 不能提供适应"外部"服务的简单方式.
不必细说, 这种基本障碍现在已经被清除, 插入式服务的集成正在变得越来越容易. 要集成的比直接知识支持更好的服务是什么呢? "知识支持"听起来有些抽象. 目前有多个术语指这类服务, 包括"规则引擎"和"决策管理平台". 本书第五部分采用的是"业务逻辑服务器". 不管采用什么名称, 我毫不怀疑地认为, 在未来几年之内, 这类服务将成为所有主要业务软件平台的一部分.
对很多人来说, 这种技术有些空穴来风. 但事实并非如此. 事实上, 正如本书第五部分将要介绍的, 这种新技术的理论基础已经有很多年了. 商品化产品的出现可以追溯到20世纪80年代中期, 而应用研究还要早得多. 以下方框内给出的是这种技术的最新状况.
再强调一次, 本书的关注点并不是技术, 而是业务逻辑来自何处. 正是这个问题引出了业务逻辑方法.
关于业务规则方法
与技术一样, 业务规则方法也不是凭空产生的. 事实上, 业务规则方法的核心概念(本书第二部分将介绍)可追溯到20世纪90年代中期, 很多相关技术和方法论(本书第三部分将介绍) 已经由一些先进机构在20世纪90年代末和21世纪初进行过全面的实际试验(顺便说一句, 业务驱动方法也是这样). 因此我在本书中要谈的, 并不是没有经过实践验证的理论或学术猜想, 而是注重实际的现实世界产物.
关于业务规则方法的有意思的(也许还是特有的)事情是, 它并不是随任何新类型的软件工具(比如面向知识的软件工具等)一起出现的. (同样, 业务驱动方法也是这样. )
相反, 业务规则方法是来自现实世界深层的运动, 其驱动力量是企业的成功, 而不是技术. 业务规则方法来自根据很多年业务软件的磨炼和挑战经历, 对专门职业方向的构想. 业务规则方法的目标是:向公司提供最佳的可能方法, 以制定涉及自动化系统的业务解决方案.
对业务人员要讲的话
在此, 首先对业务人员讲几句话. 再重复一次, 本书不是讲技术的, 而是讲业务机会的. 因此, 关键的问题应该是为什么对业务规则的理解与业务命题同样重要.
那么业务规则的价值到底是什么呢?第一部分要给出这个问题的答案, 不过这里还是在下面的方框中给出一个简短回答.
第一部分还将讨论业务驱动方法的内容. 从业务角度看, 业务规则方法与业务密切相关. 两者结合起来确实很有效. 我希望第一部分能够充分说明这种有效性. 我努力使全书体现一种易于理解的非技术风格, 以便读者能够随着对本书的深入阅读获得更多知识.
第二部分将通过同人体进行对比, 解释业务规则方法的基本思想. 接下来(读者也可以跳过这部分), 第三部分将介绍一种叫作BRS RuleSpeak的易于理解的语言, 以便读者能够用来获取和表达自己的业务规则. 读者会发现本书给出的材料很有意思, 也许还有一定的娱乐性.
第四部分是专门针对IT人员的, 不过实际上它是第一部分的继续, 更确切地说, 是从不同角度介绍第一部分的内容. 我认为业务人员和IT人员采用共同语言是非常重要的. 第四部分有助于读者的机构做到这一点. 顺便提一下, 第四部分的头一章是本书除第一部分外直接论述业务驱动方法的惟一其他地方.
对IT人员要讲的话
关于业务驱动方法首先要说的一句话是:我认为业务驱动方法与行业新出现的基于体系结构或基于模型的开发策略密切相关. 具体地说, 业务驱动方法以业务模型的形式, 为这些策略提供了一种很好的前端. 业务模型提供了业务的一种自顶向下. 多侧面蓝图, 其内容是由业务人员驱动的. 这是系统设计和应用系统开发(或应用软件包部署) 的一个很好的切入点. 本书第一部分和第四部分将介绍这些思想.
如果读者对业务规则特别感兴趣, 可以集中阅读第二部分和第三部分. 读者也应该阅读第四部分中专门介绍规则管理. 规则获取和数据设计方面的重要内容.
所有这些材料的主要目的, 是帮助读者深刻理解业务规则的性质, 以便将业务规则作为职业工具包的一部分, 得心应手地运用. 我相信读者一定会对后面要讨论的思想和技术感到兴奋.
对学术界学者要讲的话
这里所谓的"学术界学者", 并不是指偶尔去一下大学或实验室的人. 我指的是所有逻辑系统的严肃学者--这里的"系统"是理论意义上的系统, 不是应用. 在此也指只是对理论有好奇心的人. 第五部分就是专门针对这些读者而写的.
第五部分将回答业务规则的一些大问题, 例如业务规则的形式化理论基础--谓词逻辑. 读者不要让这些给吓住. 第五部分是作为教材写的, 因此所反映的思想所有人都很容易理解. 同时, 我还预计这种材料能够提供继续深入研究的基础, 其中有些已经开始了.
最后要说的是:读者应该清楚当好的理论与成功实践结合时, 就会使自己真正获得力量.
业务规则带来的就是这种结合, 而这是这个领域非常激动人心的时刻.