基于SSM的高中学生成绩管理系统的设计与实现

基于SSM的高中学生成绩管理系统的设计与实现

摘要:高中是高校人才培养计划的重要组成部分,高考是人们步入大学的普遍方式,从1977年恢复高考开始,很多人都在高考实现自己的大学梦。高中的三年都是为了这次的高考。对于一个教育单位来说,开发高中学生成绩管理系统是必不可少的一部分,它对教师、学生、教务处管理员也是不可或缺的。和传统的成绩管理系统相比,它能减少教师的工作量,方便教务处管理员管理和分配,让学生能快速查看到自己的成绩和排名。
本文所叙述的高中学生成绩管理系统采用B/S架构,使用javascript、java等语言,并使用当下流行的Spring+SpringMVC+MyBatis(SSM)框架,利用SpringBoot整合SSM,简化了配置,这大大提高开发效率、以及使用MySQL数据库进行开发。本次的系统主要分为三大模块:管理员模块、教师模块、以及学生模块。
该系统方便学生随时可以查询自己的成绩与排名,认识到自己与其他人的差距和不足,及时更改自己的目标和计划;方便教师快速上传成绩,以及根据学生的成绩状况调整自己的教学计划;方便教务处根据学生的成绩情况及时调整教学计划,提高学生的学习能力。

关键词:SSM,高中学生,MySQL,管理系统,Ajax
Design and Implementation of High School Student Achievement Management System Based on SSM

Abstract: Senior middle school, college and university personnel training is an significant part of the plan, and the college entrance examination is a universal way for folks to go to college. Restored the college entrance examination from 1977 to start, a sea of individuals have realized their college dreams in the college entrance examination. The main purpose of senior middle school three years which final aim is for the national college entrance exam. The students of the performance management system development education unit is an integral part, it is essential to teachers, students, administrators of the academic affairs office. Compared with the traditional score management system, it can reduce the workload of teachers, facilitate the administration and distribution of administrators in the academic affairs office, and enable students to quickly check their own scores and rankings.
The senior school student achievement management system described in this paper adopts B/S architecture, and used javascript, Java and other languages, that used the popular Spring+SpringMVC+MyBatis(SSM) framework, used SpringBoot to integrate SSM, simplifies the configuration, which greatly improved development efficiency and was developed using the MySQL database. The system is branched out into three modules: the administrator module, the teacher module and the student module.
The system is convenient for students to check their scores and rankings at any time, to recognize the gap between themselves and others and shortcomings, timely change their goals and plans; It is convenient for teachers to quickly upload their grades and adjust their teaching plans according to students’ grades. It is convenient for the academic affairs office to timely adjust the teaching plan according to the students’ performance, so as to improve the students’ learning ability.

key words:SSM, High School Students, MySQL, Management System,Ajax

目 录

1 绪 论 1
1.1 研究背景和意义 1
1.2 国内外研究现状 1
1.3 本课题研究主要内容 2
2 关键技术及开发环境介绍 4
2.1 SSM框架结构和SpringBoot 4
2.1.1 SSM框架简介 4
2.2 开发环境 4
3 系统需求分析 5
3.1 可行性分析 5
3.1.1 技术可行性 5
3.1.2 经济可行性 5
3.1.3 法律可行性 5
3.2 系统功能需求分析 5
3.3 UML系统建模 6
3.3.1 学生功能用例图 6
3.3.2 教师功能用例图 7
3.3.3 管理员功能用例图 7
3.4 数据流图 8
4 系统设计 10
4.1 系统架构设计 10
4.2 系统的功能结构设计 10
4.2.1 学生功能模块 10
4.2.2 教师功能模块 11
4.2.3 管理员功能模块 12
4.3 数据库设计 13
4.3.1 E-R图 13
4.3.2 数据库概念设计 13
4.3.3 数据库表设计 14
5 系统的实现 17
5.1 学生功能模块的实现 17
5.1.1 登录界面 17
5.1.2 个人信息界面 18
5.1.3 修改密码 19
5.2 教师功能模块的实现 20
5.2.1 上传成绩界面 20
5.3 管理员功能模块的实现 22
5.3.1 考试管理 22
5.3.2 年级管理 23
5.3.3 班级管理 23
5.3.4 学生信息管理 24
6 系统测试 26
6.1 测试目的 26
6.2 测试方法 26
6.3 测试用例 26
6.3.1 学生模块的测试 26
6.3.2 教师模块的测试 27
6.3.3 管理员模块的测试 27
7 结束语 29
7.1 课题总结 29
7.2 课题展望 29
参考文献 30
致 谢 32

1绪 论

