陳俊 王鑫 張世權(quán) 劉巧玲 胡局新
摘 要:大學(xué)生創(chuàng)新訓(xùn)練計劃項目(簡稱“大創(chuàng)”項目)受到高度重視。隨著創(chuàng)新創(chuàng)業(yè)學(xué)生人數(shù)的不斷增加以及項目范圍的不斷擴大,對“大創(chuàng)”項目的申報、評審、定級、立項、過程管理、結(jié)項、資助金發(fā)放、證書打印等一系列流程進行有效管理具有重要意義。依托IDEA開發(fā)工具,通過整合主流框架SSM、Shiro和 EasyUI,設(shè)計并開發(fā)了高校大學(xué)生創(chuàng)新訓(xùn)練計劃項目管理平臺,以解決傳統(tǒng)電子表格申報、紙質(zhì)存檔、報銷零散、統(tǒng)計困難、重復(fù)項目難以排查、項目開展過程管理不嚴(yán)等導(dǎo)致驗收質(zhì)量難以控制等問題。試運行結(jié)果表明,該平臺有效實現(xiàn)了 “大創(chuàng)”項目的在線管理和監(jiān)控,為“大創(chuàng)”項目規(guī)范化管理提供了平臺支撐。
關(guān)鍵詞:大學(xué)生創(chuàng)新訓(xùn)練計劃項目;SSM;Shiro;EasyUI;在線管理和監(jiān)控
DOI:10. 11907/rjdk. 191632 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
中圖分類號:TP319文獻標(biāo)識碼:A 文章編號: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)新能力在未來工作中起著重要作用[1],高校紛紛開設(shè)大學(xué)生創(chuàng)新課程,建設(shè)大學(xué)生創(chuàng)新訓(xùn)練基地,提供專門的創(chuàng)新項目立項資助,一時間涌現(xiàn)出大量優(yōu)秀項目。但高校在大創(chuàng)項目實施過程中普遍存在重成果管理輕過程管理的現(xiàn)象[2]。為此,溫文婷[3]、張建文[4]等從加強信息化平臺建設(shè)、注重過程管理等方面提出解決途徑。國家級和省級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目平臺[5-6]陸續(xù)上線,但這些平臺主要用于對外公布立項信息,共享的數(shù)據(jù)是國家級或省級以上級別項目,對于數(shù)量較大的校級大創(chuàng)項目仍采用電子表格形式,在管理上存在一系列問題,如參賽人員管理、項目申請信息審核與保存、重復(fù)項目排查、項目過程管理及項目驗收等。開發(fā)一個集項目申報、評審、定級、立項、結(jié)項、過程管理、獎金發(fā)放、證書打印等一系列流程于一體的高校大學(xué)生創(chuàng)新訓(xùn)練計劃項目管理平臺迫在眉睫。
1 關(guān)鍵技術(shù)
1.1 SSM框架
SSM(Spring+SpringMVC+MyBatis)由Spring、MyBatis兩個開源框架整合而成,是當(dāng)前Java Web開發(fā)中十分流行的框架[7]。其中spring是一個輕量級的容器框架,控制反轉(zhuǎn)(IoC)和面向切面(AOP)貫穿整個系統(tǒng),包括表現(xiàn)層、業(yè)務(wù)層及持久層,解決了松耦合問題[8];SpringMVC把一個應(yīng)用按照模型(Model)、視圖(View)、控制器(Controller)的方式進行分離;MyBatis支持普通SQL查詢,可以使用存儲過程和高級映射。它內(nèi)部封裝了JDBC,使用者只需關(guān)注SQL 語句本身,不需要再花費精力去處理注冊驅(qū)動、Connection創(chuàng)建、Statement配置等繁雜事務(wù)[8]。
1.2 Shiro框架
Shiro是Apache基金組織發(fā)布的一個開源安全框架[9]。利用此框架可很好地滿足系統(tǒng)應(yīng)用對權(quán)限安全的需求,它使用起來非常方便,結(jié)合Spring框架可以更好地開發(fā)出足夠安全的應(yīng)用程序。對于會話管理、權(quán)限認(rèn)證等,Shiro都做得非常好。
1.3 Easyui框架
Easyui 是一種基于 JQuery 框架開發(fā)的用戶界面插件集合[10]。Easyui 可以很方便地構(gòu)建用戶界面,其提供的數(shù)據(jù)控件具有較強的數(shù)據(jù)處理能力,廣泛應(yīng)用在后臺管理系統(tǒng)中,開發(fā)人員不用寫復(fù)雜的css和js代碼就可很方便地實現(xiàn)所需功能。
2 系統(tǒng)設(shè)計
2.1 功能模塊設(shè)計
大創(chuàng)項目管理系統(tǒng)分為項目管理與維護、項目申報與審核、項目創(chuàng)建與評審3個子系統(tǒng),系統(tǒng)功能模塊如圖 1所示。
項目管理與維護子系統(tǒng)功能包括:①權(quán)限控制模塊,包括資源管理、角色管理、用戶管理等操作;②基礎(chǔ)數(shù)據(jù)模塊,包括學(xué)生信息管理、部門信息管理、所屬學(xué)科管理、教師用戶管理、專家用戶管理、學(xué)院用戶管理、結(jié)項成績管理、項目類型管理、獎勵標(biāo)準(zhǔn)管理、項目成果類目等操作;③項目申報模塊,包括系統(tǒng)開放時間、項目名額分配、項目賬號管理、查看推薦項目、分配專家評審、評審得分明細(xì)、項目立項管理等;④項目審核模塊,包括審核流程管理、項目申請審核等;⑤項目在研模塊,包括查看在研項目、項目報銷管理、學(xué)生獎勵管理、錄入結(jié)項成績等;⑥項目歷史模塊,包括查看歷史項目、學(xué)生歷史獎勵、歷史評審得分等;⑦項目黑名單模塊,包括查看黑名單項目、查看黑名單人員等;⑧查詢與統(tǒng)計模塊,包括查詢學(xué)生成員、查詢教師成員、歷史分類統(tǒng)計等;⑨項目過程監(jiān)控模塊,包括每季度完成情況匯報、指導(dǎo)教師評價、階段性成果評價等。
2.2 系統(tǒng)體系結(jié)構(gòu)設(shè)計
本系統(tǒng)采用B/S架構(gòu)設(shè)計,結(jié)合MVC設(shè)計模式進行平臺系統(tǒng)開發(fā)[11],使用流行的SSM開源框架[12]進行快速開發(fā),Web容器[13采用Tomcat,分為數(shù)據(jù)訪問層、業(yè)務(wù)邏輯層、界面展示層,系統(tǒng)體系結(jié)構(gòu)如圖2所示。
2.3 數(shù)據(jù)庫設(shè)計
根據(jù)系統(tǒng)功能要求完成實體對象分析,利用E-R圖描述大學(xué)生創(chuàng)新創(chuàng)業(yè)項目平臺中的相關(guān)實體、屬性及關(guān)系,為系統(tǒng)建立數(shù)據(jù)模型,分析各實體間關(guān)系,并且充分利用數(shù)據(jù)庫范式[14]建立數(shù)據(jù)庫對應(yīng)的實體類屬性。系統(tǒng)E-R模型如圖3所示。
2.4 權(quán)限管理設(shè)計
涉及用戶參與的系統(tǒng)基本上都要進行權(quán)限管理,權(quán)限管理屬于系統(tǒng)安全范疇,權(quán)限管理實現(xiàn)對用戶訪問系統(tǒng)的控制,按照安全規(guī)則或者安全策略控制用戶可以訪問而且只能訪問被授權(quán)的資源[15]。
本系統(tǒng)角色分為超級管理員、學(xué)校教務(wù)處、學(xué)院負(fù)責(zé)人、指導(dǎo)教師、學(xué)生和評審專家。超級管理員對系統(tǒng)權(quán)限進行控制、對當(dāng)前在線用戶進行管理;學(xué)校教務(wù)處完成基礎(chǔ)數(shù)據(jù)的管理、項目申報、審核、變更、延期、終止、結(jié)項管理、項目中期報銷管理;學(xué)院負(fù)責(zé)人完成審核學(xué)院項目申報;指導(dǎo)教師負(fù)責(zé)項目創(chuàng)建與報銷;學(xué)生負(fù)責(zé)項目申報與結(jié)項;評審專家負(fù)責(zé)為申報項目評分。每個角色登錄后所擁有的操作菜單各不相同。
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)中都進行md5加密,且采用加鹽做法。加鹽有助于提高加密安全性[17],即使有人拿到加密的密文,但如果不知道加密的鹽和加密的次數(shù),也無法利用暴力碰撞的方法進行解密[18],這使用戶賬號安全更有保障。在網(wǎng)絡(luò)傳輸中本系統(tǒng)采用aes對稱加密算法[19],后臺在session中存入key,在用戶輸入密碼后利用aes和session中存儲的key進行加密,以加密后的密文進行網(wǎng)絡(luò)傳輸,后臺取出session中的key利用解密算法進行密文加密,使系統(tǒng)更加安全。
3 系統(tǒng)實現(xiàn)
本系統(tǒng)基于B/S模式,采用目前最流行的輕量級SSM框架進行設(shè)計,并結(jié)合Redis技術(shù)、EasyUI技術(shù)開發(fā)出流程化大創(chuàng)項目管理平臺。
由于本系統(tǒng)的功能較多,在此筆者以立項功能模塊為例描述其實現(xiàn)過程。
3.1 項目名稱模糊匹配算法
項目立項時,需要對申報的項目名稱進行篩選,不能與往屆名稱重復(fù)或有較高的相似度,這樣就需要對項目名稱的中文字符串進行模糊匹配,計算出相似度。字符串相似度指通過一定的方法計算兩個不同字符串之間的相似程度,常見的字符串相似度算法包括編輯距離算法(EditDistance)、n-gram算法、JaroWinkler算法以及Soundex算法。就目前技術(shù)而言,想要精準(zhǔn)地從字型、字音上判別相似度難以實現(xiàn),故在使用過程中只能盡可能測試出相似百分比作為申報時的輔助參考。本系統(tǒng)選擇應(yīng)用較為廣泛的編輯距離算法實施。
編輯距離算法[20](EditDistance,又稱Levenshtein,距離),該算法將兩個字符串的相似度問題歸結(jié)為將其中一個字符串轉(zhuǎn)化成另一個字符串所要付出的代價。轉(zhuǎn)化的代價越高,說明兩個字符串的相似度越低。通??梢赃x擇的轉(zhuǎn)化方式包含插入、替換及刪除。
3.2 項目立項模塊實現(xiàn)
教務(wù)處可對每年專家已評審過的項目計算最終得分,并根據(jù)項目類型進行最終級別確定,根據(jù)專家給出的評審意見,學(xué)校教務(wù)處確定最終項目級別并將數(shù)據(jù)進行公示。公示結(jié)束后學(xué)生和指導(dǎo)教師就能查看到被最終定級的項目級別,學(xué)生確認(rèn)后,教務(wù)處就可進行批量立項。
項目級別立項泳道圖、時序圖和運行圖,如圖4、圖5所示。
該模塊MVC模式各部分設(shè)計如下:
(1)表示層設(shè)計。SureLastProjTypeController提供findAlreApproalList()方法查詢已立項的項目信息,updateLastProjType可修改項目類型,sureLastProjType發(fā)布項目最終級別并立項,Controller層將數(shù)據(jù)封裝成sureProjTypeVO供界面數(shù)據(jù)顯示。
(2)業(yè)務(wù)邏輯層設(shè)計。SureLastProjTypeService層提供了findAlreApproalList()、updateLastProjType、sureLastProjType等方法供控制器進行訪問。學(xué)校教務(wù)處一旦提交發(fā)布且立項后,則將申報申請表中的數(shù)據(jù)批量移入項目在研表中。
(3)數(shù)據(jù)訪問層設(shè)計。SureLastProjTypeMapper提供了不同的數(shù)據(jù)庫操作方法供service層調(diào)用,其中用到的實體有ProjDeclareApply和ProjResearch。
4 結(jié)語
本文結(jié)合大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃實際運行情況,利用SSM、Shiro等技術(shù)設(shè)計并開發(fā)了“大創(chuàng)”項目管理平臺,經(jīng)上線運行,該平臺能夠滿足高?!按髣?chuàng)”項目管理需要,提升了大學(xué)生創(chuàng)新創(chuàng)業(yè)項目管理工作的規(guī)范化。平臺架構(gòu)具有良好的可擴展性和維護性,對大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目管理具有一定的參考和借鑒作用。
參考文獻:
[1] 李寶營,祁建廣,王裕如,等. 以學(xué)科競賽和創(chuàng)新創(chuàng)業(yè)項目為驅(qū)動的應(yīng)用型人才培養(yǎng)[J]. 教育現(xiàn)代化,2016(30):168-172.
[2] 鄧曉菲,針對大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目過程管理的幾點探討[J]. 才智,2016(2): 155-156.
[3] 溫文婷,范德榮,魏俊,等. 大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目管理初探——以四川大學(xué)電子信息學(xué)院為例[J]. 教育現(xiàn)代化,2018(13):47-48.
[4] 張建文,張琤,常曉明,等. 地方院校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃的過程管理[J]. 高等工程教育研究,2014(5):136-137.
[5] 國家級大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃平臺[EB/OL]. http://gjcxcy.bjtu.edu.cn/Index.aspx.
[6] 江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃平臺[EB/OL]. http://jscx.njnu.edu.cn/.
[7] 張珂,陳雅鑫,于梅英. 基于J2EE輕量級框架的檔案管理系統(tǒng)的設(shè)計與實現(xiàn)[J]. 軟件導(dǎo)刊,2011(10):93-96.
[8] 李洋. SSM框架在Web應(yīng)用開發(fā)中的設(shè)計與實現(xiàn)[J]. 計算機技術(shù)與發(fā)展,2016(26):190-193.
[9] 翁云翔. Java 安全框架 Shiro 在 Web 中的研究與應(yīng)用[D]. 武漢:武漢郵電科學(xué)研究院,2016.
[10] 周菁. jQuery EasyUI網(wǎng)站開發(fā)實戰(zhàn)[M]. 北京:人民郵電出版社,2018.
[11] 朱要光. Spring MVC+MyBatis開發(fā)從入門到項目實戰(zhàn)[M]. 北京:電子工業(yè)出版社,2018.
[12] 王丹陽. 基于SSH框架的大型零售企業(yè)CRM系統(tǒng)的設(shè)計與實現(xiàn)[D]. 長春:吉林大學(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ù)庫原理及應(yīng)用[M]. 北京:清華大學(xué)出版社,2015.
[15] 蔣輝,李敬輝,魏巧玲. 基于RBAC模型的通用權(quán)限管理系統(tǒng)分析與設(shè)計[J]. 軟件導(dǎo)刊, 2016(3):120-121.
[16] 徐孝成. 基于Shiro的Web應(yīng)用安全框架的設(shè)計與實現(xiàn)[J]. 電腦知識與技術(shù),2015(16):93-95.
[17] 趙一凡,卞良,叢昕. 基于MD5的加鹽消息摘要Java實現(xiàn)[J].? 軟件導(dǎo)刊, 2018(3):215-216.
[18] 查理·P 弗萊格. 信息安全原理與技術(shù)[M]. 第5版. 李毅超,譯. 北京:電子工業(yè)出版社,2016.
[19] 馮艷. 基于AES 算法的智能卡攻擊與防御的研究[D]. 北京,北京交通大學(xué),2013.
[20] 姜華,韓安琪,王美佳,等. 基于改進編輯距離的字符串相似度求解算法[J]. 計算機工程, 2014,40(1):222-227.
(責(zé)任編輯:杜能鋼)