【计算机毕设文章】springboot基于 Web 的高校教师工作量管理系统的设计与实现

摘 要
高校教师工作量管理系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了springboot框架。该系统从两个对象:由管理员和教师来对系统进行设计构建。主要功能包括:个人信息修改,对教师、教师工作量、通知公告等功能进行管理。本系统是一个高效的、动态的、交互友好的高校教师工作量管理系统。
本系统在设计过程中,很好地发挥了该开发方式的优势,让实现代码有了良好的可读性,而且使代码的更新和维护更加的方便,操作简单,对以后的维护减少了很多麻烦。系统的顺利开发和实现,对于高校教师工作量管理系统这一方面提供巨大的便利服务,无论是管理员还是教师,都带来了极大的便利,方便大众,为社会的进步与发展提供了一些动力。
关键词:高校教师工作量管理系统;java语言;MySQL数据库

Abstract
The workload management system for university teachers adopts a B/S architecture, and the database is MySQL. The website was built and developed using advanced Java and the Spring Boot framework. The system is designed and constructed from two objects: administrators and teachers. The main functions include: personal information modification, management of teachers, teacher workload, notifications and announcements, and other functions. This system is an efficient, dynamic, and interactive workload management system for university teachers.
During the design process of this system, the advantages of this development method were well utilized, making the implementation code more readable and easier to update and maintain. The operation was simple, and it reduced a lot of trouble for future maintenance. The smooth development and implementation of the system provides enormous convenience services for the workload management system of university teachers, both administrators and teachers, bringing great convenience to the public and providing some impetus for social progress and development.
Keywords: workload management system for university teachers; Java language; MySQL database

目 录
1 绪 论 1
1.1背景与意义 1
1.2 国内外研究概况 1
1.3 研究的内容 2
2 系统开发技术 3
2.1 java语言 3
2.2 Spring Boot框架介绍 3
2.3 MySQL数据库 3
3系统分析 4
3.1 系统需求分析 4
3.2 系统可行性分析 4
3.2.1技术可行性 4
3.2.2经济可行性 5
3.3 项目设计目标与原则 5
3.3.1系统总体描述 5
3.3.2开发目标 6
3.4系统流程分析 6
3.4.1操作流程 6
3.4.2添加信息流程 7
3.4.3删除信息流程 8
4 系统设计 9
4.1 系统体系结构 9
4.2 系统总功能结构设计 10
4.3开发流程设计 10
4.4 数据库设计原则 11
4.5 数据表 13
5 系统详细设计 19
5.1管理员模块实现 19
5.2教师模块实现 21
6 系统测试 26
6.1系统测试的目的 26
6.2系统测试方法 26
6.3功能测试 27
结 论 29
参考文献 30
致 谢 31

1 绪 论
互联网这几年来的发展也是日新月异的,互联网让地球变成了一个地球村,人们足不出户就可以完成各种各样的工作[1]。从2017年末开始,国家各个部门印发的各项文件,包括给领导人的工作报告中都频繁提到了互联网发展的重要性,这为人们指明了互联网将是未来发展的主要方向,在国内受到了众多的重视并得到了大力发展。在这个大数据时代下,互联网的普遍应用可以解决上述人们的问题,一个高校教师工作量管理系统便开始研发了[2]。
1.1背景与意义
随着社会的快速发展,计算机技术的影响是全面且深入的。目前,社会的各种类型的网站越来越多,但是有些类型的网站附加了太多的商业元素和虚假信息,而且,用户在搜索相关信息时需访问多个网站和大量垃圾广告,这已经在很大程度上影响了对信息搜索效率,并且降低了用户的体验感,使用户很难快速地浏览或查询到自己所需要的相关信息。电子计算机在现代管理中的应用使电子,计算机变成了人类运用现代信息技术的主要工具[3]。可以更高效的处理人类获取信息中精细化、全面化的问题,从而提高了效率。本系统使用具有独特且和资源相对优势的管理方式,来提供一个优秀的系统平台,在这个管理过程受到了鼓励与帮助。而随着互联网的应用,互联网也以一种巨大变革力的新形象出现于商务关系领域。
探究本课题,就是希望能够实现管理员和教师双方的双向选择,便于管理员和教师的同时也可以发现更优质的信息管理系统[4]。
1.2 国内外研究概况
在当前这个飞速发展的时代,无论是国内还是国外,发展都是突飞猛进的,经济形势也是一片明朗。在这种背景下,互联网的这一块的市场成为了各个国家想要争夺的香饽饽。于是无论是国内还是国外一些公司把目光投向了互联网这块市场,越来越多的人对互联网有所了解,具备了一些网络意识。在这种互联网大浪潮的不断冲刷下,各种各样的系统被开发出来[5]。计算机技术无论是在国内还是国外中应用普遍,使计算机这一新型工具成为人们耳熟能详、妇孺皆知的新技术。计算机和互联网的广泛应用,让国内外的距离变“近”了,这个庞大的地球家园一下变成了地球村。国内国外的互联网发展也存在一些差距,我国近些年的互联网发展迅速,跻身于世界前列。
本系统使用java语言,B/S架构和MySQL数据库进行开发。该系统的开发方式无论在国内还是国外都比较常见,而且开发完成后使用普遍,可以给用户提供大量的便利。该系统在国内外前景较为良好[6]。
1.3 研究的内容
目前很多人仍把传统的纸质工具,如记录本、文档、文件夹等视为信息处理的主要工具,对大多数人而言,选择记录和获取信息的第一选择永远是纸质工具,而互联网上的信息和数据对人们而言相对抽象遥远。这些纸质工具存在一些优点,但在当下这个互联网飞速发展的社会,纸质工具的缺点也被逐渐放大,如记录数据内容有限、操作不方便、数据重读性低、容易丢失以及浪费资源等。虽然也有很多人在互联网上冲浪来获取信息,但网络这一块的理解也是很有局限的。当下流行的WPS、Word等办公软件成为了人们耳熟能详的系统,但一些更加专业性、性能更加强大的网络信息工具被人们“埋没”在互联网的大海中。高校教师工作量管理系统是一个便于教师在线查看教师工作量、通知公告等,管理员进行管理的平台。因此本文主要论述了系统开发的过程和实现的功能,结合Web技术来实现的高校教师工作量管理系统。本系统以软件工程理论为开发基础,以专业的计算机编程语言来开发并实现系统的功能[7]。
该选题原则上力求采用标签模块分类等方法,来完成注册登录、教师工作量、通知公告等,管理员对页面的设置和对后台数据库中数据的增删查改等一系列的操作和运行等。在这一系列模块分类的功能下,完成对高校教师工作量管理系统的高效执行和规范管理[8]。

