- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HR管理系统软件开发技术
HR管理系统软件开发技术摘要:以企业人力资源管理系统中的招聘子系统为例,讲述如何把业务规则与程序独立开来,以适应企业业务规则的变化,全文分为了实例简述、业务规则、规则引擎和规则引擎的使用等几个部分。
关键词:业务规则;规则引擎;软件构件
1 实例简述
企业资源管理系统中会涉及到很多的企业业务流程,在这些工作流程中的工作规则就叫做业务规则。在软件开发中,一种简单的处理业务规则的方式是根据业务规则和业务流程设计软件、编写代码。但当企业要改变业务规则的时候,这些系统就必须跟着修改,实在是麻烦。企业的业务规则不可能是一成不变的,所以,把业务规则硬编码进软件代码里不是一种好的方法。应该把业务规则从程序中独立出来,使用一个专门读取业务规则并依据规则中的定义来执行业务流程的程序模块来驱动整个业务的进行,这个模块就叫规则引擎。本文以企业的人才招聘模块为例子,本例子的人才招聘模式可以是面向院校、社会或者人力资源市场等,不同的招聘对象的招聘流程和规则都可以不一样,而客户要求我们设计的软件系统要能适用于各种招聘对象和场合。
2 业务规则
规则可以以XML文件形式存储,采用XML形式的规则标记语言定义规则包中的对象以及相应的操作逻辑。根据在设计阶段得到的业务模式设计相应的业务规则,业务规则采用XML文档来存储。根据Microsoft BizTalk的规则引擎采用的规则定义文件的模式,每个模式的业务规则集用XML文档的一个元素来表示,元素包含的多个相同模式的子元素,子元素就表示业务模式的业务规则。BizTalk的规则语言是一些定义好的XML元素符号,能够用来表示各种业务规则,本文中涉及的规则的描述采用Biztalk的规则语言规范。
如招聘管理业务模式中可建立如下筛选业务规则:
业务规则1:
IF:应聘者性别为女而且学历低于专科
THEN:淘汰
该规则是人员筛选构件中初选子构件的一个业务规则,条件不成立则调用筛选构件的接口方法Bypass,并把该应聘者的号码作为参数传递。其中的inviteeObject是筛选构件中对应应聘者的业务对象。
学历编码规则要和人力资源系统的基础数据的定义相吻合,比如中专为1、专科为2、本科为3、研究生为4等。以上规则文档的条件成立时执行的操作是业务对象HRMBusinessObject中的方法Bypass,并以表示应聘者的对象PersonInvitee的Number作为参数,该方法会把不符合规则的应聘者从列表中删除。
而在设计构件中的招聘模式是融合了三种招聘流程,这三种业务流程的业务规则用三个规则集文档来表示,分别命名为xml_inviteStu、xml_inviteSoc、xml_inviteInCor。
3 规则引擎
业务规则引擎读取业务规则,根据业务规则中的条件成立与否确定是否执行对应的操作。规则引擎用事实(fact)作为规则中的左边表达式的值与规则的右边表达式的值进行比较关系运算,关系结果成立则执行规则规定的操作。其中的事实是规则所表达的系统中对应对象的相关属性,可以是数据库中表的一条记录的某个字段,或者是XML文档的某个元素或属性的值。如上面的筛选规则可以用招聘管理数据库中应聘者表中的记录作为事实,每条记录在程序中使用应聘者对象的值表示。用Mictosoft Biztalk SDK提供的规则引擎工具包可以编写规则引擎构件如下:
如每个应聘者的数据记录就是一个短期事实,所有的应聘者记录组成数组,本构件里的HRMRuleEngine类中的Execute函数要求把应聘者记录的数组名作为参数。本构件中的事实数组的大小限制在50,即本构件所能一次处理筛选业务的记录数不能多于50个(应聘者)。
4 规则引擎的使用
在项目中引用前面开发生成的程序集,包括业务规则引擎和业务逻辑层程序集。在应用项目中,首先要生成应聘者对象(Personinvitee)集(数组)。然后把这个数组作为参数传递给规则引擎,因为规则文件里已经定义好了不满足条件执行Bypass删除相应的应聘者,因此之后得到的就是满足招聘条件的应聘者了。
筛选按钮单击事件处理过程复用业务构件的业务对象inviteeFilter执行应聘人员的初选业务,其代码如下所示。
此处省略为应聘者数组元素赋值的代码!
//执行筛选业务
上述代码的最后一行,即业务类inviteeFilter的Filter方法是通过调用规则引擎的Execute方法来实现规则的应用的。
5 总结
我这里展示的实例处理的数据量太小,涉及的业务规则也太简单。采用本例展示的业务规则与程序逻辑分离的方式开发这样的应用系统,就能适应每次招聘的规则的变化。对于人力资源管理的其它模块也可以用同样的方式来开发,但前提条件是有可复用的分析、
您可能关注的文档
最近下载
- 草牧场转让合同5篇.docx VIP
- (四级)保育师理论学习考试题库(浓缩300题).docx VIP
- 2025四级保育师资格考试题库及答案(浓缩400题).docx VIP
- 实施指南《GB_T10068-2020轴中心高为56mm及以上电机的机械振动振动的测量、评定及限值》实施指南.docx VIP
- 中小学生常见病防治课件.pptx VIP
- 1.1 原始社会的解体和阶级社会的演进:原始社会 课件-【新教材】高中政治统编版(2019)必修一(共29张PPT).pptx VIP
- 铝方通吊顶施工技术交底.pptx VIP
- DB23T1501-2013 水利堤(岸)坡防护工程格宾与雷诺护垫施工技术规范.pdf VIP
- 华为极简站点解决方案opm200.pdf VIP
- 北师大版七年级数学下册第二章测试题及答案下载.doc VIP
文档评论(0)