1.1研究背景和意义
21世纪互联网技术的出现,利用计算机之间通信,信息共享在当今社会普遍存在了,和传统的纸笔进行存储相比,利用数据库技术不仅缩短存储信息的时间,而且为人们提供数据存储,信息分析,信息检索等功能。伴随着我国教育事业的破勃发展,我国的高校管理体制也发生了根本性的转变,把从前的各个模块的独立模式转变成为现在的全自动化管理。所以利用这来之不易的机会,改善当下学生管理系统,这无疑是提高教学质量的有效方法之一。
作为教育事业的主要组成部分,高中学生的成绩管理系统一直都是重中之重,这不仅仅是学生的成绩,还反应之后的高考,高考职位人生的一个转折点,学生都十分器重这物力维艰的机会,跟不想因为自己高考成绩低,而上不了大学,由于学生在日常生活中,对成绩的分数没有十分的重视,不清楚自己为什么与别人差距大,平常的考试的分数过几个礼拜就记忆模糊,难以对症下药,而学生成绩管理系统可以记录学生的成绩以及年级排名,及时发现自己薄弱的课程,并强化训练,因此,良好的高中学生成绩管理系统是成绩管理系统对管理自动化的一个重要指标。
原始的高中学生成绩管理系统一直都是使用老师将成绩单通过纸张的形式发放到班级里,班上都是通过人传人,或者口头传话形式知道自己成绩,学校经常都是使用档案来保存高中学生的成绩,而这种传统的方式浪费时间,效率低,而且每次考试都要使用纸张来打印学生成绩,这十分浪费资源,这种方式在西部贫困地区比较常见。所以利用计算机技术来开发一个满足高中学生的成绩管理系统,来打破这种传统方式。
现在的人们的生活离不开使用计算机,因为它可以节省时间,提高办公效率,学校的管理员能随时查看学生成绩的变化,学生能查看到自己的成绩,不用因为忘记某次考试的成绩而放松自己的学习,可以看到自己的不足而加强巩固知识,从而战胜高考。因此使用计算机来管理学生成绩是十分必要的。
1.2国内外研究现状
高中学生成绩管理在日常管理工作中,为学校带来许多便利之处。伴随着高考的改革,以及学校对学生教育重视,高中生成绩日常管理工作及保存管理变得日理万机、复杂。为了方便学校管理,开发一款操作简易,逻辑清晰,兼顾师生,满足日常的功能的高中生成绩管理系统是迫在眉睫了。
在国外高中,与国内不同,他们的高中与我们有不同的地方。国外的绝大多数的高中学校都有为提供技术支持与服务的技术团队。国内高中学校信息化建设和国外相比略逊一筹。在数字校园理论逐步应用的过程中,各高中一方面不断开发实施了各类教学、科学的研究、办公管理等应用系统,形成了一定规模的信息化建设体系,另一方面也不断投资购建各种硬件、系统软件和网络。但是,由于经费不足,理论体系不健全,整体信息化程度相对落后等原因,国内高中学生成绩管理系统在与国外高校相比都有一定的差距。
回到我们国内的情况,我们国家在1977年恢复高考,起点较晚,高中的教学、教育等方面没有国外那么多经验和方案。在安全方面和对信息的管控能力会有一些缺陷和漏洞,虽然有系统资料单独建立,但是共享性差,这种方式不符合当下互联网“互联”的一种模式;系统主要的成员就是管理员,管理员对系统的认知极为重要,如果管理员对系统视同陌路,这会让系统的需求分析会遍地荆棘,也因此面对用户的多方面的需求无法全部提供。因此,高中学生成绩管理系统应该利用现有资源:例如校园网等,这样不仅可以节省成本,也方便管理,这样既能完善全校信息系统,又能实现对计算机高中学生成绩管理系统的计划打下基础,实现学校放心管理,老师专心上课,学生认真学习的良好学校氛围。
1.3本课题研究主要内容
系统大致分为三个模块:学生模块、教师模块管理员模块,由这三大模块可以画如图1-1所示出系统结构图:
在这里插入图片描述

图1-1 成绩管理系统结构图
学生模块:学生进入系统后,可以对自己的密码进行更改密码,并且查看自己的个人信息,也可以查看所有的考试中,自己的成绩以及总分的排名。
教师模块:教师录入学生的成绩,以及修改学生的成绩,可以查询到自己学生的成绩以及排名,查询班级的花名册,可以查看到个人信息并且对此进行修改操作,也可以修改密码。
管理员模块:管理员是整个系统比较重要的部分,整个的系统运行都需要管理员进行维护,要不然系统有可能无法运行。管理员模块主要划分为以下内容:考试的开启与关闭,学生信息的管理,审核密码的修改功能,班级的管理,学生成绩的查询,个人信息的修改,教师信息的管理。

2关键技术及开发环境介绍