2 系统开发技术
2.1 java语言
Java是一种面向对象的静态式编程语言。Java编程语言具有多线程和对象定向的特点。其特点是根据方案的属性将方案分为几个不同的模块,这些模块是封闭的和多样化的,在申请过程中具有很强的独立性。Java语言在计算机软件开发过程中的运用可以达到交互操作的目的,通过各种形式的交换,可以有效地处理所需的数据,从而确保计算机软件开发的可控性和可见性。开发java语言时,保留了网络接口,Java保留的缺省网络接口可以与web应用程序编程所依赖的类别库相匹配。为了使Java开发的应用程序更加稳定和强健,Java会自动收集程序中的垃圾,并处理程序中存在的异常。Java语言是日常开发过程中广泛使用的通用基本语言。其中Java语言课程库、句子、语法规则和关键字经常用于计算机软件的开发和编程。
面向对象编程是Java语言最显着的特点。它具有原始接口和补充接口以及继承,不仅可以实现相同类型的单个继承,而且还支持接口之间的多个继承,从而实现类、接口和接口之间以及类和接口之间的有效通信。Java的面向对象特性主要包括三个方面:继承、多态性和封装。封装是Java的核心,可以封装所有数据操作。多态性是指由面向对象行为派生的相关行为。继承作为特殊编程模式有两种类型:父类和子类,这两种类型的属性具有相同的功能和特性。对于父类的属性特性,子类可以实现继承和优化。
2.2 Spring Boot框架介绍
Spring Boot是近几年最为流行的后台开发框架,它的诞生一改过去Spring框架开发中繁琐的配置,极大地简化了Spring应用的搭建和开发。Spring Boot框架不仅保有了Spring框架中的所有优秀特性,还通过使用特定的配置方式,在底层帮助开发人员在工程创建是就预先做了很多配置,这样在开发时就不再需要开发人员过多进行繁琐的配置了。另外在Spring Boot中集成了大量框架,这就使得开发人员不再需要到处寻找在导入开发中需要依赖的jar包,同时也解决了依赖包版本冲突问题,从而提高了依赖包引用的稳定性,从而实现了对Spring应用搭建和开发过程的简化。

2.3 MySQL数据库
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于Web的高校教师工作量管理系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。

