毛 蔚
(江蘇省無(wú)錫交通高等職業(yè)技術(shù)學(xué)校,江蘇無(wú)錫 214151)
隨著科技的日益發(fā)展,高校的科研活動(dòng)和科研能力已成為高效綜合實(shí)力的重要指標(biāo),從而導(dǎo)致了高校的科研工作和統(tǒng)計(jì)工作不斷龐大和加重。而目前大多數(shù)高??蒲泄芾砉ぷ骱艽蟪潭壬线€要依賴人工來(lái)處理,即通過(guò)EXCEL、WORD等辦公軟件或者簡(jiǎn)單的數(shù)據(jù)庫(kù)采集系統(tǒng)來(lái)處理大量的數(shù)據(jù),這種方式不僅給科研管理人員帶來(lái)了繁重的工作量,并且造成科研管理人員和科研工作人員之間缺少必要和及時(shí)的溝通,難以反映高??蒲鞋F(xiàn)狀,造成信息傳遞流轉(zhuǎn)失真而且速度慢。
在當(dāng)前形式下,通過(guò)IT技術(shù)等信息化手段,實(shí)現(xiàn)科研管理信息化,以加強(qiáng)日??蒲泄ぷ鞴芾?,整合科研工作流程,為決策層提供真實(shí)有效的參考依據(jù),從而提升科研管理水平,也是當(dāng)今高??蒲泄芾淼内厔?shì)。
通過(guò)科研管理系統(tǒng)建設(shè),可以實(shí)現(xiàn)科研工作的網(wǎng)絡(luò)化管理,形成一個(gè)動(dòng)態(tài)的科研數(shù)據(jù)中心和科研管理溝通平臺(tái),全面、實(shí)時(shí),準(zhǔn)確提供學(xué)校的有關(guān)科研信息。服務(wù)于高??蒲泄ぷ魅藛T的工作,輔助領(lǐng)導(dǎo)進(jìn)行科研管理決策,從而為科研管理人員開展工作提供極大的便利。鑒于此,結(jié)合無(wú)錫交通高等職業(yè)技術(shù)學(xué)校科研管理實(shí)際情況,提出了高??蒲泄芾硇畔⑾到y(tǒng)開發(fā)的整體解決方案:(1)WEB方式的管理系統(tǒng),(2)基于數(shù)據(jù)庫(kù)和JAVA平臺(tái)的系統(tǒng)。
本文主要是對(duì)科研管理系統(tǒng)的設(shè)計(jì)的研究。系統(tǒng)主要應(yīng)用動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)與數(shù)據(jù)庫(kù)管理技術(shù)相結(jié)合,實(shí)現(xiàn)用戶登陸、用戶驗(yàn)證、用戶信息管理、權(quán)限管理、科研項(xiàng)目管理、網(wǎng)上辦公管理、科研資源管理、科研人員管理、科研成果管理、科研經(jīng)費(fèi)、科研交流活動(dòng)、我的信息等功能。
該系統(tǒng)是基于B/S(Browser/Server,B/S)架構(gòu)的三層結(jié)構(gòu)的體系結(jié)構(gòu),即瀏覽器和服務(wù)器結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)的維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。
系統(tǒng)從結(jié)構(gòu)上分為四4層,即表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層和基礎(chǔ)數(shù)據(jù)庫(kù)?;诨A(chǔ)數(shù)據(jù)庫(kù)上,是系統(tǒng)的數(shù)據(jù)訪問(wèn)層,整合了對(duì)數(shù)據(jù)庫(kù)的CRUD操作。結(jié)合科研的日常管理,在數(shù)據(jù)訪問(wèn)層之上,系統(tǒng)提供了數(shù)據(jù)審核、項(xiàng)目流程管理、績(jī)效考核以及年度統(tǒng)計(jì)等核心業(yè)務(wù)。顯示層是科研管理系統(tǒng)對(duì)外交互的窗口,系統(tǒng)中能將基礎(chǔ)數(shù)據(jù)和用戶聯(lián)系在一起,在表示層上及時(shí)發(fā)布動(dòng)態(tài)的科研信息,也能通過(guò)網(wǎng)絡(luò)接收用戶錄入的科研數(shù)據(jù)和審核數(shù)據(jù)。系統(tǒng)層次結(jié)構(gòu)示意圖如圖1所示。
圖1 系統(tǒng)層次結(jié)構(gòu)示意圖
本系統(tǒng)采用的是經(jīng)典的J2EE三層結(jié)構(gòu),分為表現(xiàn)層,中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問(wèn)以及合法性校驗(yàn)等工作放在中間層處理。客戶端不直接與數(shù)據(jù)庫(kù)交互,而是通過(guò)組件與中間層建立連接,再由中間層與數(shù)據(jù)庫(kù)交互。并利用 Struts2、Hibernate3、Spring2等輕量級(jí)框架實(shí)現(xiàn)三層結(jié)構(gòu)的設(shè)計(jì)。Struts將MVC的Controller一分為三,在獲得結(jié)構(gòu)更加清晰的同時(shí),也增加了系統(tǒng)的復(fù)雜度。Hibernate簡(jiǎn)化了原始的JDBC操作。使得對(duì)數(shù)據(jù)庫(kù)簡(jiǎn)單、方便、安全的操作。而Spring也是一款輕量級(jí)的框架,它能實(shí)現(xiàn)struts和hibernate的無(wú)縫集成,而且它還有一個(gè)最大的特色就是依賴注入,簡(jiǎn)化了程序員對(duì)項(xiàng)目的操作。Spring對(duì)Hibernate進(jìn)行了封裝,提供了HibernateTemplate簡(jiǎn)化 Hibernate操作。采用S2SH框架在開發(fā)速度比較正常的java項(xiàng)目會(huì)提高不少,維護(hù)比較方便,可拓展性強(qiáng),加上一堆的開源,可以豐富系統(tǒng)。
設(shè)計(jì)界面,主要采用DIV+CSS+Table布局的方式來(lái)對(duì)整個(gè)系統(tǒng)的頁(yè)面進(jìn)行布局,以達(dá)到界面的統(tǒng)一和美觀。前端腳本使用JQuery以及JQuery插件:jquery tree,jquery-ui,formValidator等。Jquery是繼prototype之后又一個(gè)優(yōu)秀的Javascrīpt框架。它是輕量級(jí)的js庫(kù)(壓縮后只有21k),它兼容CSS3,還兼容各種瀏覽器(IE 6.0+,F(xiàn)F1.5+,Safari 2.0+,Opera 9.0+)。jQuery使用戶能更方便地處理HTML documents、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個(gè)比較大的優(yōu)勢(shì)是,它的文檔說(shuō)明很全,而且各種應(yīng)用也說(shuō)得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁(yè)保持代碼和html內(nèi)容分離,也就是說(shuō),不用再在html里面插入一堆js來(lái)調(diào)用命令了,只需定義id即可。jQuery庫(kù)包含以下特性:HTML元素選取,HTML元素操作,CSS操作,HTML事件函數(shù),JavaScript特效和動(dòng)畫,HTML DOM遍歷和修改,AJAX,Utilities所以利用 Jquery 替代 Javascript,AJAX是一個(gè)很好的做法。
1.3.1 系統(tǒng)登錄模塊
(1)對(duì)系統(tǒng)用戶身份驗(yàn)證,對(duì)沒有登錄的用戶不準(zhǔn)許訪問(wèn)任何頁(yè)面。
(2)根據(jù)用戶權(quán)限不同,在系統(tǒng)的主頁(yè)面左側(cè)菜單展示該用戶的權(quán)限菜單。
1.3.2 權(quán)限管理模塊
權(quán)限管理是對(duì)登錄用戶進(jìn)行權(quán)限控制的模塊。包括:用戶管理、模塊管理、功能管理、角色管理。
1.3.3 綜合辦公模塊
綜合辦公模塊包括2個(gè)模塊,系統(tǒng)公告管理、站內(nèi)信發(fā)送送通知給科研人員。
1.3.4 科研資源維護(hù)管理模塊
維護(hù)部門信息以及維護(hù)科技成果積分、崗級(jí)積分、職稱積分、專利性質(zhì)屬性、項(xiàng)目性質(zhì)屬性、刊物性質(zhì)屬性、著作性質(zhì)屬性。
1.3.5 科研人員模塊
科研人員是對(duì)教師信息(或科研人員)信息維護(hù),審核的功能。
(1)科研人員管理:科研人員錄入,修改,刪除,查看。
(2)科研人員審核:科研秘書對(duì)科研人員的信息進(jìn)行審核,默認(rèn)狀態(tài)下是系統(tǒng)審核通過(guò)狀態(tài),如果審核通過(guò)則狀態(tài)更改為院級(jí)審核通過(guò)。
1.3.6 科研項(xiàng)目模塊
科研項(xiàng)目分為項(xiàng)目管理,項(xiàng)目人員分配子模塊。
(1)項(xiàng)目管理:該模塊有項(xiàng)目審核,對(duì)科研人員提交的項(xiàng)目進(jìn)行審核通過(guò)或者審核不通過(guò)操作。項(xiàng)目信息管理,對(duì)項(xiàng)目信息錄入,修改,刪除等操作以及項(xiàng)目人員,合同經(jīng)費(fèi)的維護(hù)操作。
(2)項(xiàng)目人員分配:在創(chuàng)建科研項(xiàng)目,選擇項(xiàng)目負(fù)責(zé)人,然后項(xiàng)目負(fù)責(zé)人為項(xiàng)目分配人員,并且為人員設(shè)置科研積分。
1.3.7 科研成果模塊
(1)論文成果管理:科研人員對(duì)自己的論文進(jìn)行新增、編輯、查詢等操作。
(2)著作成果管理:科研人員對(duì)自己的著作進(jìn)行新增、編輯、查詢等操作。
(3)發(fā)明專利管理:科研人員對(duì)自己的專利進(jìn)行新增、編輯、查詢等操作。
1.3.8 科研經(jīng)費(fèi)模塊
科研經(jīng)費(fèi)分為經(jīng)費(fèi)管理和查看,通過(guò)科研經(jīng)費(fèi)管理后臺(tái)能夠管理科研項(xiàng)目收入和支出經(jīng)費(fèi)以及查看項(xiàng)目經(jīng)費(fèi)詳細(xì)清單。
1.3.9 科研交流活動(dòng)模塊
1.3.10 我的信息模塊
1.4.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)
將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)及概念模型的過(guò)程是概念結(jié)構(gòu)設(shè)計(jì)。為了描述數(shù)據(jù)庫(kù)結(jié)構(gòu)的概念模式,這里采用E-R圖來(lái)描述數(shù)據(jù)庫(kù)的實(shí)體關(guān)系。
用戶表數(shù)據(jù)項(xiàng)主要包括:用戶ID、用戶名、用戶密碼、性別、郵箱、QQ號(hào)、工號(hào)、創(chuàng)建時(shí)間、狀態(tài)。
1.4.2 數(shù)據(jù)庫(kù)物理設(shè)計(jì)
為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用要求的物理結(jié)構(gòu)的過(guò)程,就是數(shù)據(jù)庫(kù)的物理設(shè)計(jì)。使用數(shù)據(jù)庫(kù)開發(fā)軟件MySql建立一系列的數(shù)據(jù)庫(kù)。
利用MyEclipse創(chuàng)建工程名為kyxm的WEB項(xiàng)目,使用S2SH技術(shù)搭建MVC模式框架,本系統(tǒng)是實(shí)時(shí)與數(shù)據(jù)庫(kù)進(jìn)行交互的系統(tǒng),所以利用Hibernate連接池和它封裝的方法與數(shù)據(jù)庫(kù)進(jìn)行交互。為了便于方面管理HQL或者SQL,現(xiàn)把SQL、HQL語(yǔ)句封裝在一個(gè)XML文件中。系統(tǒng)設(shè)計(jì)的框架如圖2所示。
圖2 系統(tǒng)設(shè)計(jì)框架圖
通用層為各個(gè)層提供了處理字符串、處理日期、從XML文件中讀取HQL或者SQL語(yǔ)句的方法。另外提供分頁(yè)組件以及Struts2分頁(yè)封裝類。數(shù)據(jù)訪問(wèn)層提供實(shí)體類和通用的數(shù)據(jù)處理的抽象類和接口。實(shí)現(xiàn)類只要繼承抽象類和實(shí)現(xiàn)接口即可使用封裝好的方法,也增加其他的方法。
業(yè)務(wù)層提供了通用的業(yè)務(wù)處理的抽象類和接口。實(shí)現(xiàn)類只要繼續(xù)抽象類和實(shí)現(xiàn)接類和實(shí)現(xiàn)接口即可使用封裝好的方法,也增加其他業(yè)務(wù)方法。視圖控制層提供了Struts2 Action的基類以及實(shí)現(xiàn)類和Action的過(guò)濾器以及頁(yè)面封裝表單數(shù)據(jù)或者查詢條件的DTO類。
本系統(tǒng)的特點(diǎn)結(jié)構(gòu)清晰,封裝性比較強(qiáng),通用功能比較多,代碼重用比較高,使用連接池連接數(shù)據(jù)庫(kù)等。
測(cè)試方案主要是根據(jù)軟件測(cè)試工程中所主要采用的工具和技術(shù),軟件測(cè)試技術(shù)主要包括:黑盒測(cè)試、白盒測(cè)試、自動(dòng)化測(cè)試。
本系統(tǒng)采用黑盒測(cè)試方法,整個(gè)過(guò)程采用自底向上,逐個(gè)集成的方法,依次進(jìn)行單元測(cè)試、組裝測(cè)試,測(cè)試用例的設(shè)計(jì)應(yīng)包括合理的和不合理的輸入條件。
本文以綜合辦公子系統(tǒng)測(cè)試為例說(shuō)明。
目的:測(cè)試綜合辦公子系統(tǒng)所有功能
內(nèi)容:(1)公告管理查詢、創(chuàng)建、查看、刪除
(2)站內(nèi)信管理查詢、增加、查看發(fā)送對(duì)象。具體見表1、表2。
表1 公告管理測(cè)試子系統(tǒng)結(jié)果
表2 站內(nèi)信管理測(cè)試結(jié)果
本系統(tǒng)的開發(fā)解決高職院??蒲泄芾淼纳顚哟瓮怀雒?,實(shí)現(xiàn)了科研信息的及時(shí)搜集、匯總和雙向交流,達(dá)到了對(duì)科研信息的全面、動(dòng)態(tài)管理,提高了管理的規(guī)范化、科學(xué)化水平。同時(shí)也配合數(shù)字化校園建設(shè),逐步實(shí)現(xiàn)高職院校的各項(xiàng)管理、教學(xué)、科研與服務(wù)的網(wǎng)上應(yīng)用系統(tǒng)的開發(fā),滿足高職院校教育信息化的要求。
[1] 封超.Tomcat與Java Web開發(fā)技術(shù)詳解[M].清華大學(xué)出版社,2011.
[2] 飛思科技產(chǎn)品研發(fā)中心.JSP應(yīng)用開發(fā)詳解[M].電子工業(yè)出版社,2007.
[3] 孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].電子工業(yè)出版社,2007.
[4] 羅時(shí)飛.精通 SPRING2.電子工業(yè)出版社[M].2006年12月.
[5] 朱少民.軟件測(cè)試方法和技術(shù)[M].清華大學(xué)出版社,2005.
[6] 崔群法.Struts2.0從入門到精通[M].電子工業(yè)出版社,2011.
[7] 薛元君.頁(yè)面數(shù)據(jù)庫(kù)設(shè)計(jì)與發(fā)布[M].清華大學(xué)出版社,2003.