教师工作业绩考核管理系统的设计与实现
2019-04-15翁小可等
翁小可等
摘要:在许多高校中,每年教师工作业绩的收集、统计、审核等工作的工作量巨大而且琐碎、复杂,每学年需要花费大量的精力来制作维护大量的数据表格。本研究采用Java EE开发语言,依据佛山科学技术学院人文与教育学院的教师工作业绩考核管理需求,设计开发一个基于B/S架构的教师工作业绩考核管理系统,实现了教师年度的工作业绩的录入、计算、审核、统计、汇总、查询、导出等核心需求,使教师工作业绩考核评价实现信息化、智能化管理,使其更加高效、科学、规范。
关键词:教师工作量;绩效管理系统;B/S;MVC
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2019)06-0097-05
需求分析
在佛山科学技术学院的人文与教育学院,教师的工作业绩统计与审核等工作事务,目前还没完全实现信息化管理。每一个学年,教师都要自主填写工作量表,手动计算个人分值。提交到系部后由系部进行初审,人工核对工作量及其得分。系部初审后提交到学院各个业务主管部门分别审核教学、科研、指导学生方面的业绩。整个过程繁琐,工作量大,持续时间长,统计结果容易出错,相關业绩成果无法及时有效地统计、汇总。因此,本研究针对佛山科学技术学院人文与教育学院教师工作业绩考核管理中存在的问题与需求,进行个性化定制,设计开发一个基于B/S架构的教师工作业绩考核管理系统,实现工作量录入、计算、审核、统计、汇总、查询、导出等功能。
功能设计
功能上,依据上述需求分析,从系统用户角色出发,将系统功能分为三大部分:院级功能模块、系部功能模块、教师功能模块。本系统开发时按各功能模块独立进行开发,保证系统各模块之间较低的耦合程度。各模块之间有业务需求的时候再通过调用具体内容的代码进行业务数据操作。系统总体开发柜架如下页图1所示。
系统概要设计
1.系统MVC框架设计
本系统采用B/S架构,系统结构分为四层,分别为用户层、Web层、业务层以及数据处理层。四个层彼此独立,互相调用相应模块,保证系统的低耦合性,便于扩展和维护。用户层是用来浏览用户端即用户界面的显示与各种交互操作。Web层用来映射系统用户同系统服务器之间的交互,Web层的代码主要用来判断用户的业务类型,并调用数据层、业务层的相关操作。业务层用来处理系统中的业务逻辑。数据处理层用来完成对后台数据库的操作。后台数据库采用中小型系统常用的MySql数据库。根据MVC思想可以得到如图2所示的系统服务器与后台程序处理MVC架构和图3的服务器客户端体系结构图。
2.数据库设计
数据库设计是系统开发的重中之重。数据库设计的过程是根据实际开发需求、用户需求对系统使用到的数据进行表结构的设计的过程。由于本系统涉及的工作量类型多,数据复杂,设计一个关系明确、易于维护的数据库至关重要。ER图是一种认识世界的方法和工具,它提供了表示实体、属性、联系的方法。通过ER图可以对事物进行客观抽象并得到关系图。图4是本系统不同角色之间的ER图。院级实体对应系级实体是1∶N的关系,院级实体对教师实体是1∶N的关系,系级实体对教师是1∶N的关系,教师对应工作量是M∶N的关系。其他实体的ER图在此不再赘述。
在设计完ER图之后,要根据ER图生成数据库表结构。随着系统数据量的提高,对系统的性能也是一种考验。对表的命名、表属性的命名,要规范化,做到简单直观,同时也要考虑到后期维护人员能简单理解。根据以上数据库设计的需求分析,针对整个系统的功能模块,以及各类数据的特点,本系统定义了数据库结构逻辑图和表结构。下页图5为部分数据库表图。
系统详细设计
1.前端视图层
操作主界面的布局采用典型的region布局,分别是顶部LOGO区域、左侧导航菜单区域、右侧操作界面主区域、下端网站信息区域。前端的布局设计完成之后,前端操作及用户反馈流程如下页图6所示。
2.后端业务层
根据系统的功能分析,确定教师工作业绩包含了教学工作量、科研工作量、管理岗工作量、校内公益(服务)工作量等四大模块,同时加上角色权限的登录、系部审核对应工作量的模块、院部审核工作量的模块等,总共有13个主要模块。在系统设计过程中,遵循MVC的思想,把系统分为四个分层包:Web包负责与用户界面进行交互,Util包则是存放一些需要经常调用的工具包,Model层则是模型层,存放对应的实体模型,Dao层则是和数据库进行数据的交互操作。
不同类型的业绩的得分有不同的判断条件,所以需要教师提交相应的业绩。如果数据类型不准确,或者未提交足够的判断材料,则无法提交。工作量模块的反馈流程图如下页图7所示。
关键技术与实现
1.Web层交互核心模块
本系统基于MVC思想开发,Web层起到用户视图层与服务器交互的作用,Web层的内容至关重要,需要通过web.xml代码来布置判断用户的操作,并通过servlet进行判断。在Web层的映射里,每一个
以下是web.xml的部分代码。
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"这里是调用javaee的一个web包组件。xsi:schemaLocation="http://java.sun.com/xml/ns/javaee//这里是一个路径地址,一般都是默认安装,取决于javaee的位置。
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">//这里是调入javaee的web组件版本及ID等属性,这些必须写在XML文档里,编译的时候才会去找对应路径的内容实现相应的功能。
通过Web层的处理,再调用后台的数据处理层,对前台传来的数据进行处理、分类。最后再调用数据库处理层,进行数据库存储。存储前同时调用不同工作量的计算模块进行计算。并将计算结果一并存入数据库。以教学工作量的前台获取数据为例。
通过转换为utf-8字符串,再调用提前封装好的教学工作量对象,对数据进行读取操作。
2.分数计算的数据处理逻辑实现
分数的计算涉及数据内容的判断与数据库的存取。本系统开发中,将各工作量的计算方法抽象成一个对象进行调用。根据面向对象编程的思想,不同工作量的计算调用不同的计算规则。
全院的教师工作量计算要通过不同工作量的表筛选出具体通过审核工作量的内容,并存入队列中进行循环读取,并实现加法计算。这里以毕业论文表中数据的读取与计算为例。具体实现逻辑的代码如下,注释的内容为“//”后的内容。其他表的内容读取也相同,就不做赘述。
工作量单项得分的计算是通过前台获取到不同数据之后进行判断并存储。同时调用课题计算对象,将前台数据资料传入进行判断。有些数据如整形(int)数据的处理,必须提前判断是否为空,非空的时候,才调用JAVA的数据类进行处理,将字符串进行转化,使之对应数据库的字符类型。计算时,通过调用DAO层的rule规则,不同工作量调用各自的RULE。这里以论文工作量为例进行功能实现的逻辑展示。
在后台进行具体的数据判断和结果计算,得到具體分数之后再存入到数据库。有一些比较复杂的计算,要提前在数据库处理前进行逻辑判断。比如说,课题工作量要先根据计算规则,判断课题组成员的内容,并实现自动填写。代码逻辑如下。先新建一个课题对象,再进行临时的数据存取。通过逻辑判断,调用工具类,将前台数据内容进行比较之后,再通过逻辑判断的结果进行内容的数据库存储。
结语
本研究设计开发了教师工作业绩考核管理系统,实现了教师年度的工作业绩的录入、计算、审核、统计、汇总、查询、导出等核心需求,满足了当前相应部门进行教师业绩考核与管理的实际需求。从长远来看,可以考虑将业绩考核管理系统与科研系统、教务管理系统等业务系统对接,实现科研业绩、教学业绩等的自动导入,进一步提高系统的工作效率。同时,在移动互联网时代,可以同时开发一个APP或者微信小程序,进一步优化用户体验。
参考文献:
[1]韦婉辰.基于SHH架构的工作量统计系统的设计与实现[D].南宁:广西大学,2013:3-4.
[2]葛汉强.基于Java EE的轻量级Web应用框架研究与实现[D].武汉:武汉科技大学,2008:1-2.
[3]侯利东.基于J2EE架构的高校教师绩效工资管理系统的设计与实现[D].云南:云南大学,2014:7-8.
[4]薛岚.基于J2EE的高校工作量统计系统的设计与实现[D].南昌:南昌大学,2012:3-4.
[5]赖英旭,刘增辉,李毛毛,等.MVC模式在B/S系统开发中的应用研究[J].微计算机应用,2006,10(3):62-63.
[6]王威.MySQL数据库源代码分析及存储引擎的设计[D].南京:南京邮电大学,2012:3-4.
[7](美)弗兰纳根.JavaScript权威指南(第6版)[M].北京:机械工业出版社,2012:1-4.
[8]刘西杰.HTML CSS JavaScript网页制作从入门到精通[M].北京:人民邮电出版社,2012:6-8.
[9]相洁.Java语言程序设计[M].北京:人民邮电出版社,2013:8-13.
[10]徐世河.管理信息系统设计教程[M].北京:电子工业出版社,2003:128-133.
[11]郝玉龙.Java EE编程技术[M].北京:清华大学出版社,2013:55-59.
[12]张海藩,牟永敏.软件工程导论[M].北京:清华大学出版社,2013:149-150.