您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
基于EA的业务规则建模
 
作者:谢素燕,俎涛(火龙果软件工程)
  6239  次浏览      19
 2020-11-17
 

业务规则建模是什么

业务规则建模(Business Rule Model),提供了一种正式定义业务规则的方法,可以建模业务规则相关的元素并可以把业务规则排序,业务规则建模可以作为实现规则的应用程序(编程)代码生成的基础。

用于建模业务规则的符号包括三个主要部分:

  • 业务策略:可以建模业务流程中的判定规则。
  • 业务任务:描述业务流程中执行的任务。
  • 业务术语 和元素:描述表示与业务规则相关的词汇表、信息元素。
  • 具体业务规则符号如下图所示:

    如下是对上图的说明

    业务领域图:采用了UML的类图,描述了具有业务规则的业务实体。
    业务规则图:它描述规则任务和业务规则之间关系。
    规则任务图:采用了UML的活动图,描述规则行为方面的关系。

    为什么要用业务规则建模

    业务规则建模可以描述业务流程中的活动的处理规则,如下图所示:

    如下是对上图的说明:

    1.左边的规则图,描述了业务的流程,但是没有描述任务的规则。
    2.右边的业务规则图,不仅描述了业务规则流程,还描述业务规则及规则任务之间对应的关系

    接下来我们来看一下,业务规则建模具体能干什么呢?如下是详细介绍:

  • 业务规则建模可以帮助我们理解业务规则和策略。
  • 业务规则提供了精确性,可以明确的描述业务行为,避免对业务的误解。
  • 统一的业务规则有利于这个团队成员之间的业务交流。
  • 统一的业务规则可以减少业务流程图上的混乱的情况。
  • 把信息元素和业务规则关联,能让读者快速理解领域模型的相关规则。
  • 通过创建规则数据库或者应用程序的规则,可以为业务流程提供模块化解决方案。
  • 如何EA中创建业务规则图

    如何在EA中创建业务规则图呢?如下是创建业务规则的具体操作过程:

    1. 在模型向导中选择 Business Rule Model 图建模类型->点击Starter Business Rule Model->点击创建模式按钮, 如图所示:


    业务规则图创建示例

    2. 创建完成后,将在“ 浏览器”窗口中生成一个业务规则模型结构如图所示:


    3. 打开对应的工具箱,里面列有业务规则图的元素和关系,具体元素和关系如下表所示:

    元素  说明
    Business Rules Model:业务规则模型
    Business Rules Package:业务规则包
    Business Domain Model:业务领域模型
    Business Rule:业务规则
    Rule Task: 规则任务


    关系  说明
    Dependency:业务规则和业务对象之间的依赖关系。

    接着我们来看一下,一个完整的业务规则模型图在EA中是如何显示的?

    如下是EA中业务规则模型图下的一个建模示例:


    业务规则图建模示例

    业务规则模型在EA中的应用

    在任何业务操作或流程中,开始、进度和最终结果通常是参考一组规则来确定的。这些规则可以很简单,也可以是复杂的。

    那么在进行业务规则建模时,我们应该怎么正确的使用呢? 如下我们介绍业务规则建模的过程:

    如下是对上图的说明:

    1. 建立业务规则组织包,用来组织后续的业务规则。
    2. 在业务规则图中,开始将业务规则标识为规则元素,那么每个元素代表一个特定的业务规则。
    3. 在业务领域图中创建类来表示业务域或流程中的业务对象,同时这些类提供业务词汇表作为业务规则的上下文。
    4. 其中一个类表示规则的实际应用,在这个类下面是一个规则流活动图,在该图中,可以描述业务规则的执行顺序,这是通过分组的规则任务来实现的。
    5. 返回到业务规则图中,为每个任务分配相应的“业务规则”元素。

     

    以汽车租赁为例,下面分别详细说明业务建模规则的五个图示建立方法。

    1. 业务规则模型的组织

    首先我们建立业务规则组织包,用来组织后续的业务规则,业务规则涉及多个图,把业务规则包这些图组织为模型:

    1) 可以用包来组织业务规则图及其元素;

    2) 可以用包来组织业务领域模型图及其元素;

    3) 在领域模型的类下面创建业务流程。

    业务规则的模型组织如下图所示:

    业务规则模型图

    如下是对上图的说明:

    业务规则包的下面有:
  • 业务规则图
  • 规则任务:例如确定处罚、确定应付总额等等
  • 业务规则:AWD汽车的租金是每天2000元、车辆不得租给年龄不满18岁的顾客等等
  • 业务领域包的下面有:
  • 业务领域类图
  • 领域类:汽车、顾客、租金等等

  • 2.建立业务规则图,首先列出业务规则

    业务规则定义可以很简单,比如说“客户必须提供年满18岁的书面证据”,也可以复杂,比如说“确定一份量身定制的保险单需要什么、不需要什么的精准规则”。

    EA中业务规则图,可以将每个业务规则定义为业务规则元素,以汽车租赁为例。首先我们定义业务规则元素,如下图所示:

    业务规则

    3.建立业务领域模型

    业务领域模型提供了可以用来对业务规则进行建模的业务词汇。在EA中业务领域模型表示为概念类图,业务领域模型图如下所示:

    业务领域图

    如下是对上图的说明:

    顾客使用租赁系统申请汽车,汽车租赁需要租金,顾客支付租金。
    顾客、申请、汽车、租金需要相应的属性和方法,支持业务的实现。

    我们还可以在“租赁系统”类下,创建规则流活动作为域类之一的行为,使这个类能够处理一组规则。

    4.在领域类下面建立规则任务图

    在业务规则模型中设置业务领域模型时,创建规则活动,使这个类能处理一组规则。以汽车租赁系统为例的规则活动如下图所示:

    规则任务图

    5.在业务规则图上标识业务规则对应的规则任务

    在汽车租赁中,我们可以对客户执行资格检查,确定客户是否有资格租用汽车,通过这些条件我们可以定义业务规则并对其进行了分组。如下是这些业务流程中各个活动具有的规则说明:

    1. 首先确定租车资格,看客户是否年满18周岁,是否有驾照,是否不良历史记录为3级客户,如规则有一条不满足则为不合格,不能租车。
    2. 如确定客户有租车资格,则确定应付租金,确定租的是小型车,豪华车还是AWD汽车,之后确定每日每车的价格,为应付每日租金
    3. 确定应付租金后,看客户是否有不良记录,如没有,确定租车天数,确定应付租车的总额,完成支付则租车成功。
    4. 确定应付租金后,如客户有不良记录,不良历史记录1级的客户必须缴纳租金的10%的罚款, 有2级不良历史记录的客户必须缴纳租金20%的罚款,然后确定租车天数,确定应付总额。

    把如上业务的规则对应到相应的规则任务,建立业务规则图,一个完整业务规则图如下所示:

    业务规则图

    如下是和规则任务对应的业务规则的说明:

    规则任务 业务规则
    确定租车资格
  • 车辆不得租给年龄不满18岁的顾客
  • 不得将汽车出租给有不良历史记录的3级客户
  • 无驾照客户不得租用有效车辆
  • 确定应付租金
  • 小型汽车的租金是每天300元
  • 豪华车的租金是每天3000元
  • AWD汽车的租金是每天2000元
  • 应付租金以日租金和租期的成绩计算
  • 确定处罚 主要针对有不良记录的客户,且不是三级的客户,对应业务规则如下:
  • 有不良历史记录1级的客户必须缴纳租金的10%的罚款
  • 有2级不良历史记录的客户必须缴纳租金20%的罚款
  • 确定应付租金总额 主要是计算最终应付资金,对应业务规则如下:
  • 无牌照客户不得租用有效车辆
  • 应付租金以日租金和租期(以日为单位)的乘积计算

  • 好了,以上就是对在EA中建立业务规则模型方法的介绍,希望此文对大家了解和使用业务规则建模起到帮助作用。

    后续请继续关注我们,有更多文章,视频可供大家参考.

    如果您希望了解更多信息:

    • 欢迎访问建模者频道 http://modeler.org.cn/
    • 也欢迎直接联系我们 zhgx@uml.net.cn ,010-62670969

    下载 pdf版: 《基于EA的业务规则建模》

    本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp

     

    后记

    希望您读了此文后有所受益。

    如果您有经验乐于分享,欢迎投稿给我们。

    如果您对我们的培训、咨询和工具感兴趣:

  • 课程:基于UML和EA进行分析设计
  • 课程:MBSE(基于模型的系统工程)  
  • 课程:基于模型的需求管理)方法与实践
  • 课程:基于SysML和EA进行系统设计与建模  
  • 课程:企业架构建模
  • 课程:系统架构建模方法与案例
  • 课程:领域驱动的建模与设计
  • 课程:基于模型的设计
  • 课程:业务建模与业务分析
  • 建模工具:EA
  • 基于模型的需求管理工具:iSpace
  • 咨询方案:MBSE(基于模型的系统工程)
  • 咨询方案:基于UML的模型驱动的开发
  • 欢迎联系我们: 俎涛 Zutao@uml.net.cn

       
    6239 次浏览       19
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
    UML图解:对象图(object diagram)
    UML图解:顺序图( sequence diagram )
     
    相关文档

    模型跟踪:跟踪图、矩阵、关系(建模工具EA)
    自定义表格(Custom Table)在EA中的使用
    元素的详情浏览控制
    UAF 1.2规范解读(DMM 和 UAFML )
    EA中支持的各种图表
    EA中的界面原型建模
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于SysML和EA进行系统设计与建模
    基于模型的需求管理
    业务建模 & 领域驱动设计
    最新活动计划
    软件架构设计方法、案例与实践 8-23[特惠]
    Linux内核编程及设备驱动 8-15[北京]
    Python、数据分析与机器学习 8-23[特惠]
    嵌入式软件架构设计 8-22[线上]
    QT应用开发 9-5[北京]
     
    最新文章
    iPerson的过程观:要 过程 or 结果
    “以人为本”的工程哲学
    企业架构、TOGAF与ArchiMate概览
    UML 图解:顺序图( sequence diagram )
    UML 图解:对象图( class diagram )
    最新课程
    基于UML和EA进行系统分析设计
    UML+EA+面向对象分析设计
    基于SysML和EA进行系统设计与建模
    UML + 嵌入式系统分析设计
    领域驱动的建模与设计
    更多...   
    成功案例
    某电信运营供应商 应用UML进行面向对象分析
    烽火通信 UML进行面向对象的分析设计
    西门子 UML与嵌入式软件分析设计
    航天科工某子公司 从系统到软件的分析、设计
    深圳某汽车企业 模型驱动的分析设计
    更多...