李趙興 , 賀利樂
(1.榆林學院 信 息工程學院, 陜西 榆 林 7 19000;2.西安建筑科技大學 機 電工程學院, 陜西 西 安 7 10055)
科研是高等院校的重要職責之一,科研水平和科研規模日益成為反映高校綜合實力的重要指標。近年來隨著高校規模不斷擴張,國家對高校科研的不斷重視并加大經費支持,在此背景下,高校中,科研人員數量、科研項目和科研成果的數量急劇增加,科研管理逐漸成為高??蒲泄ぷ鞯囊粋€重要組成部分,其效率也得到了越來越多高校管理部門的重視。榆林學院原有的科研管理系統越來越不適應現有科研管理的需求,駣用信息化管理,建設科研管理信息化系統成為學??蒲泄芾砉ぷ鞯漠攧罩?。本文從高校科研管理現狀出發,在充分調研、交流的基礎上,采用SSH框架開發了一套基于B/S架構的高??蒲泄芾硐到y,該系統包括科研項目管理、科研成果管理和人員管理等功能,及在網上科研成果交流,系統的運行能夠大大提高科研管理工作效率和質量。
高??蒲谐晒芾砉ぷ魇歉咝D壳肮芾砉ぷ髦幸豁椫匾墓ぷ鳎瑢蒲谐晒挠行Ч芾硪殉蔀橛绊憣W校成長和發展的重要因素。高校的有很多重要的科研成果,但是由于現在高校的信息系統的不發達,很多高?,F在都沒有科研信息交互系統,使得很多科研成果不被別人所知,而且老師之間無法交流和學習,并且很多好的科研成果無法再網上發布,企業和高校之間信息不暢通,導致很多科研成果無法轉化為產品。
本項目以榆林學院科研管理展示交易平臺為項目為依據,根據對當前我校科研管理的實際情況出發,設計并開發數字化環境下的交易系統,形成了一個動態數據為中心和科研成果展示交易平臺,實現了科研成果展示和專利信息的快速查詢、檢索和交易,為學校教師開展工作提供了便利。系統結構示意圖如圖1所示。

圖1 系統總體結構圖Fig.1 The system composition diagram
本項目以榆林學院科研成果展示交平臺為項目為依據,根據對當前高??蒲谐晒芾淼膶嶋H情況出發,設計并開發數字化環境下的交易系統,形成了一個動態數據為中心和科研成果展示交易平臺,實現了科研成果和專利信息的快速查詢、檢索和交易,為高校老師和企業管理人員開展工作提供了便利。系統結構示意圖如圖2所示。

圖2 系統組成圖Fig.2 The system structure diagram
根據以上分析,得出程序的主要用例圖,系統平臺管理主要包括前臺普通用戶和后臺管理員用戶兩類。用例圖主要角色(Actor)包括系統管理員如圖3所示和普通用戶用例如圖4所示。

圖3 系統管理員用例Fig.3 Diagram of administrator case

圖4 普通用戶用例Fig.4 Diagram of use case
用例圖分析了科技管理應用系統的主要功能需求,這些需求是設計開發的依據。下面描述科技管理系統的架構設計。整個系統架構基于J2EE技術體系設計,客戶端數據采集系統采用的是桌面單機應用程序。
J2EE[1]體系包括 JSP、Servlet、EJB、Web Service 等多項 技術。這些技術的出現給Web應用開發提供了一個非常有競爭力的選擇,怎樣把這些技術組合起來,形成一個適應項目需要的穩定架構是項目開發過程中一個非常重要的步驟。
一個成功的軟件需要有一個與之相匹配的架構,但軟件架構的建立是一個復雜而又持續改進的過程,軟件開發者們不可能對每個不同的項目做不同的架構,而總是盡量重用以前的架構,或開發出盡量通用的架構方案,Struts[2]就是其中之一,Struts是流行的基于J2EE的架構方案,其他常用的基于J2EE的架構方案還有Hibernate、Spring等[3]。
本系統嚴格按MVC模式設計,按J2EE分層設計的理念,將中間層嚴格分成業務邏輯層、DAO層和數據持久層等。MVC層的控制器絕對禁止持久層訪問,甚至不參與業務邏輯的實現,表現層采用傳統JSP技術,JSP技術結合Struts的標簽庫,讓應用的表現層層次清晰,可讀性比較好,如圖5所示。

