1. 引言
随着电子计算机、通信技术、网络技术和Internet的发展,人类已经逐渐的进入信息化社会,对信息和数据的处理与利用也逐渐进入自动化、网络化和社会化阶段。因此,开发相关的信息管理系统是必然的,能大大提高工作效率 [1]。
国外高校一般具有较大规模的、稳定的技术队伍来提供服务与技术支持。国外的管理信息系统模式一般都是以全局数据信息集中统一管理的中央数据库模型,而软件开发的系统架构多半也是以C/S或者B/S模式进行设计的,它们将整个学校的教学资源以集中数据平台的方式从全局的角度统筹管理,以提高整个教学管理效率,加大不同系统和模块间的数据流通速度 [2]。由于多年的探索和改进,目前国外高校的这种管理模式规模已初具规模,其运行也处于一种比较完善和稳定的阶段。
纵观国内研究现状,在安全性和信息更新化方面存在一定的不足,各个现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教学科研质量管理平台应充分依托校园网,实现教师科研及教学信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的全校信息管理系统打下良好的基础。
教学管理平台作为一套信息管理系统,在目前国内一些高校也正在开发,但同时市面上也开始有软件公司推出产品来搭建本校信息综合管理平台,目前清华大学开发的“UEAS高校教务管理系统”、湖南青果软件有限公司的“高校教务网络管理系统”、杭州正方软件股份有限公司的“正方高校现代教学管理信息系统”、湖南强智科技的“强智综合教务管理系统”,这些软件的高校用户正在逐年增多 [3]。但是既包含学生管理又包含教师管理的综合管理平台尚缺乏。且已有管理系统也存在如下问题;
1) 相关部门之间信息沟通不够,会有信息重复、混乱情况发生;
2) 各部门间收录的信息种类、格式不一,没有统一标准;
3) 数据零散使资料统计比较困难。
根据教育部相关精神,针对某一专业的专业评估将成为常态化。为此,本文基于JAVA开发软件,设计、开发一个针对某一专业的全面的教学、科研质量管理平台,教师可在平台提交、查找、更新和维护专业资料、教师教学科研项目、成果及获奖情况,节省相关负责人发通知、收材料、整合材料等一系列繁琐操作;管理员可以通过Excel表导入在校学生信息,包括学业成绩、学科竞赛、学业警示等信息;管理员可按照专业建设的指标查看、下载、统计各方面信息和材料,减少教师整理相关材料的工作量,提高管理效率。
2. 系统需求分析
该教学科研管理平台应能有效合理地管理系部各方面的资料,快捷的查询和统计相关信息,便于从教师教学、科研、招生、学生学业与就业等不同角度监测本专业的教学水平及成效,而且能减轻系部教师用于此的工作量,使教师们能有更充沛的精力投身于教学和科研工作中。据此,该平台需要实现以下功能:
1) 系统分管理员、普通教师用户,暂不开通学生用户,给不同的用户分配不同的权限;
2) 管理员可以添加、删除相应的用户;
3) 普通用户可以浏览到专业特色、专业课程体系、毕业生就业率等信息,还可以批量查询学生信息;
4) 普通用户可以上传和下载自己的教学、科研资料以及教研资料,可以浏览其他普通用户的相关教学、科研资料以及教研资料;
5) 管理员可以根据需要统计教师和学生的科研、教学/学习成果情况。
所需的技术为:采用JAVA编程语言,采用SSM框架后端框架 [4] [5]、BootStrap前端框架,以及使用J2EE、JSP技术 [6]、JSTL标签语言、Servlet技术、HTML-CSS技术、JS技术等技术,使用MySQL数据库。
3. 系统功能
3.1. 系统功能模块设计
该教学科研质量综合管理平台的功能模块如图1所示。该图展示了教学科研质量管理平台的所有功能模块,包括专业培养方案、教师信息管理、学生信息管理3个一级模块,一级模块之下共包含21个二级模块。其中,教师信息管理模块包含教师的科研项目、科研成果(包括科研论文、专著、专利及成果转化)及科研获奖,学生信息管理模块包含学生的高考招生、在校期间的学习、思想、竞赛、科研、就业等情况。从模块分布可知,该质量管理平台涵盖专业特色/课程体系、教学/科研成果、学生培养质量的各方面信息,可满足日常对该专业各项成果的管理,以及专业评估时对标性材料的统计与分析。这些模块信息能全面反映一个专业的教学、科研、人才培养质量。
3.2. 系统用户权限设计
本系统的用户角色分超级管理员和一般用户,两种用户的用户权限如表1所示。超级管理员具有重置、删除其他用户信息以及学生相关信息的权限。本教学科研质量管理平台分两种用户来实现功能划分,超级管理员在普通用户的基础上拥有更多的功能和权限。
Figure 1. System function module diagram
图1. 系统功能模块图
图2展示了超级管理员的相关权限,图3展示了普通用户的相关权限。
Figure 2. The rights of super administrator
图2. 超级管理员权限
3.3. 数据库设计
本文采用MySQL数据库,它是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就有利于提升速度并提高灵活性。
在设计数据库时,首先要根据系统分析的需求来分离出各个实体以及相应的属性,再得出各个实体之间的关系,此时可采用E-R图(由实体、属性、联系组成)的方法进行数据结构的描述。
先将现实世界中的事物、事物间的联系用E-R图表示,再将各个分E-R图汇总,得出数据库的概念结构模型,最后将概念结构模型转化为数据库的逻辑结构模型表示。本系统的实体图如图4~7所示。
3.4. 数据库的逻辑设计
逻辑设计是指在概要设计的基础上,找出实体与实体之间的关系,将E-R图转换成关系模式 [7]。本质量管理平台的关系模式如下:
1) 用户(账号、密码、账号类型、姓名、性别、职称)
2) 学生信息(班级、学号、姓名、出生年月、性别、民族、籍贯、政治面貌、联系方式、职务)
3) 项目(项目编号、项目类型、项目名称、项目描述、项目拥有者、上传时间)
4) 文件(项目编号、文件编号、文件名称、上传时间)
下面是各个实体在数据库中的设计,包括表名、字段名、字段类型,字段约束等设计。表2~5分别为用户表、学生信息表、项目信息表、文件表,展示了用户、学生、项目、文件这几个实体的数据库构成。
Figure 5. Student information entity diagram
图5. 学生信息实体图
3.5. 各功能模块的实现
1) 系统目录结构
系统目录存放的是控制层、业务层、界面层的各种.Java和.jsp以及.xml等这些文件,目录中主要的包及其作用如表6和图8所示。
Table 6. The structure table for system directory
表6. 系统目录结构表
Figure 8. The structure diagram for system directory
图8. 系统目录结构图
2) 系统数据库连接
系统采用Druid进行数据库的连接,在文件jdbc.properties中配置数据库连接的基本信息,然后在Spring的配置文件中,配置数据源。核心代码如下:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dx?useUnicode=true&characterEncoding=UTF-8&useSSL=false
username=root
password=123456
initialSize=0
maxActive=20
maxIdle=20
minIdle=1
maxWait=60000
4. 系统功能模块的测试
4.1. 系统测试概述
系统测试的目的是在系统结合实际的工作环境和运行环境下通过与系统的需求设计作对比,检验完整的系统配置是否能和系统正确连接,发现系统与设计文档和软件开发规定不符合或者矛盾的地方。系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,在实际运行(使用)环境下,对计算机系统进行的测试。是为了发现缺陷并度量产品质量,按照系统的功能和性能需求进行的测试。
系统测试由单元测试、集成测试、系统测试、验收测试、回归测试组成 [8] [9],依次进行测试。下面对每个阶段的测试进行阐述。
1) 单元测试
单元测试是测试系统各个程序模块的接口与需求设计的要求是否一致,采用的是白盒测试方法、从程序的内部结构开始设计测试用苦苦,进行测试,主要目的是发现程序代码编写阶段的错误。因为每个程序虽然是单独编译的,但是程序模块之间是有关联的,所以在设计之初要考虑到它们之间的关系。
2) 集成测试
完成单元测试之后,将各个的程序模块按照功能结构图进行连接,进行集成测试。集成测试是为了发现模块之间联合工资的漏洞和错误,一些局部不能发现的问题,在全局的时候就会暴露出来。集成测试采用了自底向上的测试组装顺序。从功能需要的底层模块开始,逐步向上增加和连接模块,最终组成一个完整的系统。
3) 系统测试
完成集成测试后,进行系统测试,系统测试的对象不仅是产品系统测试,包括其所依赖和相关的硬件、运行环境、接口等,因此需要将系统各种依赖联系结合起来,在设计环境中去测试。对比,需求设计,按照功能需求,查漏补缺,修改有漏洞的程序。
4) 验收测试
验收测试是指将系统放在实际情况中,对比用户需求,看系统是否符合要求。并且检查系统是否符合软件设计标准,其安全性、便捷性等都需考虑,最终确定还需要修改的程序。
5) 回归测试
回归测试是指,对系统进行最后的修改确定之后,再进行验证问题的测试,以确保系统发现的问题得到及时的解决。
4.2. 系统测试用例
用户登录测试是测试平台在用户登录时对各种输入情况做出的反应,可以判断是非法输入并进行提示,如表7所示。
Table 7. The test table for user login
表7. 用户登录测试表
修改用户信息是一个十分敏感度操作,所以需要进行二次确认来减少误操作的情况,如表8所示。
Table 8. The test table for modifying user information
表8. 修改用户信息测试表
4.3. 系统界面展示
超级管理员和普通用户使用的是同一个登录界面,如图9所示,登录成功后通过判断用户的账号类型来给用户展示不一样的信息。通过在前端的JS做一些限制可以保证用户只能输入数字或者字母作为账号,防止误输入账号。这样做可以很好地保证系统的安全性。同时系统还有记住密码的功能,默认在每次登录的七天内给用户保留账号密码,提供了很好的便利性。
教师信息模块包括了一个教师信息展示与修改页面的二级模块和其他文件展示的二级模块。其中教师信息分为超级管理员和普通用户两种页面展示。在以普通用户的身份进入时可通过获取用户的账号类型跳转到对应的展示页面,普通用户只能查看系统有哪些用户,而且只能修改自己的信息以及密码。而超级管理员除了可以查看全部用户信息外,还可以对任何用户的信息以及密码进行修改。图10展示了超级管理员用户下的教师信息。
Figure 10. Teacher information display for super administrator
图10. 超级管理员的教师信息展示
学生信息管理模块中有学生信息查询、学生成绩查询、学科竞赛获奖、学业警示情况、优秀毕业生展示、录取招生展示、毕业生就业率展示、论文发布等十个二级模块,而且可以下载学生的成绩单、分班级查询学生的信息,并对学生的相关信息进行统计分析。图11展示了该专业某届毕业生就业信息,根据本专业的数据进行统计、分析、展示。
Figure 11. The employment rate display for graduates
图11. 毕业生就业率展示
5. 结语
本文运用JAVA语言和SSM框架,开发了一个高校教学科研质量管理平台。该平台一共设计了3个一级模块和21个二级模块,完成了超级用户和普通用户的使用场景,实现了教师基本信息、教学、科研成果以及学生的基本信息、学习、思想及就业等信息材料的搜集、管理、统计、分析等功能,实现了教学、科研相关材料的综合管理,实现了专业评估的对标性材料的整合。该平台在很大程度上改善了教师、学生零散材料管理、搜集、整合的效率,具有较大的应用价值及推广价值。但仍存在一些不足之处,有待后续进一步完善,具体优势与不足如下。
优势:
1) 前端采用Bootstrap前端框架,它对绝大多数的浏览器有着很好的兼容,如能很好的兼容Windows上的InternetExplorer浏览器。此外自适应的布局,保证了平台的美观与实用性。
2) 本平台使用SSM框架,且是基于xml进行配置,既保证了平台的性能,也体现出了平台可维护性和可拓展性。
3) 平台有着很好的权限管理方案,让平台的权限分配十分合理,同时保证了平台的安全性。
不足:
1) 在文件上传的模块之中还有一些不够人性化的地方,首先本平台暂时不支持上传、下载文件时的预览功能;无法调整缩略图的大小,致使一个页面显示的项目数目受到了限制。
2) 前端页面的交互方面存在一些问题,如搜索时没有待定搜索选项。
3) 在文件的下载测试时出现了少见的下载进度停止导致无法完成下载的情况,未能保证文件传输过程中的效率。
基金项目
湖南省大学生研究性学习和创新性实验计划项目(S201910554019,S202010554027);湖南省大数据技术与管理国际科技创新合作基地(2018WK4030)。
参考文献
NOTES
*通讯作者。