摘 要: 研究了高??蒲泄芾硐到y(tǒng)的現(xiàn)狀,分析了當(dāng)前流行的JavaEE技術(shù),并利用SSH(Struts+Spring+Hibernate)框架進(jìn)行系統(tǒng)建模;給出了一個(gè)基于SSH的科研管理系統(tǒng)結(jié)構(gòu)圖,詳細(xì)分析了該框架結(jié)構(gòu)中的三個(gè)層次,即展現(xiàn)層、業(yè)務(wù)邏輯層、持久化層。分析了系統(tǒng)的功能結(jié)構(gòu),并結(jié)合不同的用戶權(quán)限描述了每個(gè)模塊的功能??偨Y(jié)了基于SSH的科研管理系統(tǒng)的優(yōu)點(diǎn)。
關(guān)鍵詞: 高校科研管理系統(tǒng); Struts; Spring; Hibernate
中圖分類號(hào):TP311.1 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2013)12-30-02
Design and implementation of research management system in colleges based on SSH
Zhu Erli
(Dept. of Information Technology, Suzhou Institute of Trade and Commerce, Suzhou, Jiangsu 215009, China)
Abstract: The current situation of the research management system in colleges is researched. The current popular JavaEE technology is analyzed and SSH framework for system modeling is used. A system structure diagram based on SSH is given, and three levels of the framework structure are analyzed, namely the presentation layer, business layer, data source layer. The function of the system combined with the different user permissions is discussed to explain these modules. Finally, the advantages of the system based on SSH are summarized.
Key words: research management system in colleges; Struts; Spring; Hibernate
0 引言
高校的科研工作越來越受到重視,為了發(fā)揮教師開展科研工作的潛能,進(jìn)而促進(jìn)教育教學(xué)水平的提高,許多高校都投入了大量的資金立項(xiàng),鼓勵(lì)教師進(jìn)行科學(xué)研究。高??萍籍a(chǎn)業(yè)處負(fù)責(zé)統(tǒng)籌管理高校的科學(xué)研究工作,其首要工作就是組織好科研項(xiàng)目的申報(bào)工作。目前高校教師申請(qǐng)的科研項(xiàng)目種類多、數(shù)量多,所涉及的學(xué)科專業(yè)復(fù)雜,整個(gè)申報(bào)和管理過程基本都已經(jīng)借助于計(jì)算機(jī)進(jìn)行輔助管理。但是,尚未實(shí)現(xiàn)真正意義上的網(wǎng)上申報(bào),且大部分?jǐn)?shù)據(jù)處理工作仍依靠人工完成。如申請(qǐng)項(xiàng)目時(shí)需要填寫紙質(zhì)的申請(qǐng)書,申請(qǐng)效率不高;科技產(chǎn)業(yè)處在數(shù)據(jù)錄入、項(xiàng)目審核、保存、統(tǒng)計(jì)、查詢過程中也以手工操作為主,數(shù)據(jù)準(zhǔn)確性不高;紙質(zhì)存檔材料一旦損壞或丟失,不能挽救。這種傳統(tǒng)的管理方式已經(jīng)嚴(yán)重制約了科研工作的發(fā)展步伐。因而,提高科研管理的效率和水平,使科研管理工作更加科學(xué)化和規(guī)范化,加強(qiáng)科研申報(bào)工作信息化建設(shè)勢(shì)在必行。
1 相關(guān)技術(shù)介紹
科研項(xiàng)目的申報(bào)工作應(yīng)該充分利用現(xiàn)代信息技術(shù),將申報(bào)工作放到計(jì)算機(jī)和網(wǎng)絡(luò)這個(gè)快捷平臺(tái)上來完成。本科研管理系統(tǒng)采用當(dāng)前流行的B/S結(jié)構(gòu),使用JSP編程語言,基于Java EE的三種框架進(jìn)行集成開發(fā),包括Struts2框架、Spring框架、Hibernate框架,它們?cè)谡麄€(gè)系統(tǒng)的開發(fā)過程中起著不同的作用;同時(shí)結(jié)合Dreamwaver網(wǎng)頁(yè)制作技術(shù),采用SQL Server構(gòu)建后臺(tái)數(shù)據(jù)庫(kù),使用Apache的Tomcat服務(wù)器作為Web服務(wù)器。
Struts2是Struts的下一代產(chǎn)品,是在 Struts1和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并,得到全新的Struts 2框架。Struts2框架中核心組件就是Action、攔截器等,Struts2框架使用包來管理Action和攔截器等。在系統(tǒng)設(shè)計(jì)中,采用Struts2攔截器的機(jī)制來處理用戶的請(qǐng)求,這樣的設(shè)計(jì)使得業(yè)務(wù)邏輯控制器與Servlet API完全脫離開。
Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲地使用對(duì)象編程思維來操縱數(shù)據(jù)庫(kù)。
Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的。該框架可以方便解耦,簡(jiǎn)化開發(fā)。通過Spring提供的IoC容器,我們可以將對(duì)象之間的依賴關(guān)系交由Spring進(jìn)行控制,避免硬編碼所造成的過度程序耦合。有了Spring,用戶不必再為單實(shí)例模式類、屬性文件解析等這些很底層的需求編寫代碼,可以更專注于上層的應(yīng)用。
科研管理系統(tǒng)的前端采用Struts2框架,后臺(tái)采用Hibernate對(duì)數(shù)據(jù)庫(kù)進(jìn)行各種操作,中間層采用Spring,三種框架的結(jié)合能夠很好地實(shí)現(xiàn)科研管理系統(tǒng)的設(shè)計(jì),使得模型層、展現(xiàn)層、控制層得以分離,降低了系統(tǒng)的耦合度。
2 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)可以滿足普通教師科研項(xiàng)目申報(bào)的需求,滿足系部管理者對(duì)本系部科研項(xiàng)目初審的需要,同時(shí)也可以滿足科技產(chǎn)業(yè)處領(lǐng)導(dǎo)對(duì)科研項(xiàng)目的宏觀管理與決策的需要。因此該系統(tǒng)有助于實(shí)現(xiàn)科研管理的信息化,對(duì)提高管理工作的效率和水平,促進(jìn)科研管理決策科學(xué)化,促進(jìn)成果轉(zhuǎn)化、實(shí)現(xiàn)科研管理創(chuàng)新等具有重要意義[1]。
科研項(xiàng)目申報(bào)系統(tǒng)是以科研項(xiàng)目的申報(bào)和管理流程為核心,依托校園網(wǎng)現(xiàn)有資源,全方位通過計(jì)算機(jī)和網(wǎng)絡(luò)來管理科研項(xiàng)目,以達(dá)到方便、高效地管理和控制,提高管理效能。該項(xiàng)目主要實(shí)現(xiàn):對(duì)項(xiàng)目的管理;對(duì)科研信息的查詢;全方位的科研管理服務(wù),為學(xué)??蒲泄芾順I(yè)務(wù)提供信息化支持;輔助科研負(fù)責(zé)人或科研管理者管理相應(yīng)的科研工作,及時(shí)掌握、了解學(xué)院教師的科研申報(bào)情況,方便且高效地完成科研管理工作。該科研管理系統(tǒng)的結(jié)構(gòu)如圖1所示[2]。
[展現(xiàn)層\Struts2\配置文件
模板頁(yè)面\][業(yè)務(wù)邏輯層\Spring\Ioc容器,
Hibernate的支持\][持久化層\Hibernate\映射文件,Hibernate接口,DAO模式\]
圖1 系統(tǒng)結(jié)構(gòu)圖
2.1 展現(xiàn)層
展現(xiàn)層借助于Struts框架來實(shí)現(xiàn)MVC模型中的視圖和控制部分,視圖部分即用戶所看到的實(shí)際頁(yè)面,登錄頁(yè)面、申報(bào)頁(yè)面、審核頁(yè)面等,用JSP實(shí)現(xiàn)。該層不存在邏輯處理部分的代碼,它只是用戶與管理系統(tǒng)進(jìn)行交互的界面,主要作用是接受瀏覽器請(qǐng)求并接收客戶端信息,然后通過控制器去查找對(duì)應(yīng)的請(qǐng)求,并把請(qǐng)求發(fā)到與之對(duì)應(yīng)的Action,再在Action中調(diào)用業(yè)務(wù)邏輯處理程序進(jìn)行處理,最后將最終處理結(jié)果返回給用戶。
2.2 業(yè)務(wù)邏輯層
業(yè)務(wù)邏輯層作為中間層,利用Spring框架實(shí)現(xiàn)。該層是整個(gè)系統(tǒng)的核心。主要包括各個(gè)應(yīng)用模塊的業(yè)務(wù)處理類。具體可分為用戶管理模塊,普通教師申報(bào)模塊,系部管理模塊,科技產(chǎn)業(yè)處管理模塊,公共查詢模塊等幾個(gè)大模塊。Spring是業(yè)務(wù)邏輯層的容器,在此利用了Spring的Ioc機(jī)制(控制反轉(zhuǎn)和依賴注入)??刂品崔D(zhuǎn)就是由容器控制程序之間的(依賴)關(guān)系,而非傳統(tǒng)實(shí)現(xiàn)中,由程序代碼直接操控。依賴注入是指組件之間的依賴關(guān)系由容器在運(yùn)行期決定,由容器動(dòng)態(tài)的將某種依賴關(guān)系注入到組件之中。Spring容器控制所有Action對(duì)象和業(yè)務(wù)邏輯類的生命周期,由于上層不再控制下層的生命周期,層與層之間實(shí)現(xiàn)了完全脫耦,使程序運(yùn)行起來效率更高,也方便維護(hù)。
2.3 持久化層
科研管理系統(tǒng)需要經(jīng)常性甚至是不斷地訪問數(shù)據(jù)庫(kù),比如:讀取申報(bào)信息,添加審核信息,修改項(xiàng)目信息,刪除用戶信息等。系統(tǒng)采用Hibernate的對(duì)象化映射與數(shù)據(jù)庫(kù)進(jìn)行交互。Hibernate技術(shù)作為一個(gè)提供數(shù)據(jù)庫(kù)服務(wù)的中間件,可以和多種Web服務(wù)器或者應(yīng)用服務(wù)器良好集成,該技術(shù)不僅提供了從Java類到數(shù)據(jù)表之間的映射,也提供了數(shù)據(jù)查詢和恢復(fù)機(jī)制。相對(duì)于使用JDBC和SQL來手工操作數(shù)據(jù)庫(kù),Hibernate可以大大減少操作數(shù)據(jù)庫(kù)的工作量。
3 功能結(jié)構(gòu)
[科研管理系統(tǒng)][用戶管理模塊][普通教師申報(bào)模塊][系部管理模塊][科產(chǎn)處管理模塊][公共查詢模塊]
圖2 系統(tǒng)功能結(jié)構(gòu)圖
從模塊功能的角度分析,本系統(tǒng)主要分為五大模塊:用戶管理模塊,普通教師申報(bào)模塊,系部管理模塊,科技產(chǎn)業(yè)處管理模塊,公共查詢模塊,如圖2所示。不同用戶登錄系統(tǒng),有不同的功能權(quán)限。用戶可分為四個(gè)級(jí)別:普通教師級(jí)別用戶、系部級(jí)別用戶、科技產(chǎn)業(yè)處級(jí)別用戶(最高級(jí)別用戶)、管理員級(jí)別用戶。普通教師級(jí)別用戶對(duì)“普通教師申報(bào)模塊”具備操作權(quán)限;系部級(jí)別用戶對(duì)“系部管理模塊”具備操作權(quán)限;科技產(chǎn)業(yè)處級(jí)別用戶對(duì)“科產(chǎn)處管理模塊”具備操作權(quán)限;管理員級(jí)別用戶對(duì)“用戶管理模塊”具備操作權(quán)限;所有級(jí)別的用戶都具有對(duì)應(yīng)的查詢模塊[3-4]。
⑴ 申請(qǐng)項(xiàng)目的教師通過注冊(cè)可以成為一個(gè)普通教師級(jí)別的用戶,該用戶擁有科研項(xiàng)目的申報(bào)、科研項(xiàng)目申請(qǐng)書的下載和上傳、科研項(xiàng)目協(xié)議書的下載和上傳、個(gè)人用戶信息的管理、個(gè)人科研項(xiàng)目的管理(添加、刪除、修改)等權(quán)限。
⑵ 科技產(chǎn)業(yè)處級(jí)別的用戶屬于最高級(jí)別的用戶,擁有所有用戶信息的管理(添加、刪除、修改)、全院科研項(xiàng)目的審批、科研項(xiàng)目的管理(添加、刪除、修改)、科研項(xiàng)目的結(jié)題、科研項(xiàng)目信息的查詢、統(tǒng)計(jì)、下載等諸多權(quán)限。
⑶ 系部級(jí)別的用戶為各個(gè)系部管理者所設(shè),該用戶擁有系部科研項(xiàng)目的初審、系部科研項(xiàng)目列表的查詢等權(quán)限。
⑷ 管理員級(jí)別用戶負(fù)責(zé)數(shù)據(jù)管理和數(shù)據(jù)維護(hù)[5]。
4 結(jié)束語
本科研管理系統(tǒng)采用SSH架構(gòu)設(shè)計(jì)實(shí)現(xiàn),視圖層、業(yè)務(wù)邏輯層、持久化層,層次分明,可以簡(jiǎn)化系統(tǒng)開發(fā)流程,降低模塊間的耦合性,提高系統(tǒng)的健壯性。在高校中采用該系統(tǒng),可以幫助高校建立科研管理數(shù)據(jù)庫(kù)和信息溝通平臺(tái),提高教師申報(bào)科研項(xiàng)目的效率,幫助科技產(chǎn)業(yè)處高效安全的審核、保存、處理、統(tǒng)計(jì)這些申報(bào)信息,使科技管理工作更加規(guī)范化、科學(xué)化,使得信息的發(fā)布、資料的下載、項(xiàng)目的申報(bào)和審核等環(huán)節(jié)網(wǎng)絡(luò)化、公開化、透明化,使得信息交流更加方便、快捷,從而將科研管理工作者從繁雜的事務(wù)性工作中解放出來,使他們可以把主要精力放在對(duì)管理信息的科學(xué)統(tǒng)計(jì)分析、項(xiàng)目的申報(bào)、管理等科研決策上來。在未來,基于SSH框架的科研管理系統(tǒng)將成為高??蒲泄芾硐到y(tǒng)發(fā)展的必然趨勢(shì)。
參考文獻(xiàn):
[1] 胡金成,劉亞彬,陳琳.高校科研管理系統(tǒng)分析與設(shè)計(jì)[J].電腦知識(shí)與
技術(shù),2012.8(27):6642-6244
[2] 李雷孝,劉曉軍,劉利民,包力.基于SSH整合框架的科研項(xiàng)目管理系
統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào),2012.33(2):210-214
[3] 王居柱,侯彤璞,孫明柱.基于Struts-Hibernate架構(gòu)的權(quán)限管理系統(tǒng)
的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)與數(shù)字工程,2011.39(4):101-105
[4] 劉敏,李智彪,廖春華.基于Struts+Hibernate架構(gòu)的考核系統(tǒng)設(shè)計(jì)與
實(shí)現(xiàn)[J].計(jì)算機(jī)與現(xiàn)代化,2009.3(11):89-91
[5] 劉鵬遠(yuǎn).一種角色權(quán)限管理方案的算法設(shè)計(jì)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,
2010.19(10):228-232