圖5 系統層次架構模型Fig.5 System-level architecture model
科研成果展示轉化平臺中采用Hibernate作為數據持久層。通過使用Hibernate持久層,可以避免傳統的JDBC操作數據庫,從而能夠更好地使用面向對象的方式來操作數據庫,保證了整個軟件開發過程以面向對象的方式進行,即面向對象進行分析、設計及編程。
本系統中所關聯的所有實體及實體之間的聯系,完全采用類結構定義實現,并在持久層通過Hibernate維持,同時完成PO(持久化對象)和表的映射關系。
下面是本模塊的主要實體類,如圖6所示。

圖6 實體類圖Fig.6 System entity class diagram
1)Trademark類代表了一個商標信息實體,主要屬性包括商標編號、商標名稱、商標類型,創建商標時間,每個屬性都有get和set方法。
2)Notice類代表一個公告通知信息實體,主要屬性包括公告類別、標題、內容、發布時間等,每個屬性都有get和set方法。
3)Software products類代表了一個軟件產品信息實體,主要屬性包括軟件產品編號、軟件類型,軟件名稱等,每個屬性都有get和set方法。
4)Integrated circuit代表一個集成電路信息實體,屬性包括專利號、專利名稱、授權時間等,每屬性都有get和set方法。
公告通知顯示科研成果方法的新聞、經典案例分析,科研成果展示等,這些實體都對應于各自的數據表,Hibernate通過各自的PO[4]類對這些數據表進行訪問。
在持久層的基礎上,可以使用DAO[5]組件再次封裝數據庫操作,通過DAO層,可以讓業務邏輯層與具體持久層技術分離,一旦需要更換持久層技術時,業務邏輯層組件不需要任何改變。因此,使用DAO組件,即意味著引入DAO模式,使每個DAO組件包含了數據庫的訪問邏輯,每個DAO組件可對一個數據庫表完成基本的創建、讀取、更新和刪除等操作。
DAO模式的實現至少需要如下3個部分:1)DAO工廠類。2)DAO接口。3)DAO接口的實現類。
使用DAO接口的原因是避免業務邏輯組件與特定的DAO組件耦合。DAO接口沒有任何實現方法,僅僅是對DAO組件包含的CRUD方法的定義,這些方法定義的實現取決于具體的實現類,DAO組件的實現既可以使用傳統JDBC,也以采用Hibernate持久化技術,以及iBATIS[6]等技術。
通過對我??蒲谐晒芾磉M行實際的調研和分析,得出了知識信息化建設進程中暴露出的問題,實現了一種基于Web的科研成果管理系統,能夠在高校科研成果管理中,不斷的提高管理質量,將對科學技術的發展起到積極的作用,本文結合國內外科研成果管理現狀的基礎上,應用SSH架構開發了該系統??蒲谐晒芾聿粩嗟乜茖W化和規范化是以后高校的必然要求,它對檢驗管理質量和深化管理有著重要作用,將在現代科研管理中和實際應用中也會進一步豐富和發展,目前基于該系統已在我校的科研處使用,得到的良好的評價,今后將根據用戶的反饋繼續完善。
[1]Rod Johnson.Expert One-on-One J2EE Design and Developmen[M].Wrox,2002.
[2]約翰遜,魏海萍.J2EE設計開發編程指南[M].北京:電子工業出版社,2003.
[3]郭利.基于C/S和B/S混合結構的印刷企業信息管理系統研究[D].合肥:合肥工業大學,2005.
[4]Kaplan W C J.J2EE設計模式[M].北京:中國電力出版社,2005.
[5]吳小玲,高茂華.Web服務器性能改進的有關技術[J].中國現代教育裝備,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數據庫在線考試系統的設計與實現研究[J].商丘師范學院學報,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.