3系统分析
3.1 系统需求分析
在当下社会的生活中,互联网已经非常普遍和十分重要。利用好互联网大数据等技术,可以帮助解决很多问题。当下高校教师工作量管理方面都面临各自的问题。根据这一常见现象,本高校教师工作量管理系统的出现就有很大的需求。该系统可以很好地解决这些麻烦和问题。系统中两类用户的数据极为关键,所以系统数据要整理好,因为数据的存储是按一定格式,但并非无序的,其概念是:按长期的稳定格式,可共享的存放在电脑内存上[9]。数据库管理系统,主要是指数据保存、更改和添加以及数据库的设置。为保证系统数据管理的顺利操作,一些有能力的处理者可以进行管理而不需要专业的人来处理。资料表的建立,可对资料表中的数据加以调整,数据的重新组合和重新建立,确保资料的可靠性。介于数据库系统的功能与强大等性质之间本数据库系统的设计中主要使用了MySQL实现对数据的集中管理。各个方面都具有不错的性能[10]。
3.2 系统可行性分析
3.2.1技术可行性
在系统可行性分析中,技术可行性分析是十分重要的分析角度。本高校教师工作量管理系统是在Windows 11系统上进行开发与运行,该系统是目前比较先进,应用范围比较广的电脑系统。开发该系统的电脑的客户端也都配置较高的硬件设施,性能强大。系统开发所使用的各种技术也都来自PC端,也都十分的先进。与普通的Web服务器相比,具有非常明显的优势。开发的技术也都来自也专业方面,有据可依,具有较强的理论性和权威性[11]。
(1)硬件可行性分析
高校教师工作量管理系统的操作运行和数据处理跟大多数系统一样,大同小异,没有特殊的地方,对于硬件也没有过多的要求。无论是公司的办公电脑,还是家里的私人电脑,只要能够进行正常的代码编写和网页浏览就可以。该系统的“苛刻”条件是针对于服务器,服务器的优劣是该系统的关键,所以拥有一个良好的服务器至关重要。对于服务器的选择应慎重,必须选择具有良好的完整性,安全可靠的服务器,以确保打开浏览器执行一系列操作时能够流畅的运行,不会出现卡顿的现象,最后安全方面也有所保障。
(2)软件可行性分析
该系统运用的软件是一些完全免费且常用的,操作简单易上手,只要是有点计算机基础的用户只要花上很少的时间就能掌握相关技能;同时无论是从经济上还是安全上都能使系统得到充分的保障。
技术可行性从硬件可行性分析和软件可行性分析这两个方面进行了可行性研究,可以看出该高校教师工作量管理系统的开发没有问题,所以在技术这一方面,本系统没有阻碍,会顺利执行。
3.2.2经济可行性
高校教师工作量管理系统开发之前,通过互联网、广播以及新闻等渠道得出了关键信息,对于现有的高校教师工作量管理的系统不多且大都不太健全,该系统的开发可以给这个领域增加新的血液,具有良好的前景。
高校教师工作量管理系统开发的时候,对一些相关事于进行了充分的调查。调查都是开发人员亲自做的,没有花钱雇佣他人,接近零成本。开发过程遇到困难时,通过互联网搜索,或者向指导老师求助来进行解决的,没有造成成本损失。
高校教师工作量管理系统开发完成后,该系统是基于java来开发的,采用了MySQL数据库。两者都具有较强的稳定性和安全性,在后续的维护与更新中,也能够减少成本浪费。
综上所述,开发前、中、后期成本和要求非常小,具有较高的经济可行性。而且,该系统的开发成功也会有不错的市场前景[12]。
3.3 项目设计目标与原则
3.3.1系统总体描述
关于高校教师工作量管理系统的基本要求
(1)功能要求:信息共享、信息更新、平台个性化的设置、两者相互的信息交流、一些数据的增删查改和访问、教师和管理员数据的查找及管理等常见的功能。
(2)性能要求:在各种各样的操作系统上,无论是教师还是管理员都能够顺利的登录该高校教师工作量管理系统,且成功登录后完成相应的操作和预期的目的,顺利执行各个页面功能。
(3)安全性保密规定:管理员的登录一定要进行安全监测。管理员通过特定的账号和密码登录并要进行身份验证才能进入下一个界面从而进行一些内部操作。
(4)系统的运行环境要求:支持Windows等一系列操作平台。
3.3.2开发目标
高校教师工作量管理系统的主要开发目标如下:
(1)对零碎化、分布散的数据信息进行收纳、整理,通过网络服务平台使这些信息内容更加调理,更加方便化和清晰化,让访问该系统的每个用户享受浏览的过程。
(2)生活中存在的一些现象:人员冗余。高校教师工作量管理系统应尽量减少用户的需求压力,给他们提供省时省力省心的服务平台,降低其工作量。
(3)便于查询信息及管理信息等。
(4)通过计算机网络技术,提升解决管理问题和技术工作的质量,为用户一种规范方便的服务。
(5)该系统的设计风格应该简约整洁,操作容易上手,目标信息明确,避免花里胡哨。
(6)为社会稳定和发展贡献一份力量。
3.4系统流程分析
3.4.1操作流程
首先为系统登录页面。进入页面后,用户可进行登录和注册的操作。点击登录后,页面就会出现一个登录提示框,向用户传达信息:要进行用户名和密码的输入,完成后才可以进行下一步的操作。用户输入完成后,系统会将输入的信息提交给后台,与数据库中的信息记录进行比较判断。判断比较内容主要分为三个方面:从用户名是否为空、输入的密码是否为空、用户名和密码是否匹配三方面进行判断。只有上述三个条件同时满足,数据库中的信息匹配正确,才视为登陆成功,方可完成后续的操作。若以上三种情况有一条不满足,则会提示该次登录错误,就需要进行重新登录。系统登录流程图如图3-1所示:

图3-1登录流程图
3.4.2添加信息流程
然后是添加信息的页面。进入该页面后,页面会出现一个提示框,示意操作者可以进行信息的添加,从而进行下一步的操作。用户输入想要添加的信息后提交,系统会对输入的内容进行检测。如果检测后输入的信息正确,则会出现“添加成功”的提示框,从而可以进行下一步操作;如果系统检测后检测到想要添加的信息不符合规范要求,则会提示报错,需要进行修改后重新添加。添加信息流程图如图3-2所示:

图3-2添加信息流程图
3.4.3删除信息流程
最后为删除信息页面。进入该页面后,用户可以对所要删除的信息进行选择,选择好删除的内容后,会有一个“是否确认删除”的提示框,操作者可以根据自己的意愿来选择“是”或“否”。完成上述操作,系统会自动的对删除的内容进行判断,如果符合删除要求则会成功删除数据记录,并且更新数据库的内容信息;如果删除的数据记录不符合要求,则会有一个“删除失败”的提示框,操作人员需要根据提示来进行修改,修改完成后重新删除知道删除成功。删除信息流程图如图3-3所示:

图3-3删除信息流程图

4 系统设计
4.1 系统体系结构
管理员管理用例图4-1所示。

图4-1 管理员管理用例图

登录管理用例图4-2所示。

图4-2 登录管理用例图

图4-3 教师用例图

图4-4 管理员用例图

4.2 系统总功能结构设计
系统按照用户的实际需求开发而来,贴近生活。从管理员通过正确的账号的密码进入系统,可以使用相关的系统应用。管理员总体负责整体系统的运行维护,统筹协调。
系统整体模块设计:系统分为管理员和教师两大角色,系统管理员有最大的权限,总体功能展示如图4-5所示。

图4-5 系统总体功能图

4.3开发流程设计
系统开发流程的分析是一个至关重要的过程,它是指通过系统的设计开发目的初衷、面向使用用户的范围、系统运行和操作的安全性、各种问题的处理以及后台数据的分析能力等各个角度,来对高校教师工作量管理系统进行设计、开发、搭建和调节,以保证该系统能够顺利的完成,达到预期的工作状态。上述每个环节、每个步骤一开始就要下足功夫,从各个方面、各个角度进行调查研究,进行大量的测试和评估,来保证高校教师工作量管理系统的正常和该系统的后台数据库的完整性以及安全性,从而把控系统所包含信息的安全性、确保信息进入、出口顺利过渡。然后,对系统和数据进行操作和分析,根据每一步的执行步骤,完成信息的流程图制作过程。
系统的开发对管理模型和系统应用中的数据库进行了分类,创建代码,以及系统测试,如图4-6所显示。

图4-6开发系统流程图
4.4 数据库设计原则
学习程序设计,如果要了解数据库管理系统或者是根据需求而制定的系统接口,就必须创建一种数据库管理系统的模式,用来保存数据资料,这样当在应用编程过程中时候,就不需要再向操作系统页面上加载信息,进而增加了整个系统的工作效率。信息库管理系统中保存着许多数据,应该说是一个管理信息系统建设的中心和基础,而信息库管理系统也为管理信息系统建设提出了新增、删除、更改和搜索的操作功能,使管理信息系统建设能够迅速地查询所需要的数据,而不会直接从程序代码中查找。信息库管理系统通过将信息表的各个组成部分按照特定的方法准确地合并,排序和组成信息库管理系统。
通过对高校教师工作量管理系统的主要功能信息进行规划并分为若干功能实体信息,本系统的主要功能实体E-R图如图4-7、图4-8、图4-9。

图4-7通知公告实体属性图

图4-8教师信息实体属性图

图4-9教师工作量实体属性图

4.5 数据表
把按照数据库理念建立的E-R图,转换为国际关系信息库。在关联数据库中,统计关联主要由统计表所构成,但是表的构成主要体现在表格的数文字段上。如下表所示。
表4-1:通知公告
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
biaoti varchar 200 标题
neirong longtext 4294967295 内容
fabushijian date 发布时间
faburen varchar 200 发布人
tupian longtext 4294967295 图片

表4-2:token表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

userid bigint 用户id
username varchar 100 用户名
tablename varchar 100 表名
role varchar 100 角色
token varchar 200 密码
addtime timestamp 新增时间 CURRENT_TIMESTAMP
expiratedtime timestamp 过期时间 CURRENT_TIMESTAMP