2.1SSM框架结构和SpringBoot
Spring是该系统的设计过程里的总体框架,是一个容器,SpringMVC主要的任务是对业务逻辑上进行控制和实现,Mybatis则是对数据的持久化进行操作。使用SpringBoot整合SSM能节省配置时间,只要专心代码的编写。
2.1.1 SSM框架简介
SSM是Spring + Spring MVC + MyBatis的英文缩写,它是基于MVC设计模式的一种框架。面向切面编程AOP、Spring依赖注入是当下最能代表Spring,比如:AOP可以管理权限、日志等。SpringMVC代表了Model(模型)View(视图)Controller(控制)接收外部请求,进行分发和处理。Mybatis是基于JDBC的框架,它的好处就是我们只需要提供SQL语句就可以了,其他的建立连接等等会由Mybatis处理了。
2.2开发环境
(一)服务器
因为SpringBoot自己拥有Tomcat服务器,不需要用户配置,减少开发的时间。
(二)开发工具
系统后台所使用的开发工具选择IntelliJ IDEA软件来开发的。IntelliJ IDEA可以更好的管理项目,提高开发效率,强大的整合能力 比如maven、Spring等支持。前台的界面所用到的是Bootstrap框架。
(三)数据库
本次的系统选用的数据库管理工具是SQLyogEnt,并且使用MySQL作为数据库。
(四)开发环境搭建
操作系统:Windows10;集成开发环境工具:IntelliJ IDEA 2018。
服务器:Tomcat;Java 开发包:JDK1.8.
游览器:QQ游览器,Google Chrome游览器等主流游览器均可兼容。

3系统需求分析

3.1可行性分析
现在对系统进行可行性分析。接下来会对经济可行性、技术可行性、法律可行性这三大层次从而进行研究,从而确定系统能否开发。
3.1.1经济可行性
本次的系统不需要太大的成本进行开发,因为大多数的开发工具都是免费使用的。开发成本比较低,后期的维护也比较方便,本次开发的系统对计算机的硬件配置需求会比较低,无需昂贵的电脑配件也可以轻松运行。因此在经济方面该系统具有可行性。
3.1.2技术可行性
本次的系统后端所使用的是当下流行的Java作为开发语言,前端的开发设计使用的是JSP,JavaScript语言等设计的,使用MySQL数据库跟方便对数据进行存储,利用SpringBoot对SSM框架进行整合。本人在学校以及在实习时期都有学生SSM框架的经历,对系统的开发流程比较熟悉。因此,本次课题的基于SSM的高中学生成绩管理系统的设计与实现在技术上是可行的。
3.1.3法律可行性
本次开发的系统是本人自己开发的,使用的Bootstrap框架也是开源的,所以不存在侵权的可能性,数据库表的信息是自己模拟的数据,没有涉及他人利益。
3.2系统功能需求分析
(1)登录模块:该系统会提供三个身份进行登录,分别为学生,教师,和管理员这三大类。
(2)修改密码模块:用户通过输入旧密码,并且录入新密码就可以修改密码,学生跟教师可以通过管理员,对密码进行重置。
(3)学生模块:在学生模块,学生查看自己每次考试的分数和班级排名,以及自己在全年级的排名,并且可以更改个人信息。
(4)教师模块:作为教师,在每次考试的规定时间范围内,教师可以上传此次考试的自己的课程成绩,查看到自己教的每个班级的学生成绩以及花名册,同时可以在规定时间提出修改学生成绩的请求,如果请求通过就可以修改学生的成绩。教师也可以查看到自己的个人信息,对自己的个人信息进行更新。教师可以查看到自己授课成绩的学生的排名,同时也可以查阅自己所授课的成绩的全年级学生的分数。
(5)管理员模块:管理员可以查阅到自己的个人信息,并且对自己的数据进行更新,对考试的管理,可以查询到历年来的学生的考试成绩和排名。并且管理员查看学生和教师的所有基本信息、并且可以对教师、班级、课程、学生的管理操作(增删查改),以及在规定时间给教师修改学生成绩的权限,查看每门课程的单科第一名。
3.3UML系统建模
由上述的功能描述可以得到,系统的主要参与者有:学生、管理员、以及教师。根据现有的分析,根据参与者的个数可以划分系统的用例:教师功能用例图、学生功能用例图以及管理员功能用例图。
3.3.1学生功能用例图
学生用例图如图3-1所示:
在这里插入图片描述

图3-1学生用例图
根据图3-1学生用例图,学生的主要用例分析如下:
(1)学生进行登录操作。
(2)学生进入系统后,学生对自己的密码进行修改,管理自己的个人信息以及根据所选的考试类型查看到成绩以及所在班级的排名。
3.3.2教师功能用例图
教师用例图如图3-2所示:
在这里插入图片描述

图3-2 教师用例图
根据图3-2教师用例图,教师的主要用例分析如下:
(1)教师进行登录操作。
(2)教师进入系统后,可以上传学生成绩这个功能,查看自己班级的学生花名册,教师也可以对密码进行修改,查看并更新自己的个人信息,根据所选的考试类型查看到学生成绩以及排名。
3.3.3管理员功能用例图
管理员用例图如图3-3所示:

在这里插入图片描述

图3-3 管理员用例图

根据图3-3管理员的用例图,管理员主要用例分析如下:
(1)管理员进行登录操作。
(2)管理员进入系统后,可以实现对学生或者教师的基本信息进行操作(增删改查),对课程进行管理、还有考试的管理,查阅自己的基本信息,也可以查询学生的成绩和排名,并且管理员可以对自己账户的密码修改密码。
3.4数据流图
1.教师上传成绩数据流图
教师上传成绩数据流的过程:首先教师会录入学生成绩,系统把学生的成绩写入到数据库的表中,最后将操作的结果返回给教师。教师上传成绩DFD如图3-4所示:
在这里插入图片描述

图3-4 管教师上传成绩DFD

2.教师申请修改学生成绩数据流图
教师申请修改学生成绩数据流的过程:首先教师申请发送修改学生的请求,然后系统会修改学生的成绩的状态,接着管理员会收到请求,并进行审核,最后系统会修改学生的成绩的状态,并将审核的结果发送给教师。教师申请修改学生成绩DFD如图3-5所示:
在这里插入图片描述

图3-5 教师申请修改学生成绩DFD

3.学生查看成绩数据流图
学生查看成绩数据流的过程:首先学生将选择的考试类型发送给系统,系统处理后将查询的结果返回给学生。学生查看成绩DFD如图3-6所示:
在这里插入图片描述

图3-6 学生查看成绩DFD

4系统设计

4.1系统架构设计
高中学生成绩管理系统的主要成员分别为教师,学生,管理员三个。他们最主要的功能分别有查看成绩,成绩管理,登录,管理自己的个人信息,考试管理等,班级管理。项目的整体功能结构分解图如下图4-1所示:
在这里插入图片描述

图4-1 高中学生成绩管理系统的功能模块结构图
4.2系统的功能结构设计
4.2.1学生功能模块
学生的功能模块如图4-2所示:
在这里插入图片描述

图4-2 学生功能模块结构图

(1)登录:该系统为学生提供了登录功能,学生输入自己的学生编号和密码,根据所选择学生的身份,就可以以学生的身份进入该系统。
(2)个人信息管理:学生进入了该系统后,查看自己的个人信息,所在的年级、班级;并且允许学生对个人信息进行更改。
(3)查看成绩排名:学生以学生的身份进入了该系统后,可以游览自己的成绩以及所在的班级排名。
(4)修改密码:学生以学生的身份进入了该系统后,可以对密码进行修改操作,输入旧密码,输入自己所设置新密码,录入两次,当两个条件都满足时则成功修改密码。然后系统会自动进入登录界面,学生使用新密码登录。
4.2.2教师功能模块
教师的功能模块如图4-3所示:
在这里插入图片描述

图4-3 教师功能模块结构图
(1)登录:该系统为教师提供了登录功能,教师可以根据自己的教师编号和密码,选择教师的身份,就可以登录,进入系统。
(2)成绩管理:教师以教师的身份进入了该系统后,在考试开启后的规定时间范围内,上传学生成绩,并且如果改错的学生成绩可以申请修改,待管理员审核后方可修改学生的成绩。
(3)个人信息管理:教师以教师的身份进入了该系统后,可以查阅到自己的基本信息,职位,自己的授课班级;并且教师可以管理自己的基本信息。
(4)学生花名册:教师以教师的身份进入了该系统后,在上课时候可以查看班级的学生花名册,方便教师熟悉学生。
(5)修改密码:教师以教师的身份进入了该系统后,可以修改自己的密码,输入旧密码,输入自己所设置的新密码,并且需要再次输入新密码才能修改旧密码。然后系统会自动进入登录界面,当教师使用新密码登录时,可以进入系统。
(6)查看学生成绩和排名:教师以教师的身份进入了该系统后,可以查看学生在每次考试的成绩和排名。
4.2.3管理员功能模块
管理员功能模块结构图如图4-4所示:
在这里插入图片描述

图4-4 管理员功能模块结构图
(1)学生成绩和排名管理:管理员以管理员的身份进入了该系统后,根据考生类型查看到学生的成绩与排名。
(2)登录:管理员在登录界面时,根据自己的管理员编号和密码,选择管理员的身份,登录就进入系统。
(3)个人信息管理:管理员进入了该系统后,可以查看自己的个人信息,并且对其进行修改。
(4)班级管理:管理员进入了该系统后,可以进行班级的管理的操作:添加班级以及人数,或者删除现有的班级。
(5)学生信息管理:管理员进入了该系统后,可以处理学生的个人信息:添加学生,重置学生密码(密码默认是123456),修改学生的个人信息,以及移除学生的个人信息。
(6)教师信息管理:管理员以进入了该系统后,对教师的个人信息进行管理;添加新教师,重置教师的密码(密码默认是123456)。
(7)修改密码:管理员进入了该系统后,可以对自己账户的密码进行修改,首先要输入旧密码,设置好自己的新密码,并且需要再次输入新密码才能修改旧密码。最后系统会自动进入到登录界面,管理员输入管理员编号新密码可以进入到系统里。
(8)课程管理:管理员可以根据学校的需要对课程进行管理,添加或者删除某些课程。
4.3数据库设计
4.3.1E-R图
高中学生成绩管理系统的整体E-R图如图4-5所示。
在这里插入图片描述

