基于SSM的高校“大创”项目管理平台设计与实现
2020-05-25陈俊王鑫张世权刘巧玲胡局新
陈俊 王鑫 张世权 刘巧玲 胡局新
摘 要:大学生创新训练计划项目(简称“大创”项目)受到高度重视。随着创新创业学生人数的不断增加以及项目范围的不断扩大,对“大创”项目的申报、评审、定级、立项、过程管理、结项、资助金发放、证书打印等一系列流程进行有效管理具有重要意义。依托IDEA开发工具,通过整合主流框架SSM、Shiro和 EasyUI,设计并开发了高校大学生创新训练计划项目管理平台,以解决传统电子表格申报、纸质存档、报销零散、统计困难、重复项目难以排查、项目开展过程管理不严等导致验收质量难以控制等问题。试运行结果表明,该平台有效实现了 “大创”项目的在线管理和监控,为“大创”项目规范化管理提供了平台支撑。
关键词:大学生创新训练计划项目;SSM;Shiro;EasyUI;在线管理和监控
DOI:10. 11907/rjdk. 191632 开放科学(资源服务)标识码(OSID):
中图分类号:TP319文献标识码:A 文章编号:1672-7800(2020)002-0057-04
英标: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 引言
大學生创新能力在未来工作中起着重要作用[1],高校纷纷开设大学生创新课程,建设大学生创新训练基地,提供专门的创新项目立项资助,一时间涌现出大量优秀项目。但高校在大创项目实施过程中普遍存在重成果管理轻过程管理的现象[2]。为此,温文婷[3]、张建文[4]等从加强信息化平台建设、注重过程管理等方面提出解决途径。国家级和省级大学生创新创业训练计划项目平台[5-6]陆续上线,但这些平台主要用于对外公布立项信息,共享的数据是国家级或省级以上级别项目,对于数量较大的校级大创项目仍采用电子表格形式,在管理上存在一系列问题,如参赛人员管理、项目申请信息审核与保存、重复项目排查、项目过程管理及项目验收等。开发一个集项目申报、评审、定级、立项、结项、过程管理、奖金发放、证书打印等一系列流程于一体的高校大学生创新训练计划项目管理平台迫在眉睫。
1 关键技术
1.1 SSM框架
SSM(Spring+SpringMVC+MyBatis)由Spring、MyBatis两个开源框架整合而成,是当前Java Web开发中十分流行的框架[7]。其中spring是一个轻量级的容器框架,控制反转(IoC)和面向切面(AOP)贯穿整个系统,包括表现层、业务层及持久层,解决了松耦合问题[8];SpringMVC把一个应用按照模型(Model)、视图(View)、控制器(Controller)的方式进行分离;MyBatis支持普通SQL查询,可以使用存储过程和高级映射。它内部封装了JDBC,使用者只需关注SQL 语句本身,不需要再花费精力去处理注册驱动、Connection创建、Statement配置等繁杂事务[8]。
1.2 Shiro框架
Shiro是Apache基金组织发布的一个开源安全框架[9]。利用此框架可很好地满足系统应用对权限安全的需求,它使用起来非常方便,结合Spring框架可以更好地开发出足够安全的应用程序。对于会话管理、权限认证等,Shiro都做得非常好。
1.3 Easyui框架
Easyui 是一种基于 JQuery 框架开发的用户界面插件集合[10]。Easyui 可以很方便地构建用户界面,其提供的数据控件具有较强的数据处理能力,广泛应用在后台管理系统中,开发人员不用写复杂的css和js代码就可很方便地实现所需功能。
2 系统设计
2.1 功能模块设计
大创项目管理系统分为项目管理与维护、项目申报与审核、项目创建与评审3个子系统,系统功能模块如图 1所示。
项目管理与维护子系统功能包括:①权限控制模块,包括资源管理、角色管理、用户管理等操作;②基础数据模块,包括学生信息管理、部门信息管理、所属学科管理、教师用户管理、专家用户管理、学院用户管理、结项成绩管理、项目类型管理、奖励标准管理、项目成果类目等操作;③项目申报模块,包括系统开放时间、项目名额分配、项目账号管理、查看推荐项目、分配专家评审、评审得分明细、项目立项管理等;④项目审核模块,包括审核流程管理、项目申请审核等;⑤项目在研模块,包括查看在研项目、项目报销管理、学生奖励管理、录入结项成绩等;⑥项目历史模块,包括查看历史项目、学生历史奖励、历史评审得分等;⑦项目黑名单模块,包括查看黑名单项目、查看黑名单人员等;⑧查询与统计模块,包括查询学生成员、查询教师成员、历史分类统计等;⑨项目过程监控模块,包括每季度完成情况汇报、指导教师评价、阶段性成果评价等。
2.2 系统体系结构设计
本系统采用B/S架构设计,结合MVC设计模式进行平台系统开发[11],使用流行的SSM开源框架[12]进行快速开发,Web容器[13采用Tomcat,分为数据访问层、业务逻辑层、界面展示层,系统体系结构如图2所示。
2.3 数据库设计
根据系统功能要求完成实体对象分析,利用E-R图描述大学生创新创业项目平台中的相关实体、属性及关系,为系统建立数据模型,分析各实体间关系,并且充分利用数据库范式[14]建立数据库对应的实体类属性。系统E-R模型如图3所示。
2.4 权限管理设计
涉及用户参与的系统基本上都要进行权限管理,权限管理属于系统安全范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户可以访问而且只能访问被授权的资源[15]。
本系统角色分为超级管理员、学校教务处、学院负责人、指导教师、学生和评审专家。超级管理员对系统权限进行控制、对当前在线用户进行管理;学校教务处完成基础数据的管理、项目申报、审核、变更、延期、终止、结项管理、项目中期报销管理;学院负责人完成审核学院项目申报;指导教师负责项目创建与报销;学生负责项目申报与结项;评审专家负责为申报项目评分。每个角色登录后所拥有的操作菜单各不相同。
Shiro 最基础的是Realm 接口,CachingRealm 负责缓存处理,Authentication Realm 负责认证,AuthorizingRealm 负责授权,通常自定义的 realm 继承 Authorizing Realm[16]。
本系统用户密码在系统中都进行md5加密,且采用加盐做法。加盐有助于提高加密安全性[17],即使有人拿到加密的密文,但如果不知道加密的盐和加密的次数,也无法利用暴力碰撞的方法进行解密[18],这使用户账号安全更有保障。在网络传输中本系统采用aes对称加密算法[19],后台在session中存入key,在用户输入密码后利用aes和session中存储的key进行加密,以加密后的密文进行网络传输,后台取出session中的key利用解密算法进行密文加密,使系统更加安全。
3 系统实现
本系统基于B/S模式,采用目前最流行的轻量级SSM框架进行设计,并结合Redis技术、EasyUI技术开发出流程化大创项目管理平台。
由于本系统的功能较多,在此笔者以立项功能模块为例描述其实现过程。
3.1 项目名称模糊匹配算法
项目立项时,需要对申报的项目名称进行筛选,不能与往届名称重复或有较高的相似度,这样就需要对项目名称的中文字符串进行模糊匹配,计算出相似度。字符串相似度指通过一定的方法计算两个不同字符串之间的相似程度,常见的字符串相似度算法包括编辑距离算法(EditDistance)、n-gram算法、JaroWinkler算法以及Soundex算法。就目前技术而言,想要精准地从字型、字音上判别相似度难以实现,故在使用过程中只能尽可能测試出相似百分比作为申报时的辅助参考。本系统选择应用较为广泛的编辑距离算法实施。
编辑距离算法[20](EditDistance,又称Levenshtein,距离),该算法将两个字符串的相似度问题归结为将其中一个字符串转化成另一个字符串所要付出的代价。转化的代价越高,说明两个字符串的相似度越低。通常可以选择的转化方式包含插入、替换及删除。
3.2 项目立项模块实现
教务处可对每年专家已评审过的项目计算最终得分,并根据项目类型进行最终级别确定,根据专家给出的评审意见,学校教务处确定最终项目级别并将数据进行公示。公示结束后学生和指导教师就能查看到被最终定级的项目级别,学生确认后,教务处就可进行批量立项。
项目级别立项泳道图、时序图和运行图,如图4、图5所示。
该模块MVC模式各部分设计如下:
(1)表示层设计。SureLastProjTypeController提供findAlreApproalList()方法查詢已立项的项目信息,updateLastProjType可修改项目类型,sureLastProjType发布项目最终级别并立项,Controller层将数据封装成sureProjTypeVO供界面数据显示。
(2)业务逻辑层设计。SureLastProjTypeService层提供了findAlreApproalList()、updateLastProjType、sureLastProjType等方法供控制器进行访问。学校教务处一旦提交发布且立项后,则将申报申请表中的数据批量移入项目在研表中。
(3)数据访问层设计。SureLastProjTypeMapper提供了不同的数据库操作方法供service层调用,其中用到的实体有ProjDeclareApply和ProjResearch。
4 结语
本文结合大学生创新创业训练计划实际运行情况,利用SSM、Shiro等技术设计并开发了“大创”项目管理平台,经上线运行,该平台能够满足高校“大创”项目管理需要,提升了大学生创新创业项目管理工作的规范化。平台架构具有良好的可扩展性和维护性,对大学生创新创业训练计划项目管理具有一定的参考和借鉴作用。
参考文献:
[1] 李宝营,祁建广,王裕如,等. 以学科竞赛和创新创业项目为驱动的应用型人才培养[J]. 教育现代化,2016(30):168-172.
[2] 邓晓菲,针对大学生创新创业训练计划项目过程管理的几点探讨[J]. 才智,2016(2): 155-156.
[3] 温文婷,范德荣,魏俊,等. 大学生创新创业训练计划项目管理初探——以四川大学电子信息学院为例[J]. 教育现代化,2018(13):47-48.
[4] 张建文,张琤,常晓明,等. 地方院校大学生创新创业训练计划的过程管理[J]. 高等工程教育研究,2014(5):136-137.
[5] 国家级大学生创新创业训练计划平台[EB/OL]. http://gjcxcy.bjtu.edu.cn/Index.aspx.
[6] 江苏省大学生创新创业训练计划平台[EB/OL]. http://jscx.njnu.edu.cn/.
[7] 张珂,陈雅鑫,于梅英. 基于J2EE轻量级框架的档案管理系统的设计与实现[J]. 软件导刊,2011(10):93-96.
[8] 李洋. SSM框架在Web应用开发中的设计与实现[J]. 计算机技术与发展,2016(26):190-193.
[9] 翁云翔. Java 安全框架 Shiro 在 Web 中的研究与应用[D]. 武汉:武汉邮电科学研究院,2016.
[10] 周菁. jQuery EasyUI网站开发实战[M]. 北京:人民邮电出版社,2018.
[11] 朱要光. Spring MVC+MyBatis开发从入门到项目实战[M]. 北京:电子工业出版社,2018.
[12] 王丹阳. 基于SSH框架的大型零售企业CRM系统的设计与实现[D]. 长春:吉林大学,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] 雷景生,叶文珺,楼越焕,等. 数据库原理及应用[M]. 北京:清华大学出版社,2015.
[15] 蒋辉,李敬辉,魏巧玲. 基于RBAC模型的通用权限管理系统分析与设计[J]. 软件导刊, 2016(3):120-121.
[16] 徐孝成. 基于Shiro的Web应用安全框架的设计与实现[J]. 电脑知识与技术,2015(16):93-95.
[17] 赵一凡,卞良,丛昕. 基于MD5的加盐消息摘要Java实现[J]. 软件导刊, 2018(3):215-216.
[18] 查理·P 弗莱格. 信息安全原理与技术[M]. 第5版. 李毅超,译. 北京:电子工业出版社,2016.
[19] 冯艳. 基于AES 算法的智能卡攻击与防御的研究[D]. 北京,北京交通大学,2013.
[20] 姜华,韩安琪,王美佳,等. 基于改进编辑距离的字符串相似度求解算法[J]. 计算机工程, 2014,40(1):222-227.
(责任编辑:杜能钢)