表4-3:教师工作量
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
xuenian varchar 200 学年
kechengmingcheng varchar 200 课程名称
ketanggongzuoliang float 课堂工作量
shiyangongzuoliang float 实验工作量
shixigongzuoliang float 实习工作量
beikegongzuoliang float 备课工作量
qitagongzuoliang float 其他工作量
zonggongzuoliang float 总工作量
beizhu longtext 4294967295 备注
jiaoshigonghao varchar 200 教师工号
jiaoshixingming varchar 200 教师姓名
zhicheng varchar 200 职称
banji varchar 200 班级
xueyuan varchar 200 学院
zhuanye varchar 200 专业
tijiaoshijian date 提交时间

表4-4:教师
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

addtime timestamp 创建时间 CURRENT_TIMESTAMP
jiaoshigonghao varchar 200 教师工号
mima varchar 200 密码
jiaoshixingming varchar 200 教师姓名
xingbie varchar 200 性别
dianhuahaoma varchar 200 电话号码
zhicheng varchar 200 职称
banji varchar 200 班级
xueyuan varchar 200 学院
zhuanye varchar 200 专业

表4-5:配置文件
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

name varchar 100 配置参数名称
value varchar 100 配置参数值

表4-6:用户表
字段名称 类型 长度 字段说明 主键 默认值
id bigint 主键
主键

username varchar 100 用户名
password varchar 100 密码
role varchar 100 角色 管理员
addtime timestamp 新增时间 CURRENT_TIMESTAMP

5 系统详细设计

5.1管理员模块实现
管理员登录,在登录页面正确输入用户名和密码、角色后,点击登录操作;如图5-1所示。

图5-1管理员登录界面

管理员进入系统主页面,主要功能包括对系统首页、个人中心、教师管理、教师工作量管理、通知公告管理等进行操作。管理员主页面如图5-2所示:

图5-2管理员主界面

管理员点击教师管理,在教师管理页面中输入教师工号、教师姓名、性别、电话号码、职称、班级、学院、专业等信息,进行查询、新增或删除教师信息等操作。如图5-3所示:

图5-3 教师管理界面

管理员点击教师工作量管理,在教师工作量管理页面中输入学年、课程名称、课堂工作量、实验工作量、实习工作量、 备课工作量、其他工作量、总工作量、教师工号、教师姓名、职称、班级、学院、专业、提交时间等信息,进行查询、新增或删除教师工作量等操作。如图5-4所示:

图5-4 教师工作量管理界面

管理员点击通知公告管理,在通知公告管理页面中对标题、发布时间、发布人、图片等信息,进行查询、新增或删除通知公告等操作。如图5-5所示:

图5-5通知公告管理界面
5.2 教师模块实现
教师注册界面,第一次使用本系统的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将教师信息录入注册表,确认信息正确后,系统才会进入登录界面,教师登录成功后可使用本系统所提供的所有功能,如图5-6所示。

图5-6教师注册界面

教师登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-7所示。

图5-7教师登录界面

教师登录到系统主页面,主要包括对系统首页、个人中心、教师工作量管理、通知公告管理等进行操作。教师主页面如图5-8所示:

图5-8教师主界面

教师点击教师工作量管理,在教师工作量管理页面中对学年、课程名称、课堂工作量、实验工作量、实习工作量、 备课工作量、其他工作量、总工作量、教师工号、教师姓名、职称、班级、学院、专业、提交时间等信息,进行查询教师工作量等操作。如图5-9所示:

图5-9教师工作量管理界面

教师点击通知公告管理,在通知公告管理页面中对标题、发布时间、发布人、图片等信息,进行查询通知公告等操作。如图5-10所示:

     图5-10通知公告管理界面


  6  系统测试

6.1系统测试的目的
在经过长期的测试与修改下,系统能正常运行,已经达到基本的要求,但难免有时会出现一些报错和Bug,如果忽略一些不起眼的小问题有可能会产生连锁反应:数据的报错,数据的无缘被修改以及泄露,甚至会成为不法分子的可乘之机,给开发者和用户造成惨重的代价。综合以上几点,必修要对这个完成的系统进行测试,只有通过一定的测试来解决这些出现的问题。通过不断地进行测试,一步一步的发现系统中的问题,然后对问题进行一次又一次的修改,使该高校教师工作量管理系统更加完善,最后争取没有漏洞和Bug,成为一个接近完美无暇的高校教师工作量管理系统。还要在测试修改的过程中吸取经验:自己为什么会犯这种错误、代码的编写哪个逻辑环节出了错误、又有哪些地方是因为自己的粗心大意造成的等等。使系统本身接近完美以及以后的维护更加快捷方便[13]。
对于高校教师工作量管理系统,要对其进行一个整体的测试。测试根据各个模块的功能,以及各功能之间的相互联系,协同关系来进行操作。尤其在教师和管理员二个的数据库这一地方进行多次测试以及调整。通过一次又一次的系统测试,保证高校教师工作量管理系统能够在上线面向开放使用后是一个方面、安全、省心的系统。
6.2系统测试方法
系统的测试方法有很多,在对系统进行测试时,应选择最适合并且稳定性良好最好保障的测试方法进行测试。撰写的代码完成后,就要开始着手于对系统进行一系列的测试。本系统代码是在Eclipse编写完成的,完成后部署在Eclipse集成好的Tomcat7上。测试的浏览器使用了Google浏览器进行的。系统测试的具体要求顺序如下:
(1)打开相应的运行代码软件,使用Google浏览器运行该系统页面[14]。
(2)测试整体从三个角度进行测试:登录测试、删除分类测试和修改密码测试。对这些功能进行多次的测试,多用几个不同的测试用例。测试的同时还要分析源代码,对于产生的异常结果和错误,进行分析查找其原因,进行解决。
(3)在测试的过程中,尽量使用Debug来进行测试,这样得到的结果和数据更加准确无误。
(4)还要对系统进行高数据下并行和并发的系统测试[15]。
6.3功能测试
(1)用户登录测试。在登录模块页面,通过输入二个用户名和密码进行测试。其中只有但三次输入的用户名“admin”和密码“admin”是正确的,会发现第三个是登陆成功的提示信息,而第一个和第二个登录失败。第一个登录失败的原因是因为用户名和密码不匹配,数据库中无法找到相应的匹配数据;第二个登录失败的原因是因为该用户名没有注册,数据库中没有相应的记录,所以第一次和第二次的登录会出现登录失败的得结果。如表6-1所示。

