李趙興 , 賀利樂(lè)
(1.榆林學(xué)院 信 息工程學(xué)院, 陜西 榆 林 7 19000;2.西安建筑科技大學(xué) 機(jī) 電工程學(xué)院, 陜西 西 安 7 10055)
科研是高等院校的重要職責(zé)之一,科研水平和科研規(guī)模日益成為反映高校綜合實(shí)力的重要指標(biāo)。近年來(lái)隨著高校規(guī)模不斷擴(kuò)張,國(guó)家對(duì)高校科研的不斷重視并加大經(jīng)費(fèi)支持,在此背景下,高校中,科研人員數(shù)量、科研項(xiàng)目和科研成果的數(shù)量急劇增加,科研管理逐漸成為高??蒲泄ぷ鞯囊粋€(gè)重要組成部分,其效率也得到了越來(lái)越多高校管理部門(mén)的重視。榆林學(xué)院原有的科研管理系統(tǒng)越來(lái)越不適應(yīng)現(xiàn)有科研管理的需求,駣用信息化管理,建設(shè)科研管理信息化系統(tǒng)成為學(xué)校科研管理工作的當(dāng)務(wù)之急。本文從高??蒲泄芾憩F(xiàn)狀出發(fā),在充分調(diào)研、交流的基礎(chǔ)上,采用SSH框架開(kāi)發(fā)了一套基于B/S架構(gòu)的高校科研管理系統(tǒng),該系統(tǒng)包括科研項(xiàng)目管理、科研成果管理和人員管理等功能,及在網(wǎng)上科研成果交流,系統(tǒng)的運(yùn)行能夠大大提高科研管理工作效率和質(zhì)量。
高校科研成果管理工作是高校目前管理工作中一項(xiàng)重要的工作,對(duì)科研成果的有效管理已成為影響學(xué)校成長(zhǎng)和發(fā)展的重要因素。高校的有很多重要的科研成果,但是由于現(xiàn)在高校的信息系統(tǒng)的不發(fā)達(dá),很多高?,F(xiàn)在都沒(méi)有科研信息交互系統(tǒng),使得很多科研成果不被別人所知,而且老師之間無(wú)法交流和學(xué)習(xí),并且很多好的科研成果無(wú)法再網(wǎng)上發(fā)布,企業(yè)和高校之間信息不暢通,導(dǎo)致很多科研成果無(wú)法轉(zhuǎn)化為產(chǎn)品。
本項(xiàng)目以榆林學(xué)院科研管理展示交易平臺(tái)為項(xiàng)目為依據(jù),根據(jù)對(duì)當(dāng)前我??蒲泄芾淼膶?shí)際情況出發(fā),設(shè)計(jì)并開(kāi)發(fā)數(shù)字化環(huán)境下的交易系統(tǒng),形成了一個(gè)動(dòng)態(tài)數(shù)據(jù)為中心和科研成果展示交易平臺(tái),實(shí)現(xiàn)了科研成果展示和專(zhuān)利信息的快速查詢、檢索和交易,為學(xué)校教師開(kāi)展工作提供了便利。系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖Fig.1 The system composition diagram
本項(xiàng)目以榆林學(xué)院科研成果展示交平臺(tái)為項(xiàng)目為依據(jù),根據(jù)對(duì)當(dāng)前高校科研成果管理的實(shí)際情況出發(fā),設(shè)計(jì)并開(kāi)發(fā)數(shù)字化環(huán)境下的交易系統(tǒng),形成了一個(gè)動(dòng)態(tài)數(shù)據(jù)為中心和科研成果展示交易平臺(tái),實(shí)現(xiàn)了科研成果和專(zhuān)利信息的快速查詢、檢索和交易,為高校老師和企業(yè)管理人員開(kāi)展工作提供了便利。系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。
圖2 系統(tǒng)組成圖Fig.2 The system structure diagram
根據(jù)以上分析,得出程序的主要用例圖,系統(tǒng)平臺(tái)管理主要包括前臺(tái)普通用戶和后臺(tái)管理員用戶兩類(lèi)。用例圖主要角色(Actor)包括系統(tǒng)管理員如圖3所示和普通用戶用例如圖4所示。
圖3 系統(tǒng)管理員用例Fig.3 Diagram of administrator case
圖4 普通用戶用例Fig.4 Diagram of use case
用例圖分析了科技管理應(yīng)用系統(tǒng)的主要功能需求,這些需求是設(shè)計(jì)開(kāi)發(fā)的依據(jù)。下面描述科技管理系統(tǒng)的架構(gòu)設(shè)計(jì)。整個(gè)系統(tǒng)架構(gòu)基于J2EE技術(shù)體系設(shè)計(jì),客戶端數(shù)據(jù)采集系統(tǒng)采用的是桌面單機(jī)應(yīng)用程序。
J2EE[1]體系包括 JSP、Servlet、EJB、Web Service 等多項(xiàng) 技術(shù)。這些技術(shù)的出現(xiàn)給Web應(yīng)用開(kāi)發(fā)提供了一個(gè)非常有競(jìng)爭(zhēng)力的選擇,怎樣把這些技術(shù)組合起來(lái),形成一個(gè)適應(yīng)項(xiàng)目需要的穩(wěn)定架構(gòu)是項(xiàng)目開(kāi)發(fā)過(guò)程中一個(gè)非常重要的步驟。
一個(gè)成功的軟件需要有一個(gè)與之相匹配的架構(gòu),但軟件架構(gòu)的建立是一個(gè)復(fù)雜而又持續(xù)改進(jìn)的過(guò)程,軟件開(kāi)發(fā)者們不可能對(duì)每個(gè)不同的項(xiàng)目做不同的架構(gòu),而總是盡量重用以前的架構(gòu),或開(kāi)發(fā)出盡量通用的架構(gòu)方案,Struts[2]就是其中之一,Struts是流行的基于J2EE的架構(gòu)方案,其他常用的基于J2EE的架構(gòu)方案還有Hibernate、Spring等[3]。
本系統(tǒng)嚴(yán)格按MVC模式設(shè)計(jì),按J2EE分層設(shè)計(jì)的理念,將中間層嚴(yán)格分成業(yè)務(wù)邏輯層、DAO層和數(shù)據(jù)持久層等。MVC層的控制器絕對(duì)禁止持久層訪問(wèn),甚至不參與業(yè)務(wù)邏輯的實(shí)現(xiàn),表現(xiàn)層采用傳統(tǒng)JSP技術(shù),JSP技術(shù)結(jié)合Struts的標(biāo)簽庫(kù),讓?xiě)?yīng)用的表現(xiàn)層層次清晰,可讀性比較好,如圖5所示。
圖5 系統(tǒng)層次架構(gòu)模型Fig.5 System-level architecture model
科研成果展示轉(zhuǎn)化平臺(tái)中采用Hibernate作為數(shù)據(jù)持久層。通過(guò)使用Hibernate持久層,可以避免傳統(tǒng)的JDBC操作數(shù)據(jù)庫(kù),從而能夠更好地使用面向?qū)ο蟮姆绞絹?lái)操作數(shù)據(jù)庫(kù),保證了整個(gè)軟件開(kāi)發(fā)過(guò)程以面向?qū)ο蟮姆绞竭M(jìn)行,即面向?qū)ο筮M(jìn)行分析、設(shè)計(jì)及編程。
本系統(tǒng)中所關(guān)聯(lián)的所有實(shí)體及實(shí)體之間的聯(lián)系,完全采用類(lèi)結(jié)構(gòu)定義實(shí)現(xiàn),并在持久層通過(guò)Hibernate維持,同時(shí)完成PO(持久化對(duì)象)和表的映射關(guān)系。
下面是本模塊的主要實(shí)體類(lèi),如圖6所示。
圖6 實(shí)體類(lèi)圖Fig.6 System entity class diagram
1)Trademark類(lèi)代表了一個(gè)商標(biāo)信息實(shí)體,主要屬性包括商標(biāo)編號(hào)、商標(biāo)名稱、商標(biāo)類(lèi)型,創(chuàng)建商標(biāo)時(shí)間,每個(gè)屬性都有g(shù)et和set方法。
2)Notice類(lèi)代表一個(gè)公告通知信息實(shí)體,主要屬性包括公告類(lèi)別、標(biāo)題、內(nèi)容、發(fā)布時(shí)間等,每個(gè)屬性都有g(shù)et和set方法。
3)Software products類(lèi)代表了一個(gè)軟件產(chǎn)品信息實(shí)體,主要屬性包括軟件產(chǎn)品編號(hào)、軟件類(lèi)型,軟件名稱等,每個(gè)屬性都有g(shù)et和set方法。
4)Integrated circuit代表一個(gè)集成電路信息實(shí)體,屬性包括專(zhuān)利號(hào)、專(zhuān)利名稱、授權(quán)時(shí)間等,每屬性都有g(shù)et和set方法。
公告通知顯示科研成果方法的新聞、經(jīng)典案例分析,科研成果展示等,這些實(shí)體都對(duì)應(yīng)于各自的數(shù)據(jù)表,Hibernate通過(guò)各自的PO[4]類(lèi)對(duì)這些數(shù)據(jù)表進(jìn)行訪問(wèn)。
在持久層的基礎(chǔ)上,可以使用DAO[5]組件再次封裝數(shù)據(jù)庫(kù)操作,通過(guò)DAO層,可以讓業(yè)務(wù)邏輯層與具體持久層技術(shù)分離,一旦需要更換持久層技術(shù)時(shí),業(yè)務(wù)邏輯層組件不需要任何改變。因此,使用DAO組件,即意味著引入DAO模式,使每個(gè)DAO組件包含了數(shù)據(jù)庫(kù)的訪問(wèn)邏輯,每個(gè)DAO組件可對(duì)一個(gè)數(shù)據(jù)庫(kù)表完成基本的創(chuàng)建、讀取、更新和刪除等操作。
DAO模式的實(shí)現(xiàn)至少需要如下3個(gè)部分:1)DAO工廠類(lèi)。2)DAO接口。3)DAO接口的實(shí)現(xiàn)類(lèi)。
使用DAO接口的原因是避免業(yè)務(wù)邏輯組件與特定的DAO組件耦合。DAO接口沒(méi)有任何實(shí)現(xiàn)方法,僅僅是對(duì)DAO組件包含的CRUD方法的定義,這些方法定義的實(shí)現(xiàn)取決于具體的實(shí)現(xiàn)類(lèi),DAO組件的實(shí)現(xiàn)既可以使用傳統(tǒng)JDBC,也以采用Hibernate持久化技術(shù),以及iBATIS[6]等技術(shù)。
通過(guò)對(duì)我??蒲谐晒芾磉M(jìn)行實(shí)際的調(diào)研和分析,得出了知識(shí)信息化建設(shè)進(jìn)程中暴露出的問(wèn)題,實(shí)現(xiàn)了一種基于Web的科研成果管理系統(tǒng),能夠在高??蒲谐晒芾碇校粩嗟奶岣吖芾碣|(zhì)量,將對(duì)科學(xué)技術(shù)的發(fā)展起到積極的作用,本文結(jié)合國(guó)內(nèi)外科研成果管理現(xiàn)狀的基礎(chǔ)上,應(yīng)用SSH架構(gòu)開(kāi)發(fā)了該系統(tǒng)??蒲谐晒芾聿粩嗟乜茖W(xué)化和規(guī)范化是以后高校的必然要求,它對(duì)檢驗(yàn)管理質(zhì)量和深化管理有著重要作用,將在現(xiàn)代科研管理中和實(shí)際應(yīng)用中也會(huì)進(jìn)一步豐富和發(fā)展,目前基于該系統(tǒng)已在我校的科研處使用,得到的良好的評(píng)價(jià),今后將根據(jù)用戶的反饋繼續(xù)完善。
[1]Rod Johnson.Expert One-on-One J2EE Design and Developmen[M].Wrox,2002.
[2]約翰遜,魏海萍.J2EE設(shè)計(jì)開(kāi)發(fā)編程指南[M].北京:電子工業(yè)出版社,2003.
[3]郭利.基于C/S和B/S混合結(jié)構(gòu)的印刷企業(yè)信息管理系統(tǒng)研究[D].合肥:合肥工業(yè)大學(xué),2005.
[4]Kaplan W C J.J2EE設(shè)計(jì)模式[M].北京:中國(guó)電力出版社,2005.
[5]吳小玲,高茂華.Web服務(wù)器性能改進(jìn)的有關(guān)技術(shù)[J].中國(guó)現(xiàn)代教育裝備,2006,4(9):44-45.WU Xiao-ling,GAO Mao-hua.Server performance improvement about the technology[J].The Chinese Modern Education Equipment,2006,4(9):44-45.
[6]范云之.基于Web數(shù)據(jù)庫(kù)在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)研究[J].商丘師范學(xué)院學(xué)報(bào),2006(10):1-20.FAN Yun-zhi.Online examination system based on Web database design and implementation of research[J].Journal of Shang Qiu Normal University:2006(10):1-20.