秦桂英 王景勝
(常州機(jī)電職業(yè)技術(shù)學(xué)院,江蘇常州213000)
隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,為提高高校人事管理部門的工作效率,解決傳統(tǒng)管理方式中數(shù)據(jù)一致性差、統(tǒng)計(jì)查詢費(fèi)時(shí)費(fèi)力且易出差錯(cuò)、報(bào)表生成難度大等問(wèn)題,各高校紛紛采用人事管理系統(tǒng)進(jìn)行管理。但傳統(tǒng)的高校人事管理系統(tǒng)的開(kāi)發(fā)技術(shù)較為陳舊,體系架構(gòu)混亂,系統(tǒng)的可維護(hù)性及可擴(kuò)展性較差,用戶操作友好性差,其已不能適應(yīng)現(xiàn)代信息化發(fā)展的需要。因此,采用ASP.NET和Ajax等技術(shù)以及三層架構(gòu)設(shè)計(jì)模式開(kāi)發(fā)高校人事系統(tǒng)是現(xiàn)代教育信息化發(fā)展的需要。
ASP.NET是M icrosoft.NET的一部分,它提供了一個(gè)統(tǒng)一的Web開(kāi)發(fā)模型,以及一種新的編程模型和結(jié)構(gòu),可生成伸縮性和穩(wěn)定性更好的應(yīng)用程序,并提供更好的安全保護(hù)。使用ASP.NET開(kāi)發(fā)Web應(yīng)用程序具有易于寫(xiě)出結(jié)構(gòu)清晰的代碼、代碼易于重用和共享、可用編譯類語(yǔ)言編寫(xiě)等特點(diǎn)。
在軟件體系架構(gòu)設(shè)計(jì)中,分層式結(jié)構(gòu)是最常見(jiàn),也是最重要的一種結(jié)構(gòu)。通常意義上的三層架構(gòu)就是將整個(gè)業(yè)務(wù)應(yīng)用劃分為:表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(DAL)。
(1)表現(xiàn)層(UI):位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。表示層一般為Windows應(yīng)用程序或Web應(yīng)用程序。
(2)業(yè)務(wù)邏輯層(BLL):該層是系統(tǒng)架構(gòu)中體現(xiàn)核心價(jià)值的部分,針對(duì)具體問(wèn)題的操作,也可以說(shuō)是對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理。
(3)數(shù)據(jù)訪問(wèn)層(DAL):該層所做事務(wù)直接操作數(shù)據(jù)庫(kù),針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。
使用三層架構(gòu)開(kāi)發(fā)應(yīng)用程序的優(yōu)點(diǎn):
1)開(kāi)發(fā)人員可以只關(guān)注整個(gè)結(jié)構(gòu)中的其中某一層;
2)可以很容易地用新的實(shí)現(xiàn)來(lái)替換原有層次的實(shí)現(xiàn);
3)可以降低層與層之間的依賴;
4)有利于標(biāo)準(zhǔn)化;
5)有利于各層邏輯的復(fù)用。
高校人事管理系統(tǒng)的主要功能包括:教師信息管理、人才引進(jìn)管理、職稱評(píng)定管理、教師培訓(xùn)管理、教師評(píng)優(yōu)管理、信息管理、意見(jiàn)建議反饋管理、系統(tǒng)設(shè)置、郵件通知等功能,系統(tǒng)功能結(jié)構(gòu)如圖2所示。
高校人事管理系統(tǒng)結(jié)構(gòu)復(fù)雜,而且常常需要添加新的功能模塊,為了使得高校人事管理系統(tǒng)邏輯結(jié)構(gòu)清晰,提高系統(tǒng)的開(kāi)發(fā)效率、降低維護(hù)成本、提升軟件的可維護(hù)性和可擴(kuò)展性,高校人事管理系統(tǒng)框架結(jié)構(gòu)采用三層架構(gòu)設(shè)計(jì),主要分為表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層。同時(shí)為了適應(yīng)不同數(shù)據(jù)庫(kù)環(huán)境,使系統(tǒng)支持多種數(shù)據(jù)庫(kù)訪問(wèn),在數(shù)據(jù)訪問(wèn)層使用抽象工廠設(shè)計(jì)模式。系統(tǒng)運(yùn)行時(shí),由數(shù)據(jù)工廠決定使用不同的數(shù)據(jù)訪問(wèn)模塊訪問(wèn)多種數(shù)據(jù)庫(kù)。高校人事管理系統(tǒng)架構(gòu)設(shè)計(jì)如圖3所示。
在高校人事管理系統(tǒng)架構(gòu)圖中,虛線邊框的圓角矩形表示解決方案中的項(xiàng)目,直角矩形表示完成特定功能的重要類,實(shí)線邊框矩形表示分類模塊,圓柱體表示數(shù)據(jù)庫(kù)。
(1)表現(xiàn)層設(shè)計(jì)
在表現(xiàn)層WebUI中Security是系統(tǒng)安全驗(yàn)證的主要類,并且它調(diào)用IProfile接口來(lái)取得數(shù)據(jù)庫(kù)中的信息。
表現(xiàn)層中CommonWebUI項(xiàng)目?jī)?nèi)置了一些常用的類,使用Response.W rite語(yǔ)句返回客戶端的javascript語(yǔ)句模板。CommonWebUI項(xiàng)目使開(kāi)發(fā)人員在編寫(xiě)表現(xiàn)層代碼的時(shí)候不必重復(fù)書(shū)寫(xiě)javascript語(yǔ)句和也不必關(guān)心javascript的語(yǔ)法。
表現(xiàn)層中WinUI項(xiàng)目主要完成對(duì)教師相關(guān)資料的導(dǎo)入工作??紤]到使用普通的C/S結(jié)構(gòu),客戶端和服務(wù)器端之間可能需要跨防火墻,同時(shí)為了提高代碼重用率,采用WinUI調(diào)用Web Service的方式來(lái)完成教師信息導(dǎo)入的功能。
(2)業(yè)務(wù)邏輯層設(shè)計(jì)
業(yè)務(wù)邏輯層中,BLL項(xiàng)目中包含高校人事管理系統(tǒng)的所有業(yè)務(wù)邏輯的處理,它調(diào)用IDAL項(xiàng)目中對(duì)應(yīng)的數(shù)據(jù)庫(kù)處理類來(lái)進(jìn)行數(shù)據(jù)庫(kù)的訪問(wèn)。EmailNotify項(xiàng)目為郵件通知模塊,當(dāng)業(yè)務(wù)邏輯層BLL中完成了相關(guān)的申請(qǐng)或?qū)徍藭r(shí),Email-Notify會(huì)收到業(yè)務(wù)邏輯層BLL發(fā)來(lái)的通知,此時(shí)EmailNotify從IProfile進(jìn)行個(gè)人設(shè)置的查詢,確定是否將郵件加入郵件隊(duì)列等待發(fā)送。
(3)數(shù)據(jù)訪問(wèn)層設(shè)計(jì)
數(shù)據(jù)訪問(wèn)層由數(shù)據(jù)工廠來(lái)決定接口的實(shí)現(xiàn)。數(shù)據(jù)工廠ProfileFactory和DALFactory使用工廠模式,工廠內(nèi)使用反射機(jī)制,從Web.config讀取配置信息,根據(jù)配置信息使用反射機(jī)制加載對(duì)應(yīng)的數(shù)據(jù)庫(kù)訪問(wèn)的程序集。在數(shù)據(jù)工廠中選擇不同程序集完成對(duì)不同數(shù)據(jù)庫(kù)訪問(wèn)接口實(shí)現(xiàn)。
數(shù)據(jù)訪問(wèn)接口IDAL由DALFactory決定是由SQLServer DAL還是MySQLDAL實(shí)現(xiàn)。DBUtility項(xiàng)目中包含了SQL SERVER和MYSQL的數(shù)據(jù)庫(kù)操作。
表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層中,使用Model項(xiàng)目中的業(yè)務(wù)實(shí)體進(jìn)行數(shù)據(jù)傳遞。此架構(gòu)使得程序邏輯結(jié)構(gòu)清晰,大大減弱了模塊之間的耦合,系統(tǒng)上層只需要關(guān)心他需要的服務(wù),不必關(guān)心服務(wù)是如何實(shí)現(xiàn)的,各模塊各職其責(zé),分工明確,從而提升了高校人事系統(tǒng)各模塊的獨(dú)立性,同時(shí)使得系統(tǒng)更加可靠。
ASP.NET是一種建立在通用語(yǔ)言上的程序構(gòu)架,以其作為技術(shù)平臺(tái),結(jié)合三層架構(gòu)的軟件設(shè)計(jì)體系,使開(kāi)發(fā)者能夠更專注于應(yīng)用程序的業(yè)務(wù)邏輯的開(kāi)發(fā)?;贏SP.NET和三層架構(gòu)體系開(kāi)發(fā)的高校人事管理系統(tǒng),可以克服傳統(tǒng)高校人事管理系統(tǒng)的缺點(diǎn),同時(shí)也大大提升了系統(tǒng)的可維護(hù)性和可擴(kuò)充性,縮短系統(tǒng)的開(kāi)發(fā)周期。
[1] 李克勛.教職工信息系統(tǒng)在高校人事管理中的應(yīng)用[J].安徽大學(xué)學(xué)報(bào)(自然科學(xué)版),2001,(04).
[2] 韓堅(jiān)華.高校人事管理信息系統(tǒng)的研究與開(kāi)發(fā)[J].計(jì)算機(jī)工程與應(yīng)用,1996,(03).
[3] 張計(jì)龍.基于改進(jìn)MVC的高校人事管理系統(tǒng)[J].計(jì)算機(jī)工程,2004,(08).
[4] 王軍.基于ASP.NET的辦公自動(dòng)化系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].科技咨詢導(dǎo)報(bào),2007,(15).
[5] 梁西陳,朱水源.基于.NET的高職院校教師信息管理系統(tǒng)研發(fā)[J].宿州教育學(xué)院學(xué)報(bào),2009,(01).
[6] 毛銳,趙季中.基于ASP.NET的旅游監(jiān)管系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2008,(24).