(2)删除分类测试。在删除分类模块,找到相对应的删除信息,点击“删除”该信息的接口,删除成功后信息会在数据库中的表中进行删除,然后返回前端页面删除成功的提示框。通过一次又一次的删除操作,发现该系统的删除功能以及后端代码运行正常,多次的删除测试说明该系统的删除分类功能没有问题。如表6-2所示。

(3)修改密码测试。在修改密码模块,通过二个用户的修改数据进行该功能的测试。测试中发现只有第三次的修改密码成功了,第一次和第二次的密码修改出现了问题。问题的原因分别为“密码错误”和“确认密码不一致”的问题。通过多次的修改和测试,发现修改密码这一功能运行正常,没有问题。如表6-3所示。

通过上述一次又一次的测试修改,又加上对系统的白盒测试和黑盒测试等一系列的操作,对系统进行了多次全面具体的测试。该系统的各个功能模块都能正常运行,性能良好,占据CPU的空间也较小。对所有的用户都有很大的帮助,提供了便利,对账户信息有较强的保密性,后台数据库能保持良好的完整性和安全性。后端的数据库和代码运行,都十分不错,达到了预期的效果。

结 论
经过这几个月的努力,在老师和同学的帮助与指导下,对系统顺利完成。对于该系统的研究和开发虽然没有耗费大量的时间,但为了成功完成该高校教师工作量管理系统,消耗了大量的经历和汗水去了解学习这方面涉及到的专业知识以及开发环境的应用。
该系统的设计与实现,是经过了很长时间的分析、观察、调研和研究分析并整理资料实施的。高校教师工作量管理系统采用B/S架构、java开发语言、springboot框架以及MySQL数据库等技术开发与设计。该系统主要分为教师和管理员两个角色。对于管理员的数据属性的添加、维护和修改。每个功能在完成各自任务的同时也相互合作,一起来处理各个任务以及进程。
尽管该系统对用户可以满足一些基本的高校教师工作量管理系统的需求,但该系统还存在许多问题和有待完善的地方。主要分为以下两点:
(1)该高校教师工作量管理系统的适用面比较局限。页面的设置还是过于繁琐,不够简洁。加上社会方面的飞速发展,用户的条件也在发生新的变化。该系统还存在大数据下的并发和并行操作的不稳定性,当一个时间段内或者同一时刻时,过量的用户访问该网站会让网站的服务器出现崩溃的现象,一些操作无法正常的运行。种种原因使得该系统存在一些局限性。
(2)需要人工来处理的数据模块太多,需要减少大量的人工操作。在对高校教师工作量管理系统处理的程序中,难免会出现各种各样的错误数据或者是异常数据,一旦这些数据大量积累存在过多时,系统自我调节修复能力有限就不得不需要人工的干预了。但是人工如果经常去进行操作的话,就会造成该系统的运行速度变慢,对其余正确的数据产生干扰,而且有可能对正确数据的损害以及泄露,从而将会减少该系统的稳定性。对于人力和财力都造成了不必要的浪费。
从上述可以看出该高校教师工作量管理系统还有很多不足之处,在日后要结合具体项目问题进行修改和研究。

