HR管理系統(tǒng)軟件開發(fā)技術(shù)
本文關(guān)鍵詞:基于構(gòu)件化軟件重用的ERP系統(tǒng)研究,由筆耕文化傳播整理發(fā)布。
當前所在位置:中國論文網(wǎng) > 科技論文發(fā)表 > HR管理系統(tǒng)軟件開發(fā)技術(shù)
HR管理系統(tǒng)軟件開發(fā)技術(shù)
發(fā)布日期: 2012-10-27 發(fā)布:
2012年第17期目錄 本期共收錄文章20篇
摘要:以企業(yè)人力資源管理系統(tǒng)中的招聘子系統(tǒng)為例,講述如何把業(yè)務規(guī)則與程序獨立開來,以適應企業(yè)業(yè)務規(guī)則的變化,全文分為了實例簡述、業(yè)務規(guī)則、規(guī)則引擎和規(guī)則引擎的使用等幾個部分。
中國論文網(wǎng)
關(guān)鍵詞:業(yè)務規(guī)則;規(guī)則引擎;軟件構(gòu)件
1 實例簡述
企業(yè)資源管理系統(tǒng)中會涉及到很多的企業(yè)業(yè)務流程,在這些工作流程中的工作規(guī)則就叫做業(yè)務規(guī)則。在軟件開發(fā)中,一種簡單的處理業(yè)務規(guī)則的方式是根據(jù)業(yè)務規(guī)則和業(yè)務流程設(shè)計軟件、編寫代碼。但當企業(yè)要改變業(yè)務規(guī)則的時候,這些系統(tǒng)就必須跟著修改,實在是麻煩。企業(yè)的業(yè)務規(guī)則不可能是一成不變的,所以,把業(yè)務規(guī)則硬編碼進軟件代碼里不是一種好的方法。應該把業(yè)務規(guī)則從程序中獨立出來,使用一個專門讀取業(yè)務規(guī)則并依據(jù)規(guī)則中的定義來執(zhí)行業(yè)務流程的程序模塊來驅(qū)動整個業(yè)務的進行,這個模塊就叫規(guī)則引擎。本文以企業(yè)的人才招聘模塊為例子,本例子的人才招聘模式可以是面向院校、社會或者人力資源市場等,不同的招聘對象的招聘流程和規(guī)則都可以不一樣,而客戶要求我們設(shè)計的軟件系統(tǒng)要能適用于各種招聘對象和場合。
2 業(yè)務規(guī)則
規(guī)則可以以XML文件形式存儲,采用XML形式的規(guī)則標記語言定義規(guī)則包中的對象以及相應的操作邏輯。根據(jù)在設(shè)計階段得到的業(yè)務模式設(shè)計相應的業(yè)務規(guī)則,業(yè)務規(guī)則采用XML文檔來存儲。根據(jù)Microsoft BizTalk的規(guī)則引擎采用的規(guī)則定義文件的模式,每個模式的業(yè)務規(guī)則集用XML文檔的一個元素<ruleSet>來表示,<ruleSet>元素包含的多個相同模式的子元素,子元素就表示業(yè)務模式的業(yè)務規(guī)則。BizTalk的規(guī)則語言是一些定義好的XML元素符號,能夠用來表示各種業(yè)務規(guī)則,本文中涉及的規(guī)則的描述采用Biztalk的規(guī)則語言規(guī)范。
如招聘管理業(yè)務模式中可建立如下篩選業(yè)務規(guī)則:
業(yè)務規(guī)則1:
IF:應聘者性別為女而且學歷低于專科
THEN:淘汰
該規(guī)則是人員篩選構(gòu)件中初選子構(gòu)件的一個業(yè)務規(guī)則,條件不成立則調(diào)用篩選構(gòu)件的接口方法Bypass,并把該應聘者的號碼作為參數(shù)傳遞。其中的inviteeObject是篩選構(gòu)件中對應應聘者的業(yè)務對象。
學歷編碼規(guī)則要和人力資源系統(tǒng)的基礎(chǔ)數(shù)據(jù)的定義相吻合,比如中專為1、?茷2、本科為3、研究生為4等。以上規(guī)則文檔的條件成立時執(zhí)行的操作是業(yè)務對象HRMBusinessObject中的方法Bypass,并以表示應聘者的對象PersonInvitee的Number作為參數(shù),該方法會把不符合規(guī)則的應聘者從列表中刪除。
而在設(shè)計構(gòu)件中的招聘模式是融合了三種招聘流程,這三種業(yè)務流程的業(yè)務規(guī)則用三個規(guī)則集文檔來表示,分別命名為xml_inviteStu、xml_inviteSoc、xml_inviteInCor。
3 規(guī)則引擎
業(yè)務規(guī)則引擎讀取業(yè)務規(guī)則,根據(jù)業(yè)務規(guī)則中的條件成立與否確定是否執(zhí)行對應的操作。規(guī)則引擎用事實(fact)作為規(guī)則中的左邊表達式的值與規(guī)則的右邊表達式的值進行比較關(guān)系運算,關(guān)系結(jié)果成立則執(zhí)行規(guī)則規(guī)定的操作。其中的事實是規(guī)則所表達的系統(tǒng)中對應對象的相關(guān)屬性,可以是數(shù)據(jù)庫中表的一條記錄的某個字段,或者是XML文檔的某個元素或?qū)傩缘闹。如上面的篩選規(guī)則可以用招聘管理數(shù)據(jù)庫中應聘者表中的記錄作為事實,每條記錄在程序中使用應聘者對象的值表示。用Mictosoft Biztalk SDK提供的規(guī)則引擎工具包可以編寫規(guī)則引擎構(gòu)件如下:
如每個應聘者的數(shù)據(jù)記錄就是一個短期事實,所有的應聘者記錄組成數(shù)組,本構(gòu)件里的HRMRuleEngine類中的Execute函數(shù)要求把應聘者記錄的數(shù)組名作為參數(shù)。本構(gòu)件中的事實數(shù)組的大小限制在50,即本構(gòu)件所能一次處理篩選業(yè)務的記錄數(shù)不能多于50個(應聘者)。
4 規(guī)則引擎的使用
在項目中引用前面開發(fā)生成的程序集,包括業(yè)務規(guī)則引擎和業(yè)務邏輯層程序集。在應用項目中,首先要生成應聘者對象(Personinvitee)集(數(shù)組)。然后把這個數(shù)組作為參數(shù)傳遞給規(guī)則引擎,因為規(guī)則文件里已經(jīng)定義好了不滿足條件執(zhí)行Bypass刪除相應的應聘者,因此之后得到的就是滿足招聘條件的應聘者了。
篩選按鈕單擊事件處理過程復用業(yè)務構(gòu)件的業(yè)務對象inviteeFilter執(zhí)行應聘人員的初選業(yè)務,其代碼如下所示。
此處省略為應聘者數(shù)組元素賦值的代碼!
//執(zhí)行篩選業(yè)務
上述代碼的最后一行,即業(yè)務類inviteeFilter的Filter方法是通過調(diào)用規(guī)則引擎的Execute方法來實現(xiàn)規(guī)則的應用的。
5 總結(jié)
我這里展示的實例處理的數(shù)據(jù)量太小,涉及的業(yè)務規(guī)則也太簡單。采用本例展示的業(yè)務規(guī)則與程序邏輯分離的方式開發(fā)這樣的應用系統(tǒng),就能適應每次招聘的規(guī)則的變化。對于人力資源管理的其它模塊也可以用同樣的方式來開發(fā),但前提條件是有可復用的分析、設(shè)計和物理構(gòu)件存在,即必須有對應領(lǐng)域的領(lǐng)域工程的支持。關(guān)于代碼的更多細節(jié),有興趣的話請聯(lián)系我。
參考文獻:
[1]朱麗,基于構(gòu)件化軟件重用的ERP系統(tǒng)研究,中國知網(wǎng)優(yōu)秀碩博士論文數(shù)據(jù)庫,2005年.
[2]李秀芳等,軟件復用與Framework框架技術(shù),科學技術(shù)與工程,2006年.
[3]申利民,柔性軟件開發(fā)技術(shù),國防工業(yè)出版社,2003年
本文關(guān)鍵詞:基于構(gòu)件化軟件重用的ERP系統(tǒng)研究,,由筆耕文化傳播整理發(fā)布。
本文編號:123817
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/123817.html