基于JavaEE 的教师成果管理系统设计与实现
2023-11-16周燕
周燕
(重庆电力高等专科学校,重庆 400053)
一、系统开发背景
随着高等职业院校办学数量的增加和规模的扩大,教师人数也急剧增加,有关教师的各种信息资料呈成倍增长的趋势。教师的学术成果被认为是评估学校或二级学院绩效的重要指标,同时也是学校评估、人才培养检查和项目验收的必要考核项,也反映了学校的知名度。然而,许多高校虽然拥有ERP系统、OA系统、科研管理系统、财务报账系统,却忽略了对教师成果的管理。大多数高校目前的教师成果由科研处、教务处或是二级学院的秘书进行管理,管理人员会收取教师成果复印件。这种管理模式存在成果收取不及时、漏收以及统计不灵活等缺点,会给管理带来不便。不同类型的成果保存在不同的部门,管理人员也不稳定。学校每次申报项目或进行评估检查时,都要面临成果数据交换形式落后、数据共享困难、数据不完整等问题[1]。例如,教务处在收到新专业评估任务时,会进行教师成果统计;科研处在年终进行科研成果奖励时,会要求教师提交成果资料;二级学院在申报教学成果奖时,会要求教师填写自己的成果数据。在这样的背景下,教师会无数次地重复提交成果资料,多次重复填写相同的数据表既浪费时间,又浪费人力。因此,教师成果管理信息化尤为重要。如何准确、高效地对不同类型的成果进行准确统计,是二级学院乃至学校信息管理工作的一部分。
各高校的管理模式各不相同,学校很难采购到一个完全适合本校成果管理流程和特点的管理系统。因此,学校自主开发本地化的成果管理系统非常必要。教师成果管理系统是一个以计算机为工具,用于采集、存储和统计教师成果相关信息的人机系统。教师成果管理系统能够准确、及时地反映教师当前的成果情况,利用过去的数据进行分析,根据不同需求(如年份、学院等)进行统计,有助于高校提高工作效率、减轻工作负担、提高管理效率和管理水平,方便对教师的教学能力、业务能力、学术水平等进行考核和评价。
二、系统功能及特点
教师成果管理系统的主要功能模块包括:后台管理、部门管理、教师管理、成果管理、数据管理。教师成果管理系统的功能模块如图1所示。
图1 教师成果管理系统的功能模块图
(一)后台管理
1.用户管理:自动生成教师成果管理系统管理员账号和密码。
2.权限管理:登录系统,设置各级用户并赋予用户对应的权限。
3.成果类型管理:成果类型的增加、删除、修改和查看。
(二)部门管理
1.系统管理员输入正确的账号密码,在登录系统后添加部门信息。
2.修改、删除和查看部门信息。
(三)教师管理
1.系统管理员输入正确的账号密码,在登录系统后添加教师账号。
2.将教师账号对应的密码重置为初始密码。
3.修改、删除和查看教师信息。
4.教师信息与部门信息关联。
5.教师能够修改自己的密码。
(四)成果管理
1.论文管理:教师登录系统以后能够对自己的论文信息进行增加、删除、修改和查看。
2.教材管理:教师登录系统以后能够对自己的教材信息进行增加、删除、修改和查看。
3.获奖管理:教师登录系统以后能够对自己的获奖信息进行增加、删除、修改和查看。
4.教科研管理:教师登录系统以后能够对自己的教科研信息进行增加、删除、修改和查看。
5.专利管理:教师登录系统以后能够对自己的专利信息进行增加、删除、修改和查看。
6.成果查询统计:分别按学院、年份等进行成果的查询统计。
(五)数据管理
1.数据备份:为防止系统操作失误或系统故障导致数据丢失,而将系统数据复制到其他存储介质。
2.数据恢复:在发生灾难或误操作时,能根据备份文件快速恢复系统。
三、系统的设计和实现
(一)系统设计
教师成果管理系统采用B/S架构,遵循MVC设计思想,并对系统进行了详细的划分。教师成果管理系统主要包括视图层(View)、控制层(Controller)、业务层(Service)和持久层(Dao)。通过分层,管理人员能使各层专注于本层工作,遵循开闭原则,便于修改和扩展。教师成果管理系统搭配流行的SSH2框架,可以加速系统的开发和扩展。管理人员将Easy UI应用到系统中,能使系统拥有良好的用户界面和用户交互体验。
教师成果管理系统使用Struts2+Spring+Hibernate来进行项目搭建,系统架构图如图2所示。Struts2负责控制层,它负责调用业务逻辑Service层。开发人员通过发送HTTP请求,这个请求经过web.xml的过滤器过滤,看是否要调用某个Action,如果有则在Struts.xml找到该请求的实现方法,然后返回运行的结果。Hibernate负责持久层,因为它将JDBC做了一个良好的封装,程序员在与数据库进行交互时,可以不用书写大量的SQL语句[2]。在SSH2框架中,Spring充当了管理容器的角色。Struts2负责控制Service(业务逻辑处理类),从而控制Service的生命周期。如此一来,层与层之间的依赖性很强,属于耦合。这时,管理人员使用Spring框架就起到了控制Action对象和Service类的作用,两者之间的关系就松散了,Spring的IOC机制正是用在此处。
图2 教师成果管理系统架构图
(二)数据库设计
数据库设计是系统设计的关键部分。我们在对系统进行需求分析和概要设计后,进行了详细的数据表之间的逻辑关系分析。在考虑查询效率和数据库存储结构的综合因素后,我们选择了MySQL 8.0来创建和管理数据库。该数据库包括8个数据表,分别是用户表、部门表、人员表、论文表、获奖表、教材表、教科研表和专利表。表1、表2、表3、表4、表5、表6是部分数据表的结构。
表1 用户表
表2 部门表
表3 人员表
表4 论文表
表5 获奖表
表6 教材表
(三)数据库实现
传统的系统连接数据库主要采用JDBC的方式,教师成果管理系统通过Hibernate来实现数据库的连接。首先,JDBC不是持久性的,而Hibernate是持久性的,Hibernate实际上是对JDBC的持久性封装,因为Hibernate的底层也是由JDBC来实现的。其次,Hibernate的效率比JDBC的要高,因为在Hibernate里面存在一个缓存(Cache)机制。当管理人员从数据库中读取数据时,他会将数据分为两份,一份给用户,一份自己留着。这样,下次访问的时候,管理人员就不用去连接数据库了,直接从缓存中读取,效率大大提高。我们以获奖模块为例,展示如何通过Hibernate实现数据库的连接以及对数据的增、删、改、查。获奖模块的部分数据库代码如下:
四、系统的特色与创新
教师成果管理系统中采用的Hibernate框架对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵数据库。Hibernate框架只需要管理人员创建一系列的持久化类,每个类的属性都可以简单地看作与一张数据库表的属性一一对应,当然也可以实现关系数据库的各种表件关联的对应。当我们需要进行相关操作时,可以不用再关注数据库表。我们不用再去一行行地查询数据库,只需要持久化类就可以完成增、删、改、查的功能,使我们的软件开发真正面向对象,而不是面向混乱的代码。管理人员使用Hibernate方式,比使用JDBC方式减少了80%的编程量[3]。
五、结束语
教师成果管理系统作为高校信息化建设的一部分,旨在解决目前高校教师成果管理过程中存在的效率问题。为实现教师成果信息化,我们采用了M VC设计模式,基于轻量级JavaEE框架技术Struts2+Spring+Hibernate来打造这一系统。教师成果管理系统包括了部门管理、教师管理、成果管理、后台管理、数据管理等多个模块,具有操作方便、稳定性强、功能丰富等多个优点,显著提升了教师成果管理的效率,能满足高校教师成果管理的各种需求。当然,在后续工作中,我们还将推出移动平台端的教师成果管理应用。教师能够通过手机或其他移动设备方便地进行成果申报和管理,以进一步提升系统的易用性。