陳俊 王鑫 張世權(quán) 劉巧玲 胡局新
摘 要:大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(簡(jiǎn)稱“大創(chuàng)”項(xiàng)目)受到高度重視。隨著創(chuàng)新創(chuàng)業(yè)學(xué)生人數(shù)的不斷增加以及項(xiàng)目范圍的不斷擴(kuò)大,對(duì)“大創(chuàng)”項(xiàng)目的申報(bào)、評(píng)審、定級(jí)、立項(xiàng)、過(guò)程管理、結(jié)項(xiàng)、資助金發(fā)放、證書打印等一系列流程進(jìn)行有效管理具有重要意義。依托IDEA開發(fā)工具,通過(guò)整合主流框架SSM、Shiro和 EasyUI,設(shè)計(jì)并開發(fā)了高校大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目管理平臺(tái),以解決傳統(tǒng)電子表格申報(bào)、紙質(zhì)存檔、報(bào)銷零散、統(tǒng)計(jì)困難、重復(fù)項(xiàng)目難以排查、項(xiàng)目開展過(guò)程管理不嚴(yán)等導(dǎo)致驗(yàn)收質(zhì)量難以控制等問(wèn)題。試運(yùn)行結(jié)果表明,該平臺(tái)有效實(shí)現(xiàn)了 “大創(chuàng)”項(xiàng)目的在線管理和監(jiān)控,為“大創(chuàng)”項(xiàng)目規(guī)范化管理提供了平臺(tái)支撐。
關(guān)鍵詞:大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目;SSM;Shiro;EasyUI;在線管理和監(jiān)控
DOI:10. 11907/rjdk. 191632 開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
中圖分類號(hào):TP319文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2020)002-0057-04
英標(biāo):Design and Implementation of Project Management System of Innovative Training Plan for College Students Based on SSM
英作:CHEN Jun,WANG Xin,ZHANG Shi-quan,LIU Qiao-ling,HU Ju-xin
英單:(Department of Information and Electrical Engineering,Xuzhou Institute of Technology,Xuzhou 221008,China)
Abstract: In recent years, college students innovative training projects (abbreviated as “DaChuang” Projects) have been highly valued by colleges and universities. With the increasing number of innovative and entrepreneurial students and the increasing scope of the projects, the declaration, evaluation and evaluation of the “DaChuang” projects are of great practical significance to manage a series of processes, such as grading, setting up items, concluding items,process management, funding fee issuing, certificate printing and so on. Relying on IDEA development tools, through the integration of the mainstream framework, SSM,Shiro and EasyUI, we have designed and developed a project management platform for innovative training plans for college students, which has overcome the traditional electronic form declaration, paper filing, piecemeal reimbursement, difficulty in statistics, and difficulty in troubleshooting repeated projects. It is difficult to control the acceptance quality due to the lack of strict management of the project development process. The results of trial operation show that the platform effectively realizes the “dachuang” project online management and monitoring, and provides platform support for the standardized management.
Key Words: college students innovation training program project; SSM; Shiro; EasyUI; on-line management and monitoring
0 引言
大學(xué)生創(chuàng)新能力在未來(lái)工作中起著重要作用[1],高校紛紛開設(shè)大學(xué)生創(chuàng)新課程,建設(shè)大學(xué)生創(chuàng)新訓(xùn)練基地,提供專門的創(chuàng)新項(xiàng)目立項(xiàng)資助,一時(shí)間涌現(xiàn)出大量?jī)?yōu)秀項(xiàng)目。但高校在大創(chuàng)項(xiàng)目實(shí)施過(guò)程中普遍存在重成果管理輕過(guò)程管理的現(xiàn)象[2]。為此,溫文婷[3]、張建文[4]等從加強(qiáng)信息化平臺(tái)建設(shè)、注重過(guò)程管理等方面提出解決途徑。國(guó)家級(jí)和省級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目平臺(tái)[5-6]陸續(xù)上線,但這些平臺(tái)主要用于對(duì)外公布立項(xiàng)信息,共享的數(shù)據(jù)是國(guó)家級(jí)或省級(jí)以上級(jí)別項(xiàng)目,對(duì)于數(shù)量較大的校級(jí)大創(chuàng)項(xiàng)目仍采用電子表格形式,在管理上存在一系列問(wèn)題,如參賽人員管理、項(xiàng)目申請(qǐng)信息審核與保存、重復(fù)項(xiàng)目排查、項(xiàng)目過(guò)程管理及項(xiàng)目驗(yàn)收等。開發(fā)一個(gè)集項(xiàng)目申報(bào)、評(píng)審、定級(jí)、立項(xiàng)、結(jié)項(xiàng)、過(guò)程管理、獎(jiǎng)金發(fā)放、證書打印等一系列流程于一體的高校大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目管理平臺(tái)迫在眉睫。
1 關(guān)鍵技術(shù)
1.1 SSM框架
SSM(Spring+SpringMVC+MyBatis)由Spring、MyBatis兩個(gè)開源框架整合而成,是當(dāng)前Java Web開發(fā)中十分流行的框架[7]。其中spring是一個(gè)輕量級(jí)的容器框架,控制反轉(zhuǎn)(IoC)和面向切面(AOP)貫穿整個(gè)系統(tǒng),包括表現(xiàn)層、業(yè)務(wù)層及持久層,解決了松耦合問(wèn)題[8];SpringMVC把一個(gè)應(yīng)用按照模型(Model)、視圖(View)、控制器(Controller)的方式進(jìn)行分離;MyBatis支持普通SQL查詢,可以使用存儲(chǔ)過(guò)程和高級(jí)映射。它內(nèi)部封裝了JDBC,使用者只需關(guān)注SQL 語(yǔ)句本身,不需要再花費(fèi)精力去處理注冊(cè)驅(qū)動(dòng)、Connection創(chuàng)建、Statement配置等繁雜事務(wù)[8]。
1.2 Shiro框架
Shiro是Apache基金組織發(fā)布的一個(gè)開源安全框架[9]。利用此框架可很好地滿足系統(tǒng)應(yīng)用對(duì)權(quán)限安全的需求,它使用起來(lái)非常方便,結(jié)合Spring框架可以更好地開發(fā)出足夠安全的應(yīng)用程序。對(duì)于會(huì)話管理、權(quán)限認(rèn)證等,Shiro都做得非常好。
1.3 Easyui框架
Easyui 是一種基于 JQuery 框架開發(fā)的用戶界面插件集合[10]。Easyui 可以很方便地構(gòu)建用戶界面,其提供的數(shù)據(jù)控件具有較強(qiáng)的數(shù)據(jù)處理能力,廣泛應(yīng)用在后臺(tái)管理系統(tǒng)中,開發(fā)人員不用寫復(fù)雜的css和js代碼就可很方便地實(shí)現(xiàn)所需功能。
2 系統(tǒng)設(shè)計(jì)
2.1 功能模塊設(shè)計(jì)
大創(chuàng)項(xiàng)目管理系統(tǒng)分為項(xiàng)目管理與維護(hù)、項(xiàng)目申報(bào)與審核、項(xiàng)目創(chuàng)建與評(píng)審3個(gè)子系統(tǒng),系統(tǒng)功能模塊如圖 1所示。
項(xiàng)目管理與維護(hù)子系統(tǒng)功能包括:①權(quán)限控制模塊,包括資源管理、角色管理、用戶管理等操作;②基礎(chǔ)數(shù)據(jù)模塊,包括學(xué)生信息管理、部門信息管理、所屬學(xué)科管理、教師用戶管理、專家用戶管理、學(xué)院用戶管理、結(jié)項(xiàng)成績(jī)管理、項(xiàng)目類型管理、獎(jiǎng)勵(lì)標(biāo)準(zhǔn)管理、項(xiàng)目成果類目等操作;③項(xiàng)目申報(bào)模塊,包括系統(tǒng)開放時(shí)間、項(xiàng)目名額分配、項(xiàng)目賬號(hào)管理、查看推薦項(xiàng)目、分配專家評(píng)審、評(píng)審得分明細(xì)、項(xiàng)目立項(xiàng)管理等;④項(xiàng)目審核模塊,包括審核流程管理、項(xiàng)目申請(qǐng)審核等;⑤項(xiàng)目在研模塊,包括查看在研項(xiàng)目、項(xiàng)目報(bào)銷管理、學(xué)生獎(jiǎng)勵(lì)管理、錄入結(jié)項(xiàng)成績(jī)等;⑥項(xiàng)目歷史模塊,包括查看歷史項(xiàng)目、學(xué)生歷史獎(jiǎng)勵(lì)、歷史評(píng)審得分等;⑦項(xiàng)目黑名單模塊,包括查看黑名單項(xiàng)目、查看黑名單人員等;⑧查詢與統(tǒng)計(jì)模塊,包括查詢學(xué)生成員、查詢教師成員、歷史分類統(tǒng)計(jì)等;⑨項(xiàng)目過(guò)程監(jiān)控模塊,包括每季度完成情況匯報(bào)、指導(dǎo)教師評(píng)價(jià)、階段性成果評(píng)價(jià)等。
2.2 系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
本系統(tǒng)采用B/S架構(gòu)設(shè)計(jì),結(jié)合MVC設(shè)計(jì)模式進(jìn)行平臺(tái)系統(tǒng)開發(fā)[11],使用流行的SSM開源框架[12]進(jìn)行快速開發(fā),Web容器[13采用Tomcat,分為數(shù)據(jù)訪問(wèn)層、業(yè)務(wù)邏輯層、界面展示層,系統(tǒng)體系結(jié)構(gòu)如圖2所示。
2.3 數(shù)據(jù)庫(kù)設(shè)計(jì)
根據(jù)系統(tǒng)功能要求完成實(shí)體對(duì)象分析,利用E-R圖描述大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目平臺(tái)中的相關(guān)實(shí)體、屬性及關(guān)系,為系統(tǒng)建立數(shù)據(jù)模型,分析各實(shí)體間關(guān)系,并且充分利用數(shù)據(jù)庫(kù)范式[14]建立數(shù)據(jù)庫(kù)對(duì)應(yīng)的實(shí)體類屬性。系統(tǒng)E-R模型如圖3所示。
2.4 權(quán)限管理設(shè)計(jì)
涉及用戶參與的系統(tǒng)基本上都要進(jìn)行權(quán)限管理,權(quán)限管理屬于系統(tǒng)安全范疇,權(quán)限管理實(shí)現(xiàn)對(duì)用戶訪問(wèn)系統(tǒng)的控制,按照安全規(guī)則或者安全策略控制用戶可以訪問(wèn)而且只能訪問(wèn)被授權(quán)的資源[15]。
本系統(tǒng)角色分為超級(jí)管理員、學(xué)校教務(wù)處、學(xué)院負(fù)責(zé)人、指導(dǎo)教師、學(xué)生和評(píng)審專家。超級(jí)管理員對(duì)系統(tǒng)權(quán)限進(jìn)行控制、對(duì)當(dāng)前在線用戶進(jìn)行管理;學(xué)校教務(wù)處完成基礎(chǔ)數(shù)據(jù)的管理、項(xiàng)目申報(bào)、審核、變更、延期、終止、結(jié)項(xiàng)管理、項(xiàng)目中期報(bào)銷管理;學(xué)院負(fù)責(zé)人完成審核學(xué)院項(xiàng)目申報(bào);指導(dǎo)教師負(fù)責(zé)項(xiàng)目創(chuàng)建與報(bào)銷;學(xué)生負(fù)責(zé)項(xiàng)目申報(bào)與結(jié)項(xiàng);評(píng)審專家負(fù)責(zé)為申報(bào)項(xiàng)目評(píng)分。每個(gè)角色登錄后所擁有的操作菜單各不相同。
Shiro 最基礎(chǔ)的是Realm 接口,CachingRealm 負(fù)責(zé)緩存處理,Authentication Realm 負(fù)責(zé)認(rèn)證,AuthorizingRealm 負(fù)責(zé)授權(quán),通常自定義的 realm 繼承 Authorizing Realm[16]。
本系統(tǒng)用戶密碼在系統(tǒng)中都進(jìn)行md5加密,且采用加鹽做法。加鹽有助于提高加密安全性[17],即使有人拿到加密的密文,但如果不知道加密的鹽和加密的次數(shù),也無(wú)法利用暴力碰撞的方法進(jìn)行解密[18],這使用戶賬號(hào)安全更有保障。在網(wǎng)絡(luò)傳輸中本系統(tǒng)采用aes對(duì)稱加密算法[19],后臺(tái)在session中存入key,在用戶輸入密碼后利用aes和session中存儲(chǔ)的key進(jìn)行加密,以加密后的密文進(jìn)行網(wǎng)絡(luò)傳輸,后臺(tái)取出session中的key利用解密算法進(jìn)行密文加密,使系統(tǒng)更加安全。
3 系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)基于B/S模式,采用目前最流行的輕量級(jí)SSM框架進(jìn)行設(shè)計(jì),并結(jié)合Redis技術(shù)、EasyUI技術(shù)開發(fā)出流程化大創(chuàng)項(xiàng)目管理平臺(tái)。
由于本系統(tǒng)的功能較多,在此筆者以立項(xiàng)功能模塊為例描述其實(shí)現(xiàn)過(guò)程。
3.1 項(xiàng)目名稱模糊匹配算法
項(xiàng)目立項(xiàng)時(shí),需要對(duì)申報(bào)的項(xiàng)目名稱進(jìn)行篩選,不能與往屆名稱重復(fù)或有較高的相似度,這樣就需要對(duì)項(xiàng)目名稱的中文字符串進(jìn)行模糊匹配,計(jì)算出相似度。字符串相似度指通過(guò)一定的方法計(jì)算兩個(gè)不同字符串之間的相似程度,常見的字符串相似度算法包括編輯距離算法(EditDistance)、n-gram算法、JaroWinkler算法以及Soundex算法。就目前技術(shù)而言,想要精準(zhǔn)地從字型、字音上判別相似度難以實(shí)現(xiàn),故在使用過(guò)程中只能盡可能測(cè)試出相似百分比作為申報(bào)時(shí)的輔助參考。本系統(tǒng)選擇應(yīng)用較為廣泛的編輯距離算法實(shí)施。
編輯距離算法[20](EditDistance,又稱Levenshtein,距離),該算法將兩個(gè)字符串的相似度問(wèn)題歸結(jié)為將其中一個(gè)字符串轉(zhuǎn)化成另一個(gè)字符串所要付出的代價(jià)。轉(zhuǎn)化的代價(jià)越高,說(shuō)明兩個(gè)字符串的相似度越低。通??梢赃x擇的轉(zhuǎn)化方式包含插入、替換及刪除。
3.2 項(xiàng)目立項(xiàng)模塊實(shí)現(xiàn)
教務(wù)處可對(duì)每年專家已評(píng)審過(guò)的項(xiàng)目計(jì)算最終得分,并根據(jù)項(xiàng)目類型進(jìn)行最終級(jí)別確定,根據(jù)專家給出的評(píng)審意見,學(xué)校教務(wù)處確定最終項(xiàng)目級(jí)別并將數(shù)據(jù)進(jìn)行公示。公示結(jié)束后學(xué)生和指導(dǎo)教師就能查看到被最終定級(jí)的項(xiàng)目級(jí)別,學(xué)生確認(rèn)后,教務(wù)處就可進(jìn)行批量立項(xiàng)。
項(xiàng)目級(jí)別立項(xiàng)泳道圖、時(shí)序圖和運(yùn)行圖,如圖4、圖5所示。
該模塊MVC模式各部分設(shè)計(jì)如下:
(1)表示層設(shè)計(jì)。SureLastProjTypeController提供findAlreApproalList()方法查詢已立項(xiàng)的項(xiàng)目信息,updateLastProjType可修改項(xiàng)目類型,sureLastProjType發(fā)布項(xiàng)目最終級(jí)別并立項(xiàng),Controller層將數(shù)據(jù)封裝成sureProjTypeVO供界面數(shù)據(jù)顯示。
(2)業(yè)務(wù)邏輯層設(shè)計(jì)。SureLastProjTypeService層提供了findAlreApproalList()、updateLastProjType、sureLastProjType等方法供控制器進(jìn)行訪問(wèn)。學(xué)校教務(wù)處一旦提交發(fā)布且立項(xiàng)后,則將申報(bào)申請(qǐng)表中的數(shù)據(jù)批量移入項(xiàng)目在研表中。
(3)數(shù)據(jù)訪問(wèn)層設(shè)計(jì)。SureLastProjTypeMapper提供了不同的數(shù)據(jù)庫(kù)操作方法供service層調(diào)用,其中用到的實(shí)體有ProjDeclareApply和ProjResearch。
4 結(jié)語(yǔ)
本文結(jié)合大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃實(shí)際運(yùn)行情況,利用SSM、Shiro等技術(shù)設(shè)計(jì)并開發(fā)了“大創(chuàng)”項(xiàng)目管理平臺(tái),經(jīng)上線運(yùn)行,該平臺(tái)能夠滿足高?!按髣?chuàng)”項(xiàng)目管理需要,提升了大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目管理工作的規(guī)范化。平臺(tái)架構(gòu)具有良好的可擴(kuò)展性和維護(hù)性,對(duì)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目管理具有一定的參考和借鑒作用。
參考文獻(xiàn):
[1] 李寶營(yíng),祁建廣,王裕如,等. 以學(xué)科競(jìng)賽和創(chuàng)新創(chuàng)業(yè)項(xiàng)目為驅(qū)動(dòng)的應(yīng)用型人才培養(yǎng)[J]. 教育現(xiàn)代化,2016(30):168-172.
[2] 鄧曉菲,針對(duì)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目過(guò)程管理的幾點(diǎn)探討[J]. 才智,2016(2): 155-156.
[3] 溫文婷,范德榮,魏俊,等. 大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目管理初探——以四川大學(xué)電子信息學(xué)院為例[J]. 教育現(xiàn)代化,2018(13):47-48.
[4] 張建文,張琤,常曉明,等. 地方院校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃的過(guò)程管理[J]. 高等工程教育研究,2014(5):136-137.
[5] 國(guó)家級(jí)大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃平臺(tái)[EB/OL]. http://gjcxcy.bjtu.edu.cn/Index.aspx.
[6] 江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃平臺(tái)[EB/OL]. http://jscx.njnu.edu.cn/.
[7] 張珂,陳雅鑫,于梅英. 基于J2EE輕量級(jí)框架的檔案管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件導(dǎo)刊,2011(10):93-96.
[8] 李洋. SSM框架在Web應(yīng)用開發(fā)中的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2016(26):190-193.
[9] 翁云翔. Java 安全框架 Shiro 在 Web 中的研究與應(yīng)用[D]. 武漢:武漢郵電科學(xué)研究院,2016.
[10] 周菁. jQuery EasyUI網(wǎng)站開發(fā)實(shí)戰(zhàn)[M]. 北京:人民郵電出版社,2018.
[11] 朱要光. Spring MVC+MyBatis開發(fā)從入門到項(xiàng)目實(shí)戰(zhàn)[M]. 北京:電子工業(yè)出版社,2018.
[12] 王丹陽(yáng). 基于SSH框架的大型零售企業(yè)CRM系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 長(zhǎng)春:吉林大學(xué),2015.
[13]NYBERG G,PATRICK R. Mastering bea weblogic server:best practices for building and deploying J2EE applications[J]. John Wiley & sons,Inc, 2004(6):501-505.
[14] 雷景生,葉文珺,樓越煥,等. 數(shù)據(jù)庫(kù)原理及應(yīng)用[M]. 北京:清華大學(xué)出版社,2015.
[15] 蔣輝,李敬輝,魏巧玲. 基于RBAC模型的通用權(quán)限管理系統(tǒng)分析與設(shè)計(jì)[J]. 軟件導(dǎo)刊, 2016(3):120-121.
[16] 徐孝成. 基于Shiro的Web應(yīng)用安全框架的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù),2015(16):93-95.
[17] 趙一凡,卞良,叢昕. 基于MD5的加鹽消息摘要Java實(shí)現(xiàn)[J].? 軟件導(dǎo)刊, 2018(3):215-216.
[18] 查理·P 弗萊格. 信息安全原理與技術(shù)[M]. 第5版. 李毅超,譯. 北京:電子工業(yè)出版社,2016.
[19] 馮艷. 基于AES 算法的智能卡攻擊與防御的研究[D]. 北京,北京交通大學(xué),2013.
[20] 姜華,韓安琪,王美佳,等. 基于改進(jìn)編輯距離的字符串相似度求解算法[J]. 計(jì)算機(jī)工程, 2014,40(1):222-227.
(責(zé)任編輯:杜能鋼)