参考文献
[1]基于springboot和java的手语教学Web平台的设计与实现[J]. 裴之蕈,高艳霞. 电脑与信息技术. 2021(06)
[2]高职就业网站的设计与开发[J]. 朱克武. 福建电脑. 2021(11)
[3]面向RISC-V的汇编程序语义等价性自动化测试系统[J]. 徐学政,王涛,方健,张光达. 计算机系统应用. 2021(11)
[4]一种基于SpringBoot架构下的水质监测系统设计[J]. 马聪,华亮,羌予践. 电子器件. 2021(05)
[5]基于前后端分离技术的在线购物平台研究与实现[J]. 方生,秦晓安,王睿. 黄河水利职业技术学院学报. 2021(04)
[6]基于Koa2的可视化页面编辑系统服务端设计[J]. 陈月燕,邹庆,边雁,吴冠宇. 电子技术与软件工程. 2021(20)
[7]基于STM32F107的LTE小基站从时钟同步系统的实现[J]. 姜亚民,贾卫卫,曾洁,刘立群. 电子设计工程. 2021(19)
[8]基于springboot的Web应用开发教学案例设计与实现[J]. 胡开华,张玉静,陈明禄,何文鑫. 信息与电脑(理论版). 2021(18)
[9]人工智能电缆隧道移动巡检软件测试研究及实施[J]. 张超永,王振,王鹏,浮明军. 工业控制计算机. 2021(09)
[10]基于springboot框架的水库水雨情监测系统设计与实现[J]. 陈亚军,肖海斌,徐小坤,李黎. 软件. 2021(09)

