基于Struts2的科研业绩考评系统的设计与实现
----以沈阳师范大学为例
2017-02-27
高 博, 夏 辉
(沈阳师范大学 科信软件学院, 沈阳 110034)
基于Struts2的科研业绩考评系统的设计与实现
----以沈阳师范大学为例
高 博, 夏 辉
(沈阳师范大学 科信软件学院, 沈阳 110034)
科研业绩考核在高校年度、季度教师考评中起到关键性作用,针对目前高校科研考评存在的各种问题,提出了基于Struts2的科研业绩考评管理系统。以沈阳师范大学为例,根据高校科研考评管理条例的需要,系统着重解决高校年度、季度教师科研考评量大、难管理、需求功能不完善、信息录入不准确、系统难维护、高峰访问系统慢等问题。系统使用UML面向对象技术根据高校科研管理实际需求进行用例建模,并采用Struts2框架技术进行系统开发,在系统运行上合理运用Memcached缓存技术将数据库中的一部分对象和数据存储到缓存中,以减少服务器并发访问量大出现数据库连接数多和崩溃等现象的出现,系统的成功搭建不仅实现了科研量化考评的数字化管理,减轻日常科研管理工作压力,同时也为日后高校实现数字化校园起到了一定的指导意义。
科研业绩考评;Struts2;Memcached
0 引 言
在科学技术引领人们生活的今天,人们更加关注知识的创新和积累,高校作为人才培养的高等学府、科研团队的聚集地,在社会的发展中起到了不可取代的地位,而科研更是衡量一所高校综合实力高低的重要指标,能够提高科研业绩考评管理就是增强高校的活力,提高教师教育团队的教学和科研能力的最有效途径,同时对实现高校未来发展更有其重要的战略意义。
1 系统相关技术介绍
1.1Struts2框架介绍
Struts2是基于MVC设计模式的可以负责控制层和显示层的应用框架,通过控制器把模型和视图之间的通信连接到一起[1]。
MVC处理过程:首先,控制器接收用户的请求,并决定应该调用哪个模型进行处理。然后,模型根据用户请求进行相应的业务逻辑处理,并返回数据。最后,控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能。MVC处理模式如图1所示。MVC特点:视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。
图1 MVC处理模式图
落实到具体的实际应用中,给控制器一个HTTP请求,控制器就会开始调取一个Action类,应用程序通过调取的Action类来作为一个直接指示,开始进行二者之间信息的交换,从而达到最新的的信息状态。另外,为了完成这2个模型和视图之间的数据传输,框架也可以用一种ActionForm类的方式实现,Struts的框架原理如图2。
ActionServlet是一个中央控制器,是框架的核心部件,它同servlet一样继承HttpServlet。ActionForm的目的在于数据的集中收集,类似页面信息的实体类。它可以自动转换成需要的数据类型,如name是int类型,这样ActionForm会得到getName类型同样的int型,和以往的自动强制转化不同。Action是业务逻辑控制器,ActionForward是它的返回类型,是底层模型的核心部件,为业务逻辑和表单模型的信息交换提供信息传递和获取服务。系统使用Struts2框架技术[2-3]不仅在满足Servlet和JSP构建可扩展应用需要,同时减少了工程开发所需底层应用,为系统的开发节省了大量时间,提高了项目的合理规划管理,使系统的维护更容易。在运营经费有限的情况下可以更好的利用资金做出最合理最具有优势的项目。
1.2Memcached介绍
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon)是用C语言写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。Memcached缓存技术面向内存中的缓存对象和数据,客户端应用程序可以直接从高速缓冲存储器中读出,不用频繁的访问数据库,加快了响应速度[4]。Memcached在具体应用中,会将所需对象或者数据提前加载到缓存中,如遇到Memcached中没有的对象或数据,通过SQL加载到缓存中,当用户需要时直接从缓存中读取对象或数据,减少同数据库交互的过程[5-7]。系统使用Memcached缓存技术,在用户并发访问服务器高峰时,将其缓存特性彰显至极致,大量减少同数据库的链接数,降低对数据库的操作,不仅在加快用户响应的同时,也减少了服务器的压力,使用系统的运行更加平稳。
图2 Struts2框架原理图
1.3JSON通讯协议
图3 系统权限分布图Fig.3 system permissions distribution diagram
JSON是轻量级数据交互的负载格式[8],它是基于JavaScript语言的一个子集,提供了一种具有嵌套数据元素的结构[9],JSON将一组键值对定义为一个对象,将格式的数据赋值给一个变量,通过键名就可以取到键名所对应的数值。方便于传输,较少冗余的字符。当然直接传二进制是最好的,但面临难解析的问题。亦可以是xml、纯字符串的方式,但json有其独到的好处。有很多的jsonapi提供了json字符串转成对象、对象转换成json串的方法。易于阅读。json代码的良好结构,可以很直观地了解存的是什么内容。采用合理、稳定的通讯结构,为系统并行开发奠定了基础,同时提高了系统的可维护性。
2 系统功能分析与设计
2.1 构建初始化信息模型
搭建系统平台之初构建初始化信息模型[10],初始化信息模型包括初始化院校数据、初始化科系数据、初始化人员信息数据组成。院校数据包括院校名称,院校代码;科系数据包括科系名称,科系或科系工作人员;人事资料包括姓名,员工卡号,所属的科系;学名数据包括科研工作项目,结出硕果,科研申请,社会认可程度。
2.2 用户权限分配模块
为满足沈阳师范大学日常教师科研考评管理条例,将用户等级分为科研处领导、科研处管理人员、单位管理员、参评教师四级。科研处领导主要负责决策支持、监督科研处管理人员日常工作,同时可对各类统计信息进行查询。科研处管理人员主要进行日常办公、对科研业绩进行管理、发布科研信息、整理各类统计信息,单位管理员主要负责本单位参评教师科研业绩的录入、修改、删除、查询,并对已录入的信息进行统计和导出。参评教师主要进行个人科研信息的查询,对出现问题的信息提出异议,对需保留的分数提出结转申请[11]。如图3所示为系统权限分布图。
2.3 科研数据、成果录入模块
科研数据录入模块包含, 科系数据,教职员工数据,会议的种类,期刊类型,专著级别,成果种类,论文检索,类别分类,期刊影响力,项目种类。这些数据根据沈阳师范大学教师科研考评管理条例,由科研处管理人员统一进行录入。
科研成果录入模块包括各项科研考核指标[12-13],期刊统计,会议统计,专著统计,成果统计和项目统计。成果录入是基于科研业绩考评条例基础之上的,需科研处管理人员做好对教师成果审查后再录入。
2.4 系统基本功能模块
系统基本功能模块主要包括员工更改密码,类型百分比设置,奖金百分比设置,量化规模和量化分数调整设置。该审核结果百分比或参评教师成果量化百分比超过1,可根据当时情况设置调整比例。
3 系统功能详细设计与实现
3.1 系统登录功能设计
图4 教师用户登陆成功页面Fig.4 Teacher user login success page
根据高校实际应用需求将登陆用户分为教师和管理人员,这里以教师登陆为例进行介绍,在年度科研考评高峰期,将教师用户账号进行整理缓存至本地[14],当教师用户在峰值访问时,可对用户账号进行本地验证,减少服务器负载,加快系统响应速度。为加强系统安全性,在登陆页面添加了院系图标和院系名称验证机制,这种执行数据库查询所属学院、对应的单位名称,加载图片和信息相结合的方式,在阻止使用非法暴力软件破解的同时,也增添了教师对学院的归属感[15]。如果各项信息及验证正确则表明登陆成功,图4为教师用户登陆成功页面。
3.2 登陆功能业务逻辑实现
登陆功能的业务逻辑层不负责具体的处理,将请求按实际需求传递到Model层,由Model层进行相应的数据处理,将结果返回用户,系统登陆功能[16]部分实现代码如下:
publicStringexecute()
{
HashMaptempTopMap=(HashMap)this.application.getAttribute(″CurrentActInfo″);
Stringyyyy=((String)tempTopMap.get(″ND″)).trim().substring(0, 4)+″е№rеc|″;
if((UID==null)‖(PWD==null)‖(deptCode==null)‖(PWD==staffRole))
{
return″oginFail″
}
3.3 登陆功能Model层实现
登陆功能Model层接到业务逻辑层传递的信息[17],对所需要求进行具体处理,将处理结果返回回去,功能实现部分代码如下:
if((((String)teacherObject.get(″EJDWBH″)).equals(deptCode))&&
(((String)teacherObject.get(″PWD″)).equals(PWD))) {
System.out.println(″teacherPWDejdwbhright!!!!″+(String)teacherObject.get(″PWD″));
userExistState=true;
}
4 结 论
本文提出的基于Struts2教师科研业绩考评系统,很好的满足了高校对教师科研业绩考评的管理需要,大大减少了部门工作压力,在提高工作效率的同时,更是合理规划了科研业绩考评管理,系统的技术选用更是大大提高了服务端响应速度,加强了用户体验,使系统的维护更容易。系统的上线运行更是为其他部门实现信息化管理起到一定的指导意义。
[ 1 ]贾向炜,高瞻. 基于MVC框架技术的教师科研管理系统的设计与实现[J]. 电脑知识与技术, 2015(31):63-65.
[ 2 ]王昊. 基于Struct2框架技术在WEB项目中的应用[J]. 科学中国人, 2014(4):24.
[ 3 ]陈玉石,王涵波. 基于Struts2的企业内部交流平台设计与开发[J]. 网络安全技术与应用, 2016(2):42-45,47.
[ 4 ]任奕奕. 中学数字化校园的建设与应用[M]. 北京:北京师范大学出版社, 2012:102-118.
[ 5 ]刘亮,徐步东,谭艳艳. 基于Memcached内存缓存技术应用研究[J]. 计算机技术与发展, 2015(11):204-208.
[ 6 ]刘芳,管新,时建,等.Memcached在医院信息系统中的应用[J]. 中国医疗设备, 2014(6):37-40.
[ 7 ]郭栋,王伟,曾国荪. 基于Memcached的缓存资源集中管理方法[J]. 计算机技术与发展, 2013(12):62-65.
[ 8 ]袁伟华.JSON在移动终端ASP.Net的通信技术[J]. 电脑编程技术与维护, 2015(2):36-37.
[ 9 ]屈展,李婵.JSON在Ajax数据交换中的应用研究[J]. 西安石油大学学报, 2011(1):95-98.
[10]周丽琴,陆剑. 基于元评价的高校科研绩效量化考核评价[J]. 科技管理研究, 2016(11):101-105.
[11]陈慧敏. 高校教师教研工作量考评体系探讨[J]. 中国高校科技, 2012(增刊1):37-38.
[12]吴凌云. 贵阳学院教师科研积分管理系统设计与分析[D]. 昆明:云南大学, 2015.
[13]陈冰琼. 高校教师绩效量化考核指标体系的研究[D]. 广州:华南理工大学, 2012.
[14]张喜爱,马威,曾庆平,等. 基于校园网的高校科研业绩管理系统开发[J].电化教育研究, 2011(5):45-48.
[15]郭栋,王伟,曾国荪. 基于Memcached的缓存资源集中管理方法[J]. 计算机技术与发展, 2013(12):62-65.
[16]聂常红,张屹,李宝智. 基于Struts2的MVC模式在高校科研管理系统中的应用[J]. 电子技术与软件工程, 2015(1):95-97.
[17]薛元霞,曹振丽,杨毅,等. 基于uml和struts架构的科研管理系统[J]. 农业网络信息, 2013(2):54-57.
DesignandimplementationofscientificresearchperformanceassessmentsystembasedonStruts2 ----TakingShenyangNormalUniversityasanexample
GAO Bo, XIA Hui
(SoftwareCollege,ShenyangNormalUniversity,Shenyang110034,China)
Scientificresearchperformanceassessmentplaysadecisiveroleintheannual,quarterlycollegeteacherevaluation.,intheviewoftheexitingproblemsinuniversityscientificresearchassessment,aresearchperformanceevaluationmanagementsystembasedonStruts2isproposed,takingShenyangnormaluniversityasanexample.AccordingtotheRequirementofScientificResearchAssessmentManagementinUniversities,thesystemfocusesonsolvingtheproblemsaslargeamountofquantities,difficulttomanage,imperfectofdemandfunction,hardtomaintainthestabilityofthesystemandslowdownduringthepeakhoursintheannual,quarterlycollegeteachersresearchassessment.ThesystemusesUMLobject-orientedtechnologytomodelbasedontheactualneedsofuniversityresearchmanagement,andconductsystemdevelopmentwithStruts2frameworktechnology.ReasonableuseMemcachedcachetechnologyinsystemoperationtorealizethedatastoredinthedatabaseandthecache.Thisoperationwillreducetoomuchdatabaseconnectionsandcollapsesphenomenonresultbyconcurrenttrafficvisits.thesystemnotonlyachievessuccessfullythedigitalmanagementofscientificresearchquantitativeevaluation,reducethepressureofdailyresearchmanagement,butalsoplaysacertainguidingsignificancetorealizethedigitalcampusofuniversitiesinthefuture.
scientificresearchperformanceassessment;Structs2;memcached
1673-5862(2017)01-0098-05
2016-10-25。
辽宁省科技厅自然科学基金资助项目(2014020118); 辽宁省教育厅科学技术基金资助项目(L2014441)。
高 博(1987-),男,辽宁盘锦人,沈阳师范大学助理实验员; 通信作者: 夏 辉(1979-),男,河南永城人,沈阳师范大学副教授。
TP
A
10.3969/j.issn.1673-5862.2017.01.019