图4-5 成绩管理系统E-R图
4.3.2数据库概念设计
数据项和数据结构:
(1)管理员(联系电话,密码,出生日期,管理员编号,姓名,家庭地址,权限,性别,籍贯);
(2)课程(课程号,课程名称);
(3)班级(年级、班级人数、班级);
(4)教师(教师编号,联系电话,姓名,密码,性别,籍贯,权限,出生日期,家庭地址,课程号);
(5)授课(授课名称,教师编号,年级,班级);
(6)学生(班级,学生编号,密码,姓名,籍贯,权限,性别,出生日期,联系电话,年级,家庭地址);
(7)成绩(考试类型,学生编号,成绩,课程号,教师编号,状态,考试时间);
根据上面的数据项和数据结构,设计高中学生成绩管理系统的实体。由实体从而分辨他们之间对应的关系。实体分别有:班级实体,管理员实体、成绩实体、课程实体、学生实体、教师实体。
4.3.3数据库表设计
根据前面的系统需求分析,现在建立一些数据库表存储相关内容,以下是该数据库表主要的设计:
(1)student(学生)表
学生表的结构如表4-1所示:
表4-1 student表
列名 数据类型 是否为空 注释
userid varchar(20) NO NULL 学生编号
name varchar(20) NULL 姓名
password varchar(20) NULL 密码
roleid int NULL 权限ID
born datetime NULL 出生日期
sex int NULL 性别
grade int NULL 年级
classes int NULL 班级
address varchar(50) NULL 家庭地址
natives varchar(10) NULL 籍贯
telephone int(11) NULL 联系电话
(2)teacher(教师)表
教师表的结构如表4-2所示:
表4-2teacher表
列名 数据类型 是否为空 注释
userid varchar(20) NO NULL 教师编号
name varchar(20) NULL 姓名
password varchar(20) NULL 密码
roleid int NULL 权限ID
born datetime NULL 出生日期
sex int NULL 性别
address varchar(50) NULL 联系地址
natives varchar(10) NULL 籍贯
telephone int(11) NULL 联系电话
courseid int NULL 课程号
(3)admin(管理员)表
管理员表的结构如表4-3所示:
表4-3 admin表
列名 数据类型 是否为空 注释
userid varchar(20) NO NULL 管理员编号
name varchar(20) NULL 姓名
password varchar(20) NULL 密码
roleid int NULL 权限ID
born datetime NULL 出生日期
sex int NULL 性别
address varchar(50) NULL 联系地址
natives varchar(10) NULL 籍贯
telephone int(11) NULL 联系电话
(4)class(班级)表
班级表的结构如表4-4所示:
表4-4 class表
列名 数据类型 是否为空 注释
Grade int NO NULL 年级
classes int NULL 班级
number int NO NULL 班级人数

(5)achievement(学生个人成绩)表
学生个人成绩表的结构如表4-5所示:
表4-5 achievement 表
列名 数据类型 是否为空 注释
userid varchar(20) NO NULL 学生编号
courseid int NULL 课程号
achievement float NULL 成绩分数
teacherid varchar(20) NULL 教师编号
examid int NULL 考试类型
states int NULL 成绩状态
examtime datetime NULL 上传时间
detailid int NULL 考试ID
roleid Int NULL 权限id

(6)teaching(授课)表
授课表的结构如表4-6所示:
表4-6 teaching表
列名 数据类型 是否为空 注释
courseid varchar(20) NULL 课程Id
userid int NO NULL 教师账号
grade int NULL 年级
classes int NULL 班级

5系统的实现

5.1学生功能模块的实现
5.1.1登录界面
如图5-1所示,这是学生登录功能界面实现界面,界面显示要输入的学生编号跟密码,以及选择的身份。前端先判断输入的学生编号跟密码是否为空,是否选择身份,点击立即登录,如果信息匹配则进入系统,如果不匹配界面显示“账户或者密码不正确”学生登录后会进入系统界面如图5-2所示,界面通过标签显示主要内容。

在这里插入图片描述

图5-1 学生登录界面
验证学生编号和密码是否正确的主要代码如下,ajax会根据请求返回的值进行选择:如果返回的是“false”则提示账号或者密码错误,返回是“true”则可以进入系统:
Student student=studentService.login(userid, password);
if (student!=null){
session.setAttribute(“user”,student);
session.setAttribute(“roleid”,3);//3为学生
return “true”;
}else
return “false”;
系统会把学生的基本信息存放到session里。
在这里插入图片描述

