摘要:詳細(xì)闡述了醫(yī)院信息系統(tǒng)中人力資源管理系統(tǒng)的設(shè)計與實(shí)現(xiàn),介紹了開發(fā)過程中使用的.NET技術(shù)與Castle框架,探討了運(yùn)用.NET平臺與Castle相結(jié)合建立WEB應(yīng)用程序的方法。
關(guān)鍵詞:人力資源管理;.NET平臺;Castle框架
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)36-10613-02
Research and Realization of Hospital Human Resources Management System Based on .NET Platform with Castle Framework
WANG Miao, LIU Yan-yan
(Computer college, Ocean University Of China, Qingdao 266000, China)
Abstract: Elaborated on the HIS system, human resources management system in the design and implementation, the development process .NET technology and Castle framework on the application .NET platform with Castle combined with a WEB applications.
Key words: human resources; .NET platforms; Castle framework
隨著醫(yī)院信息化的發(fā)展,數(shù)字化醫(yī)院已成為當(dāng)今醫(yī)療衛(wèi)生發(fā)展的趨勢,人力資源是醫(yī)院第一資源,是醫(yī)院獲得競爭優(yōu)勢的根本,因此人力資源信息系統(tǒng)是一切子系統(tǒng)的基礎(chǔ),只有實(shí)現(xiàn)好人力資源管理的信息化建設(shè)才能更好地服務(wù)于醫(yī)院信息系統(tǒng)(Hospital Information System, HIS)系統(tǒng)中檔案管理、藥品管理等其他子系統(tǒng)。
目前多數(shù)醫(yī)院的人力資源信息管理系統(tǒng)(Electronic Human Resources Information System, eHR)僅能夠?qū)崿F(xiàn)人員信息的錄入、查詢、修改等基本流程,結(jié)構(gòu)簡單。工資管理及檔案管理等方面實(shí)行單獨(dú)管理,與人力資源信息難以總合運(yùn)行,信息查詢過程繁瑣,某些流程不規(guī)范、不嚴(yán)謹(jǐn),時有漏洞,系統(tǒng)功能不完善,統(tǒng)籌運(yùn)用存在困難。因此,開發(fā)人力資源管理系統(tǒng)非常有必要,它能夠通過集中式的信息庫、自動處理信息、員工自助服務(wù)、外協(xié)以及服務(wù)共享,達(dá)到降低成本、提高效率的目的。微軟公司的.NET平臺偏重于應(yīng)用系統(tǒng)的快速開發(fā),而Castle[1]正是針對.NET平臺下開發(fā)的一個優(yōu)秀的開源框架?;?NET與Castle框架下開發(fā)人力資源管理系統(tǒng),既保持了.NET平臺下快速開發(fā)的優(yōu)勢,又使整個系統(tǒng)的架構(gòu)非常合理。
1 系統(tǒng)分析與設(shè)計
1.1 系統(tǒng)總體功能設(shè)計
根據(jù)醫(yī)院人事部門的職責(zé)及實(shí)際需求,將系統(tǒng)分為五個功能模塊:系統(tǒng)管理、機(jī)構(gòu)編制管理、人員信息管理、薪資福利管理、查詢統(tǒng)計管理。系統(tǒng)總體功能框圖如圖1。
1.2 系統(tǒng)各功能模塊分析
1)系統(tǒng)管理。設(shè)置系統(tǒng)管理權(quán)限,普通職工無權(quán)限修改信息資料。
2)機(jī)構(gòu)編制管理。設(shè)置單位的組織機(jī)構(gòu),包括機(jī)構(gòu)設(shè)置和機(jī)構(gòu)詳細(xì)信息,實(shí)現(xiàn)科室詳細(xì)信息的查詢,如產(chǎn)科:科室簡介,人員簡介,診次安排等。
3)人員信息管理。管理和查詢單位職工的相關(guān)信息,包含基本信息、個人簡歷、離退休登記等。
4)薪資福利管理。實(shí)現(xiàn)單位職工的薪資福利管理,包含當(dāng)月工資管理、個人所得稅率、職員獎勵及懲罰管理。
5)查詢統(tǒng)計管理。實(shí)現(xiàn)萬能查詢,職工可對任何信息按指定條件進(jìn)行查詢。
2 系統(tǒng)技術(shù)架構(gòu)
2.1 .NET平臺與Castle框架
.NET平臺[2]是微軟公司推出的一個全新的計算平臺,為在因特網(wǎng)環(huán)境中開發(fā)Windows 應(yīng)用程序、Web應(yīng)用程序、移動計算等提供了一個一致的開發(fā)環(huán)境。
Castle是.NET系統(tǒng)級框架,是通過將一些成熟開源應(yīng)用進(jìn)行無縫整合而成的一套完善的應(yīng)用系統(tǒng)框架,是.NET平臺的一個開源項(xiàng)目,從數(shù)據(jù)訪問框架ORM到IOC容器,再到WEB層的MVC框架,基本包括了整個開發(fā)過程中的所有內(nèi)容,為開發(fā)靈活、穩(wěn)定的軟件系統(tǒng)提供了一個好平臺。其中包括了ActiveRecord[3]、MonoRail及Windsor。
ActiveRecord是一個O/R(對象持久化)工具,實(shí)現(xiàn)了數(shù)據(jù)庫操作從傳統(tǒng)SQL模式到基于對象模式的轉(zhuǎn)換和業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層分離,提高了系統(tǒng)開發(fā)對數(shù)據(jù)庫的透明度和開發(fā)效率。其對ORM框架Hibernate進(jìn)行了封裝處理,且為ORM提供對象持久、關(guān)系對象查詢等功能??蚣苌婕暗降年P(guān)鍵技術(shù)主要有:透明的持久對象層;客戶端應(yīng)用對象空間與數(shù)據(jù)庫服務(wù)器端元組空間的映射[4]。在ActiveRecord的實(shí)現(xiàn)中,Model對象必須繼承于Active-RecordBase對象以便于Castle容器進(jìn)行控制,限制Model對象從其他非持久化對象繼承的可能。
MonoRail是Ruby on Rail的.NET實(shí)現(xiàn),是一個MVC Web框架,包括Model、Controller、View三個元素,MVC采用前端控制器模式。在界面表達(dá)方式上MonoRail采用模板引擎輸出,MVC框架以不同方式把URL映射到服務(wù)器代碼類上,這些類稱為“Controllers”,負(fù)責(zé)處理到來的請求、用戶輸入和交互、執(zhí)行基于輸入和交互的相應(yīng)的應(yīng)用和數(shù)據(jù)邏輯。一個Controller類一般會調(diào)用單獨(dú)的“視圖”組件,該組件負(fù)責(zé)生成請求的實(shí)際的HTML輸出。視圖是負(fù)責(zé)顯示應(yīng)用程序的用戶接口(UI)的組件[5]。
Castle IOC[6]是一個IOC工具。Windsor是Castle的底層核心實(shí)現(xiàn),是Castle的一個IOC(依賴注入)容器,構(gòu)建于Micro Kernel之上,能檢測類并了解使用這些類時需要什么參數(shù),檢測類型和類型之間的工作依賴性,并提供服務(wù)或者發(fā)生錯誤時提供預(yù)警機(jī)制。
2.2 架構(gòu)模式
系統(tǒng)采用B/S三層架構(gòu)模式,包括表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久化層,使程序具有良好的可擴(kuò)展性、靈活性、安全性、平臺無關(guān)性和可維護(hù)性,且各個層次清晰,架構(gòu)合理,更加符合面向?qū)ο笏枷隱7]。體系結(jié)構(gòu)模型如圖2所示。
2.2.1 .NET實(shí)現(xiàn)系統(tǒng)表示層
表示層是用戶直接接觸的層面,包括了用戶與系統(tǒng)的所有交互。
2.2.2 Castle IOC實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層是系統(tǒng)的核心層,集中于整個事務(wù)的處理過程。Castle IOC會自動去連接對象之間的依賴關(guān)系,所有的組件配置都放在Components節(jié)點(diǎn)中。
2.2.3 Castle ActiveRecord實(shí)現(xiàn)系統(tǒng)的數(shù)據(jù)持久化層
采用ActiveRecord,支持先有實(shí)體類,然后由實(shí)體類生成數(shù)據(jù)庫表,集中于整個數(shù)據(jù)的處理過程,減少了代碼量,保證了效率和質(zhì)量。
3 系統(tǒng)實(shí)現(xiàn)
.NET技術(shù)與Castle框架的結(jié)合,為數(shù)字化醫(yī)院信息系統(tǒng)的開發(fā)提供了一種新的Web開發(fā)模型。應(yīng)用以上方法,數(shù)據(jù)庫服務(wù)器采用SQL Server 2005[8]開發(fā)和實(shí)現(xiàn)了淄博市某醫(yī)院人力資源管理系統(tǒng),實(shí)現(xiàn)了系統(tǒng)管理模塊、機(jī)構(gòu)編制管理模塊、人員信息管理模塊、查詢統(tǒng)計管理模塊和薪資福利管理模塊五個模塊的功能。經(jīng)過近一年來的運(yùn)行,系統(tǒng)穩(wěn)定性強(qiáng),易維護(hù),易擴(kuò)展。且具有以下優(yōu)勢:
在該人力資源管理系統(tǒng)中,醫(yī)院不同專業(yè)技術(shù)人員都可以像操作Windows桌面一樣進(jìn)行可視化操作,同時支持不同的用戶身份登陸,分布交互。做為HIS系統(tǒng)中的eHR系統(tǒng),也是醫(yī)院信息流、資金流、藥品入出等各方面的中心樞紐,對業(yè)務(wù)處理的實(shí)時性和共享性要求比較高。為了保證系統(tǒng)的效率,在系統(tǒng)架構(gòu)上,采用數(shù)據(jù)庫服務(wù)器并行處理,分擔(dān)處理負(fù)載,從而最大限度地提高系統(tǒng)的交互能力。
4 結(jié)束語
該文通過研究當(dāng)今醫(yī)院信息化發(fā)展現(xiàn)狀,分析了醫(yī)院人力資源管理信息化建設(shè)的必要性,在Castle框架的基礎(chǔ)上,對醫(yī)院eHR體系結(jié)構(gòu)進(jìn)行研究設(shè)計。目前Castle框架已經(jīng)在Web項(xiàng)目中得以推廣,該種開發(fā)模式不僅提高了效率,而且極易系統(tǒng)的維護(hù)與擴(kuò)展,相信在以后的軟件開發(fā)構(gòu)建中有著良好的應(yīng)用前景。
參考文獻(xiàn):
[1] Castle的官方網(wǎng)站http://www.castleproject.org.
[2] (美)陳新.應(yīng)用框架的設(shè)計與實(shí)現(xiàn)—.NET平臺[M].溫昱,靳向陽,譯.北京:電子工業(yè)出版社,2005.
[3] Kevin Marshall.Pro Active Record: Databases with Ruby and Rails[M].英文原版系列圖書,2007.
[4] 萬長鵬,唐慧佳.基于ASP.NET+Castle框架的旅游管理系統(tǒng)的設(shè)計[J].成都信息工程學(xué)院學(xué)報,2007,22(4):458-461.
[5] (美)里克特..NET框架程序設(shè)計—微軟.NET程序員系列[M].李建忠,譯.修訂版.北京:清華大學(xué)出版社,2003.
[6] 羅時灼.精通Spring[M].北京:電子工業(yè)出版社,2005:14-50.
[7] (美)布奇.面向?qū)ο蠓治雠c設(shè)計[M].王海鵬,潘加宇,譯.3版.北京:人民郵電出版社,2009.
[8] (美)恭德羅依.SQL Server 2005從入門精通[M].曲麗君,譯.中文版.北京:電子工業(yè)出版社,2006.