|   业务规则建模是什么 
                            业务规则建模(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中建立业务规则模型方法的介绍,希望此文对大家了解和使用业务规则建模起到帮助作用。 
                            后续请继续关注我们,有更多文章,视频可供大家参考. 
                          如果您希望了解更多信息:  
                          
                            
                          下载 pdf版:  
                            《基于EA的业务规则建模》 
                          本文使用的建模工具为EA,可以下载试用版http://tool.uml.com.cn/ToolsEA/download.asp 
                            
                              
						  
                         
                           
                          后记 
                           希望您读了此文后有所受益。 
                          如果您有经验乐于分享,欢迎投稿给我们。 
                          
                            如果您对我们的培训、咨询和工具感兴趣: 
 |