图5-2 系统界面
5.1.2个人信息界面
学生的个人信息界面如图5-3所示,界面会显示学生的基本信息,并且可以继续更改,系统会对修改的内容进行判断,当满足要求时修改成功;如果点击取消就修改失败。
在这里插入图片描述

图5-3 学生个人信息界面
判断修改的内容是否正确的js主要代码,只有返回true才能把修改的内容传入后台,判断代码如题5-4所示:
在这里插入图片描述

图5-4 学生个人信息修改部分代码图

5.1.3修改密码
如图5-5所示,这是学生修改密码界面实现界面。学生在进行修改密码的操作时,前端会对这三个栏位进行配对和判断,如果不相同,界面会发出新旧密码不相同的警告。只有满足要求,ajax异步请求才会发送新密码给后端,更新该学生的密码,系统会自动跳转到登录界面,学生使用新的密码进行登录。
在这里插入图片描述

图5-5 学生修改密码界面
前端判断新旧密码是否一致,如果一致ajax根据请求并成功返回true,并且跳到登录界面,成功跳转界面的代码如图5-6所示:
在这里插入图片描述

图5-6 前端ajax部分代码
Controller层根据session的roleid判断用户的身份而进行修改密码,判断的代码如图5-7所示:
在这里插入图片描述

图5-7 修改密码部分代码

5.2教师功能模块的实现
5.2.1上传成绩界面
教师登录系统,上传学生的成绩,界面会根据失去焦点后触发事件,判断内容是否符合规定,如果不符合规定会报错误,如图5-8所示。点击上传时如果有学生没有录入时,界面会显示未全部录入,只有这个班全部学生都录入成绩点击上传才完成;系统根据成绩表的states的值实现申请修改学生成绩功能和修改成绩功能,教师申请修改学生成绩如图5-10所示。
在这里插入图片描述

图5-8 教师上传成绩错误界面
前端根据states显示不同功能代码如图5-9所示:
在这里插入图片描述

图5-9 前端显示不同代码图
在这里插入图片描述

图5-10 教师申请修改学生成绩界面
上传成绩的主要实现代码如下:
boolean flag=achievementService.insertAchievement(map);
if(flag){
return “true”;
}
else{
return “false”;
}
5.3管理员功能模块的实现
5.3.1考试管理
管理员可以开启或者关闭考试,每次只能开启一个考试,并且开启后,只有关闭该考试才能开启下一个,教师必须在这时间上传成绩,否则无效。后台根据所有考试都完成时,返回true,前端会显示开启新学期的按钮如图5-11所示。

在这里插入图片描述

图5-11 新学期的开启界面
开启新学期的主要代码如下:
int term=examService.getExamTerm();
boolean term1=examService.updateExamTerm(term);
if (term1){
examService.updateExamReset();
return “true”;
}else {
return “false”;}
5.3.2年级管理
管理员可以查看到年级人数,和对每个年级添加课程,添加课程的界面如图5-12所示,当添加完成后,该课程不会再在所在的年级添加课程里面;系统会根据所选的课程、后端会接收到前端ajax的异步请求,把所添加的所有内容写入数据库的course表里。
在这里插入图片描述

图5-12 年级添加课程界面
前端复选框全选代码如下:
$(“input[type=‘checkbox’]”).prop(‘checked’, $(this).prop(“checked”));
通过each将所选的课程号存放checkID数组里
KaTeX parse error: Expected '}', got 'EOF' at end of input: … checkID[i]=(this).val();
});
5.3.3班级管理
如图5-13所示,该界面是班级管理的实现界面,系统根据数据库的数据显示每一个的班级以及班级人数。新增的班级,按照班级的编号进行添加,不能直接输入;添加班级时会先在学生表添加学生,然后在班级表添加,并且会更新年级的数量;分配的授课教师会根据年级分配的课程来选择。
在这里插入图片描述

