沈濟(jì)南,梁 芳
(1.湖北民族學(xué)院 信息工程學(xué)院,湖北 恩施445000;2.湖北民族學(xué)院 理學(xué)院,湖北 恩施445000)
高校學(xué)生工作管理涉及到學(xué)生的課程學(xué)習(xí)、思想教育、日常生活等各個方面,工作繁雜,是高校管理中的一項十分重要的工作.傳統(tǒng)的學(xué)生工作管理方法存在許多弊端,如工作效率低;信息更新、查詢、維護(hù)困難等,已經(jīng)不能適應(yīng)當(dāng)前高校的發(fā)展要求,也成為了高校管理的“瓶頸”[1].
本文提出了一個基于Spring、Struts 和iBatis 框架的學(xué)生工作管理系統(tǒng).該系統(tǒng)結(jié)合湖北民族學(xué)院學(xué)生工作管理實際,為學(xué)生工作提供了信息化的解決方案.
在B/S 模式的管理信息系統(tǒng)開發(fā)中,常見的技術(shù)有ASP、PHP、JSP 及.NET 等[2-5].在JAVA 的Web 應(yīng)用開發(fā)中,SUN 公司推出了經(jīng)典的MVC(Model-View-Controller)設(shè)計模式,將模型層、顯示層、控制層分離開來,各司其職,如圖1 所示[6].
圖1 MVC 模式Fig.1 MVC model
在MVC 模式中,開發(fā)者可以接觸到許多的J2EE 框架,將不同層上的框架進(jìn)行整合開發(fā). 本系統(tǒng)采用Struts +Spring+iBatis 框架組合.表示層使用Struts 框架,完成頁面顯示、響應(yīng)用戶請求等功能;控制層使用Spring 框架,完成應(yīng)用系統(tǒng)的業(yè)務(wù)邏輯與事務(wù)處理等功能;iBatis 負(fù)責(zé)數(shù)據(jù)持久化,完成與數(shù)據(jù)層的交互功能[3].
SSI 開發(fā)框架使每一層的功能和職責(zé)定義非常清晰,可以降低代碼的耦合度,增強(qiáng)系統(tǒng)的健壯性和穩(wěn)定性,提高系統(tǒng)的可維護(hù)性、拓展性和系統(tǒng)開發(fā)速度.
學(xué)生工作管理對學(xué)生從入校到畢業(yè)的過程進(jìn)行全面管理,具體是對學(xué)生的日常生活、學(xué)習(xí)、活動等進(jìn)行全面管理,主要包括學(xué)生學(xué)籍、檔案、綜合測評、寢室管理、社團(tuán)組織、獎助學(xué)金、勤工助學(xué)等方面管理.結(jié)合調(diào)研湖北民族學(xué)院學(xué)生工作實際,設(shè)計系統(tǒng)的功能模塊如圖2.
圖2 系統(tǒng)功能模塊圖Fig.2 The function module diagram of system
1)基本數(shù)據(jù)管理:該模塊包括二級學(xué)院、系部、專業(yè)、班級、教師、學(xué)生、公寓樓棟、寢室等信息初始化、更新等管理操作,是學(xué)工系統(tǒng)的基礎(chǔ),也將提供和數(shù)字化校園其他系統(tǒng)的數(shù)據(jù)接口.
2)系統(tǒng)管理:包括系統(tǒng)角色管理、用戶維護(hù)、權(quán)限管理等.
3)學(xué)生管理:包括軍訓(xùn)、注冊信息、獎學(xué)金、助學(xué)金、學(xué)生成績(從教務(wù)系統(tǒng)導(dǎo)入)、學(xué)生獎懲、學(xué)籍變更、心理健康、畢業(yè)去向等.
4)班級管理:包括班級衛(wèi)生、班級評優(yōu)、貧困生檔案、班干部檔案、處分信息管理.
5)公寓管理:包括公寓入住信息、公寓變更、公寓安全、公寓衛(wèi)生、公寓文化等.
6)檔案管理:對系統(tǒng)運(yùn)行過程中形成的歷史文件等進(jìn)行歸檔管理.
7)群團(tuán)管理:包括學(xué)生科管理、團(tuán)委管理、學(xué)生會管理、公寓部管理、黨支部管理(黨建學(xué)習(xí)、申請書管理、積極分子管理、預(yù)備黨員管理、黨員管理、黨支部活動情況管理、黨員學(xué)習(xí)情況管理、黨支部信息統(tǒng)計、院系黨建信息統(tǒng)計)等.
8)班主任管理:包括班主任評優(yōu)、上交材料統(tǒng)計、談話記錄、班主任考勤、班主任日常工作的信息管理等.
9)勤工助學(xué)管理:包括勤工崗位安排、勤工崗位推薦、勤工崗位統(tǒng)計等.
10)綜合測評:主要是對學(xué)生進(jìn)行綜合測評管理,依據(jù)管理條例,設(shè)置加分與減分細(xì)則,進(jìn)行統(tǒng)計管理.
11)助學(xué)貸款:包括助學(xué)貸款政策、助學(xué)貸款申請、助學(xué)貸款審批、助學(xué)貸款發(fā)放、辦理離校手續(xù)、貸款情況綜合查詢等.
文獻(xiàn)[8]給出了基于RBAC 模型的權(quán)限設(shè)計思想在數(shù)字化校園中的應(yīng)用.學(xué)生工作管理系統(tǒng)作為該數(shù)字化校園項目中的一部分,在設(shè)計該系統(tǒng)權(quán)限過程中,遵從了該設(shè)計思想,并依據(jù)本系統(tǒng)實際,對系統(tǒng)的用戶進(jìn)行了分類.學(xué)生工作管理系統(tǒng)中,將系統(tǒng)的角色分成了學(xué)生、教師、學(xué)工管理員和系統(tǒng)管理員四大類,系統(tǒng)各角色用例圖如圖3.
圖3 系統(tǒng)用例圖Fig.3 The use case diagram of system
根據(jù)系統(tǒng)功能需求,設(shè)計系統(tǒng)E- R圖如圖4.
圖4 系統(tǒng)E-R 圖Fig.4 The E-R diagram of system
學(xué)生工作管理系統(tǒng)的實現(xiàn)基于SSI 框架,采用tomcat 7.0 作為WEB 容器,數(shù)據(jù)庫服務(wù)器采用Oracle 10g,開發(fā)工具使用Eclipse.在J2EE 架構(gòu)中,表示層使用Struts 框架,控制層使用Spring 框架,數(shù)據(jù)持久化層采用iBatis.
1)Struts 框架.由于前臺用戶的請求具有不可預(yù)見性,后臺的數(shù)據(jù)處理需要根據(jù)用戶請求傳遞的參數(shù)進(jìn)行相應(yīng)的處理.故在表示層Struts 框架中,對所有請求的URL 統(tǒng)一處理,將所有的WEB 的運(yùn)行環(huán)境和在運(yùn)行期間的數(shù)據(jù)進(jìn)行了封裝.在服務(wù)器端請求數(shù)據(jù)時,直接應(yīng)用Servlet 技術(shù),而沒有在其上進(jìn)行其他的封裝,通過fillMapByRequest 方法,在運(yùn)行期間取出所有的request 中的數(shù)據(jù),在運(yùn)行期間對所有的請求參數(shù)進(jìn)行自動的數(shù)據(jù)類型的一種轉(zhuǎn)換.這樣就讓程序員從一般的前臺數(shù)據(jù)中解脫出來,主要關(guān)心自己的業(yè)務(wù)邏輯,并且這樣帶來的好處時運(yùn)行的效率很高,不容易出錯,不會在程序期間出現(xiàn)一些不可見的Bug.主要代碼如下:
2)Spring 框架.在Spring 框架中,使用doService 方法提供上層調(diào)用,而具體下層的實現(xiàn)只需要去實現(xiàn)這個類中用戶自己想要的操作,所有的操作都在這一個類中去完成,代碼如下.
3)iBatis 框架.Ibatis 框架的優(yōu)點(diǎn)是容易控制,本系統(tǒng)只選擇了它對于SQL 操作方便這一優(yōu)點(diǎn),而對于對象關(guān)聯(lián)技術(shù)并沒有去運(yùn)用它的實現(xiàn),交由SQL 實現(xiàn).?dāng)?shù)據(jù)訪問層的設(shè)計也提供了一個具體類,而其他的所有的數(shù)據(jù)訪問層的操作都去操作這個類.
本系統(tǒng)的權(quán)限管理基于RBAC 思想。系統(tǒng)所有資源(包括系統(tǒng)中的功能菜單、各個界面的功能接口等)均以URL 的形式給出.對資源的操作規(guī)定成一組編碼,二進(jìn)制0001 表示增加操作,0010 表示更新操作,0100表示查看操作,1000 表示刪除操作,它們的十進(jìn)制形式分別為1,2,4,8.某角色的用戶對資源進(jìn)行具體的操作時,系統(tǒng)對該角色的操作權(quán)限進(jìn)行判斷,進(jìn)而決定用戶能否進(jìn)行相關(guān)的操作.如:權(quán)限值為7,表示用戶具有這個資源的增加、更新和查看功能[9].
圖5 為系統(tǒng)的權(quán)限管理,以實現(xiàn)對系統(tǒng)的各級菜單等資源的動態(tài)設(shè)置,包括資源類型、資源名稱、資源地址、操作等.如系統(tǒng)設(shè)置、綜合測評等是一級菜單,而權(quán)限管理、角色管理等是系統(tǒng)設(shè)置的二級菜單.在權(quán)限資源庫的基礎(chǔ)上,通過將不同編號的資源分配給不同的角色,以實現(xiàn)角色的權(quán)限配置.
圖5 系統(tǒng)權(quán)限管理Fig.5 The permission management of system
在對學(xué)生工作管理現(xiàn)狀調(diào)研的基礎(chǔ)上,基于MVC 模式,用Spring、Struts 和Ibatis 框架設(shè)計并實現(xiàn)了學(xué)生工作管理系統(tǒng),系統(tǒng)能夠滿足學(xué)生工作管理的基本需要.通過系統(tǒng)中的基本數(shù)據(jù)模塊,可以方便地和數(shù)字化校園的其他系統(tǒng)進(jìn)行對接,滿足數(shù)字化校園中各系統(tǒng)基礎(chǔ)數(shù)據(jù)的一致性和完整性.
[1] 金敏輝.校園學(xué)生工作管理系統(tǒng)的設(shè)計與實現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2013.
[2] 沈濟(jì)南,梁芳.基于C/S 與B/S 混合模式的學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)[J].牡丹江師范學(xué)院學(xué)報:自然科學(xué)版,2006(4):18-19.
[3] 張陽.基于AJAX 技術(shù)的MVC 模式WEB 應(yīng)用[J].西南民族大學(xué):自然科學(xué)版2007,33(3):685-688.
[4] 李峰.基于ASP.NET 及索引服務(wù)的Web 站點(diǎn)全文檢索系統(tǒng)[J].云南民族大學(xué)學(xué)報:自然科學(xué)版,2013,22(2):153-156.
[5] 汪濤,柳兵.基于J2EE 的就業(yè)管理信息系統(tǒng)的設(shè)計與實現(xiàn)[J].湖北民族學(xué)院學(xué)報:自然科學(xué)版,2013,31(2):216-218.
[6] Wojciechowski J,Sakowicz B,Dura K,et al.MVC model,struts framework and file upload issues in web applications based on J2EE platform[C]//Modern Problems of Radio Engineering,Telecommunications and Computer Science,Proceedings of the International Conference,IEEE,2004:342-345.
[7] 唐永瑞,張達(dá)敏.基于SSI 的應(yīng)急事務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機(jī)技術(shù)與發(fā)展,2014,24(4):151-154.
[8] 梁芳.RBAC 模型在數(shù)字化校園中的應(yīng)用研究[J].湖北民族學(xué)院學(xué)報:自然科學(xué)版,2012,30(3):299-301.
[9] 向軍,翁建國,胡俊鵬.基于RBAC 的恩施旅游網(wǎng)安全策略機(jī)制研究[J].湖北民族學(xué)院學(xué)報:自然科學(xué)版,2013,31(3):313-315.