致 谢
高校教师工作量管理系统圆满的完成,在开发过程中如何实现的更好,其中付出的努力是很大的,这段时光将会终身难忘。
四年时光转瞬即逝,当开始写这篇论文的时候,我才意识到自己要毕业了,这篇论文是一次自检,也是一次我对自己的“查重”。在这里快乐地学习了四年,足够让我恋恋不舍。很感谢母校为我们学员们提供了一个良好的学习环境。在大学生活中我感受到了家一样的氛围,结交了很多很多同学朋友,认识了大量的优秀老师,这四年的校园生活让我受益匪浅,终身难忘。
感谢我的亲人。即使他们当我因为压力而发脾气时,他们也只是告诉我:“要冷静”。在很多我认为自己撑不过去的时候,是他们的安慰与默默支持让我觉得自己可以。我希望我今后可以继续努力,去成为他们心中的那个我。
还要感谢我的指导老师。她是一位发自内心希望我们这些学生成为优秀的人的老师。我还记得他在课间时间挨个问我们毕业后的想法,推荐我们课外书籍清单,鼓励我们学习课外知识的场景。他又很有责任感,在指导我们完成毕业设计和论文的同时,还给我们讲一些需要注意的事项,真正做到了教书育人。我每一回都因为实际操作中遇到苦难而向老师发消息求助时,老师总是秒回信息,事无巨细地解释清楚,而且同步发到同学群中,对于别的同学来说也是很大的帮助。或许对于一位老师来讲,学生有所成是他们的期望。那我希望这篇论文不是我的最后一篇论文。
感谢我的室友。虽然前几年的生活磕磕绊绊,小矛盾不断,但是最近一年我们都平静了下来。也很庆幸,我们在这段焦虑有压力的日子里几乎没有摩擦,而是相互鼓励,谢谢你们。
最后想大言不惭地感谢自己。“宝剑锋从磨砺出,梅花香自苦寒来”。不能说我有多么努力,不然我也不会报怨没资格,考研差一点了,只能说在经历了灰色的高中,拿着自己惨不忍睹的高考成绩后,我还算是站起来了。没有被挫折完全打倒的自己就是棒的。未来的研究生生活将会努力奋斗,天天进步,更上一层楼!

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
#include #include #include #include #include #define MAX_NAME 20 #define NULL 0 struct course { char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; struct course *next; }; struct teacher { char teacher_num[MAX_NAME]; char teacher_name[MAX_NAME]; struct teacher *next; struct course *chead; struct course *ctail; }; struct teacher *thead,*ttail,*found; //*********************************************************************** //主菜单 void menu() { system("cls"); printf("*************************************\n"); printf("* 1.输入教师信息 *\n"); printf("* 2.插入授课信息 *\n"); printf("* 3.工作量计算与显示 *\n"); printf("* 4.退出 *\n"); printf("*************************************\n"); printf("请输入要操作的序号:"); } int isExist(char number[]) //判断输入的教师号是否已经存在 { struct teacher *p; p=thead; while(p!=NULL && (strcmp(p->teacher_num,number)!=0)) p=p->next; found=p; if(p==NULL) return 0; else return 1; } //************************************************************************ //增加教师教学信息模块 void addIn() { struct teacher *p; struct course *pcourse; char teacher_num[MAX_NAME]; char teacher_name[MAX_NAME]; char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; while(1) { system("cls"); printf("****************************************************\n"); printf("* 输入教师的信息,以输入教师号为#结束输入 *\n"); printf("****************************************************\n"); printf("输入教师号:"); fflush(stdin); scanf("%s",teacher_num); if(isExist(teacher_num)) { printf("!!!该教师号已经存在,请重新输入。\n按任意键重新输入...\n"); getch(); } else { if(strcmp(teacher_num,"#")==0) { printf("**************************************************\n"); printf("输入结束。按任意键返回主菜单...\n"); getch(); return; } printf("输入教师姓名:");fflush(stdin);scanf("%s",teacher_name); printf("****************************************************\n"); printf("* 输入教师授课信息 *\n"); printf("****************************************************\n"); printf("输入课程名称:");fflush(stdin);scanf("%s",course_name); printf("输入班级数目:");fflush(stdin);scanf("%d",&class_num); printf("输入理论课时:");fflush(stdin);scanf("%d",&ch_per); printf("输入实验课时:");fflush(stdin);scanf("%d",&ex_per); pcourse=(struct course *)malloc(sizeof(struct course)); strcpy(pcourse->course_name,course_name); pcourse->class_num=class_num; pcourse->ch_per=ch_per; pcourse->ex_per=ex_per; pcourse->next=NULL; p=(struct teacher *)malloc(sizeof(struct teacher)); strcpy(p->teacher_num,teacher_num); strcpy(p->teacher_name,teacher_name); p->chead=pcourse; p->ctail=pcourse; if(thead==NULL) { thead=p; ttail=p; } else { ttail->next=p; ttail=p; } ttail->next=NULL; } } } //************************************************************************ //插入教师授课信息模块 void addCourseInfo() { struct course *pcourse; char teacher_num[MAX_NAME]; char course_name[MAX_NAME]; int class_num; int ch_per; int ex_per; system("cls"); if(thead==NULL) { printf("****************************************************\n"); printf("* 当前没有可用的教师信息,按任意键返回主菜单... *\n"); printf("****************************************************\n"); getch(); return; } while(1) { system("cls"); printf("输入教师号:");fflush(stdin);scanf("%s",teacher_num); if(isExist(teacher_num)) break; else { printf("!!!该教师号不存在,请重新输入.\n按任意键重新输入...\n"); getch(); } } printf("****************************************************\n"); printf("* 输入教师授课信息 *\n"); printf("****************************************************\n"); printf("输入课程名称:");fflush(stdin);scanf("%s",course_name); printf("输入班级数目:");fflush(stdin);scanf("%d",&class_num); printf("输入理论课时:");fflush(stdin);scanf("%d",&ch_per); printf("输入实验课时:");fflush(stdin);scanf("%d",&ex_per); pcourse=(struct course *)malloc(sizeof(struct course)); strcpy(pcourse->course_name,course_name); pcourse->class_num=class_num; pcourse->ch_per=ch_per; pcourse->ex_per=ex_per; pcourse->next=NULL; found->ctail->next=pcourse; found->ctail=pcourse; } //************************************************************************ //计算并显示 void calcu() { struct teacher *p; struct course *pcourse; float single_per=0.0; float total_per=0.0; system("cls"); if(thead==NULL) { printf("****************************************************\n"); printf("* 当前没有可用的教师信息,按任意键返回主菜单... *\n"); printf("****************************************************\n"); getch(); return; } p=thead; while(p!=NULL) { total_per=0.0; printf("----------------------------------------------------------------------\n"); printf("教师号:%s\n",p->teacher_num); printf("教师姓名:%s\n",p->teacher_name); printf("----------------------------------------------------------------------\n"); printf("课程名称 班级数目 理论课时 实验课时 单教学任务总课时\n"); printf("----------------------------------------------------------------------\n"); pcourse=p->chead; while(pcourse!=NULL) { single_per=0.0; if(pcourse->class_num==1) single_per=pcourse->ch_per+pcourse->ex_per; if(pcourse->class_num==2) single_per=1.5*(pcourse->ch_per+pcourse->ex_per); if(pcourse->class_num==3) single_per=2.0*(pcourse->ch_per+pcourse->ex_per); if(pcourse->class_num>=4) single_per=2.5*(pcourse->ch_per+pcourse->ex_per); printf("%-10s%-10d%-10d%-10d%-7.3f\n",pcourse->course_name,pcourse->class_num,pcourse->ch_per,pcourse->ex_per,single_per); total_per+=single_per; pcourse=pcourse->next; } printf("----------------------------------------------------------------------\n"); printf("一个学期总的教学工作量:%7.3f\n",total_per); printf("----------------------------------------------------------------------\n\n\n\n"); p=p->next; } printf("\t****************************************************\n"); printf("\t* 已经显示完毕,按任意键返回主菜单... *\n"); printf("\t****************************************************\n"); getch(); } //************************************************************************ //主函数 void main() { int order; while(1) { menu(); fflush(stdin); scanf("%d",&order); switch (order) { case 1:addIn();break; case 2:addCourseInfo();break; case 3:calcu();break; case 4:exit(0);break; default: printf("输入的序号有误,请检查后重新输入...\n"); getch(); break; } } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

写JAVA代码的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值