图5-13 管理员班级管理界面
添加班级的主要代码如下:
classesService.insertStudent(user,grade,classes1);//添加学生账户
classesService.insertClasses(classes);
classesService.updateGradeNumber(classes);
前端判断添加班级是否符合要求代码:
$(“#grade”).val() !=null && $(“#number”).val()>0
5.3.4学生信息管理
如图5-14所示,是学生信息管理的实现界面,管理员查看全校所有学生的基本资料,根据自己所选择的属性输入关键字查询,可以实现对学生信息的模糊查询。
在这里插入图片描述

图5-14 学生信息管理界面
下面的代码,通过jQuery的 parent()方法获得每一行的数据这样可以对学生信息进行操作: KaTeX parse error: Expected 'EOF', got '#' at position 3: ("#̲natives").val((this).parent().parent().parent().find(“td”).eq(9).html())
使用ajax异步校验,设置pageNum,pageSize的值,通过controller将pageInfo传到前端,界面显示上下页以及总页数的代码如图5-15所示:
在这里插入图片描述

图5-15 分页显示部分代码

6系统测试

6.1测试目的
在系统可以正常运行的情况下,对每个功能模块进行测试,为了查看系统是否出现缺陷或者存在编码未发现的漏洞,从而对系统进完善。
6.2测试方法
高中学生成绩管理系统需要按照模块进行测试,按照模块可以分成:学生模块,教师模块,管理员模块这三模块。本次系统使用的方法是黑盒测试,来实现系统的功能测试,接下来的测试会按照这三大模块的主要模块进行测试,因为针对的主要是功能,不会对重复的功能进行测试,查看执行后的结果跟预想的结果是否符合系统的预期需求。
学生模块测试:
测试目的:测试学生功能
测试内容:查询班级所有学生的成绩、修改自己的基本信息、查看自己的成绩、以及学生的登录。
教师模块测试:
测试目的:测试教师功能
测试内容:上传学生成绩、查询的学生花名册、根据授课课程查询学生成绩以及排名。
管理员模块测试:
测试目的:测试管理员功能
测试内容:按授课名称添加教师、考试管理、按班级来添加学生、修改学生的基本信息、课程管理、年级管理、班级管理、分配授课教师。
6.3测试用例
6.3.1学生模块的测试
为了验证学生模块的功能,现在依靠需求分析来进行测试,现在测试的功能有:学生登录功能,修改个人信息,查看个人成绩,查看班级成绩,测试结果如表6-1所示:
表6-1 学生模块测试用例
序号 测试功能 输入 输出 结果
1 学生登录 学生编号:1002
密码:123456
角色:学生 跳转到学生界面 通过
2 修改个人信息 在学生界面,修改自己的个人信息,选择修改按钮 学生的个人信息界面会显示所更新后的信息 通过
3 查看个人成绩 在学生个人成绩界面,选择考试类型 显示该学生的成绩或者提示该门考试未开启 通过
4 查看班级成绩 在学生班级成绩界面,选择考试类型 显示该名学生的班级个学生总分以及排名或者提示该门考试未开启 通过
6.3.2教师模块的测试
为了验证教师模块的功能,现在依靠需求分析来进行测试,现在测试的功能有:上传学生成绩,学生花名册,查看学生课程成绩,测试结果如表6-2所示:
表6-2 教师模块测试用例
序号 测试功能 输入 输出 结果
1 上传学生成绩 选择班级,录入每名学生成绩 界面提示上传成功 通过
2 学生花名册 选择班级 花名册界面会显示出班级的所有学生 通过
3 查看学生课程成绩 选择班级和考试类型 显示学生的单科成绩 通过

6.3.3管理员模块的测试
为了验证管理员模块的功能,现在依靠需求分析来进行测试,现在测试的功能有:按班级添加学生,修改学生信息,按课程名称添加教师,课程管理年级管理,班级管理,分配授课教师考试管理,测试结果如表6-3所示:
表6-3 管理员模块测试用例
序号 测试功能 输入 输出 结果
1 按班级添加学生 在管理员界面,根据所选的年级以及班级,点击添加 学生信息界面反馈添加成功的信息给管理员 通过
2 修改学生信息 在管理员界面,根据学生的基本信息进行修改、或者重置学生密码 学生信息界面显示修改成功 通过
3 按授课名称添加教师 在管理员界面,选择授课名称,点击添加 教师信息界面显示添加成功 通过
4 课程管理 在管理员界面,添加课程,对课程名称的修改和删除课程 课程管理界面对相应的操作都有反应 通过
5 年级管理 在管理员界面,对每个年级分配课程 年级管理界面显示成功,并且可以查看到相关科目 通过
6 班级管理 在管理员界面,选择年级,输入人数,可以新增班级 班级管理界面显示成功,并且可以查看到新增的班级 通过
7 分配授课教师 在管理员界面,针对每个搬的课程,分配授课教师 班级管理界面显示成功,并且可以查看到每个班的每个科目的授课教师 通过
8 考试管理 在管理员界面,
开启考试,并且关闭该次考试 考试开启,教师可以上传成绩或者申请修改成绩。关闭考试,教师不能上传成绩 通过

7结束语

7.1课题总结
基于SSM的高中学生成绩管理系统的开发,它的设计是根据我自己在高中的体验,那时候自己想知道自己的成绩只能根据班上的纸质和记忆,难免会忘记。本次的系统开发采用的是SSM框架,在实习阶段,有了解到SpringBoot的用法,所以本次使用SpringBoot来整合SSM框架,把自己所学的知识和见解用到此次的系统开发。本系统实现显示查看成绩,方便教务处对教学制度的改进,让学生可以清晰查看到自己的成绩和水平。
结过几个月的开发,终于完成了基于SSM的高中学生成绩管理系统,这离不开老师和朋友们对我的帮助。在开发中遇到很多问题,例如:前端的技术不了解,数据库的链表查询的复杂性等等。但是我利用当前互联网技术,网上查询解决方案,也让我自己对SSM框架有了更深的理解。在本次开发的过程中,让我了解到开发技术每天都在更新,自己不努力,就会落伍。所以要活到老,学到老,这样才能在开发这条路走的远。
本次开发改变了以往的编辑模式,系统采用注解的方式简化了代码的编写,使用ajax异步提交实现局部刷新,这样系统的数据变化时不用每次都全局刷新,使处理的效率提高。本次的系统仅是针对高中学生来进行开发,所以开发不可避免有缺陷,希望各位老师能给出建议和改进的意见。
7.2课题展望
本次的基于SSM的高中学生成绩管理系统的设计与实现已经能实现学校的日常工作的需求,但是本人的能力水平和时间的不足,该系统跟教务处系统还是有些差距,有待优化。
(1)本次开发的高中学生成绩管理系统主要面对的是PC端,没有对移动设备进行适配,可能无法在移动端进入系统。
(2)该系统没有使用比较好的界面开发,仅仅使用基本样式,应该改善界面,让系统不这么单一。
(3)在日常生活中,微信和QQ是人们普遍使用的软件,如果能该系统能应用在小程序,对用户是极大的便利。

参考文献

[1].李洋. SSM框架在Web应用开发中的设计与实现[J]. 计算机技术与发展,2016,(12):190-194.
[2].疯狂软件 Spring+MyBatis企业应用实战[M]. 第二版 北京 电子工业出版社,2017
[3].李军 网页制作教程-HTML、CSS、JavaScript[M].北京 清华大学出版社,2016
[4].Rachit Mohan Garg, YaminiSood, Balaji Kottana, Pallavi Totlani. A Framework Based Approach for the Development of Web Based Applications Waknaghat[J].Jaypee University of Information Technology,2011,1(1):1-4.
[5].Zoya Ali. Designing Object Oriented Software Applications within the Context of Software Frameworks[D]. Ohio State University,2011.
[6].王小玲 安剑奇 数据库技术与应用 (SQL Server 2008版)[M] 中国水利水电出版社
[7].Markus Aleksy,Axel Korthaus, “Martin Schader.Use Java and the CORBA realization distribute type system”, Journal of Pingxiang College,No.4,2005.
[8].萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,1998.
[9].Rachit Mohan Garg, YaminiSood, Balaji Kottana, Pallavi Totlani. A Framework Based Approach for the Development of Web Based Applications Waknaghat[J].Jaypee University of Information Technology,2011,1(1):1-4.
[10].耿祥义 张跃平 java面向对象程序设计[M]. 第二版 清华大学出版社,2010
[11].徐建波,周新莲.Web设计原理于编程技术[M].中南大学出版社,2005.185-193
[12].朱华方. 基于SSM框架轻量级的分布式高考成绩管理系统设计与实现[D]. 山东师范大学, 2016.
[13].刘义忠, 张伟. 基于SSM框架的后台管理系统设计与实现[J]. 软件导刊, 18(02):74-77.
[14].齐斐.大学计算机教学平时成绩管理系统的设计与实现[J].湖北农机化,2019(22):150.
[15].王丽,宗镇欣.基于SSM框架的学生信息管理系统[J].电脑知识与技术,2019,15(28):95-96.
[16].马赫,冯思度,张红伟.学生成绩管理系统的设计与实现[J].电脑知识与技术,2019,15(06):61-62.

致 谢

一转眼大学四年时光就过去了,回想起自己刚来大学的心情,是兴奋,期待。天下没有不散的宴席,虽然在学校里生活了3年,有后悔过、有遗憾过,但时间不会等你思考这些,接下来的路很长,通往的方向五花八门,努力向前看吧。在这里,首先最要感谢我的指导老师,刘红敏老师。在我撰写论文的过程中 ,老师提出很多建议和看法,也对我的论文内容进行指导并且指出漏洞,让我的毕业设计有些改进,使我能顺利的完成撰写论文的工作。也感谢各位评阅本论文的老师,论文如有不足之处或者需要改进的地方,希望能给予建议和批评。
其次,感谢广州大学松田学院计算机科学与技术系的所有老师,让我学习了许多的知识和人生经验,这些都是我步入社会的宝贵财富。
感谢我们班的全体同学,感谢他们在学习、日常生活里给予的帮助和支持。最为感谢我的舍友们,谢谢他们让我在学校也有家的感觉。我们就要步入社会了,希望我们在遇见的时候能说一声,好久不见。
在最后,我要真心地感谢我的父母,感恩你们,是你们在我实习阶段,给我力量和支持,让我在没有准备步入社会的时候有了依靠。
舍不得这四年的生活,但未来还要走,希望自己可以做到对社会有贡献的那个人。

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值