基于ssm的职业高中学情成绩系统设计论文

摘 要

如今的时代,是有史以来最好的时代,随着计算机的发展到现在的移动终端的发展,国内目前信息技术已经在世界上遥遥领先,让人们感觉到处于信息大爆炸的社会。信息时代的信息处理肯定不能用之前的手工处理这样的解决方法,必须采用计算机来处理这些信息,因为传统方法对应计算机处理的信息效率上真的相差甚远。
本次使用Java技术开发的职业高中学情成绩系统,就是运用计算机来管理职业高中学情成绩信息,该系统是可以实现班级信息管理,学生选课管理,课程信息管理,学生成绩管理,教师管理,课程类型管理,公告信息管理等功能。
职业高中学情成绩系统使用计算机处理相关信息,主要是在数据的传输上能达到即可传递,数据不管是想要获取或者输入,都可以及时反馈,极大的提高了效率,使用的MySQL数据库也能让数据更能安全的存储。

关键词:职业高中学情成绩系统;课程信息;学生成绩

Abstract
Today’s era is the best era in history. With the development of computers and the development of mobile terminals, China’s current information technology has been far ahead in the world, making people feel that they are in a society with an explosion of information. Information processing in the information age must not use the previous solution of manual processing. Computers must be used to process these information, because the information efficiency of traditional methods corresponding to computer processing is really far away.
This time, the vocational high school situational performance system developed using Java technology is to use computers to manage the vocational high school situational performance information. The system can realize class information management, student course selection management, course information management, student performance management, teacher management, Course type management, announcement information management and other functions.
The Vocational High School Sentiment Score System uses computers to process relevant information, mainly in the transmission of data that can be delivered. Whether the data is to be acquired or input, it can be fed back in time, which greatly improves the efficiency. The MySQL database used It also allows data to be stored more securely.

Key Words:Vocational high school situation grade system; course information; student grades

目 录

摘 要 I
Abstract II
第一章 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 2
第二章 开发环境与技术 3
2.1 Java语言 3
2.2 JDK简介 3
2.3 Eclipse开发工具 4
第三章 系统分析 5
3.1可行性分析 5
3.1.1运行可行性分析 5
3.1.2技术可行性分析 5
3.1.3经济可行性分析 5
3.2系统流程分析 6
3.3 系统性能分析 7
3.3.1系统的安全性 7
3.3.2系统易维护性 7
3.3.3系统可扩展性 8
3.4系统功能分析 8
第四章 系统设计 12
4.1界面设计原则 12
4.2功能模块设计 12
4.3数据库设计 15
4.3.1数据库E-R图 15
4.3.2 数据库表结构 18
第五章 系统实现 23
5.1 管理员功能实现 23
5.1.1 教师管理 23
5.1.2 学生管理 23
5.1.3 课程信息管理 24
5.2 教师功能实现 24
5.2.1 课程信息管理 24
5.2.2 学生选课管理 25
5.2.3 班级信息管理 26
5.3 学生功能实现 26
5.3.1 学生选课管理 26
5.3.2 班级信息查看 27
5.3.3 学生成绩查看 27
5.3.4 课程信息 28
第六章 系统测试 29
6.1 测试方案 29
6.2 系统测试用例 31
6.2.1 登录功能测试 31
6.2.2 添加学生功能测试 31
6.3 测试的结果 32
结 论 33
参考文献 34
致 谢 35

第一章 绪论

1.1 研究背景
在现在社会,对于信息处理方面,是有很高的要求的,因为信息的产生是无时无刻的,并且信息产生的数量是呈几何形式的增加,而增加的信息如何存储以及短时间分析检索,也是有时效性的,所以,不管是任何的企业和个人,只要需要处理信息,必然是要寻找到一个适合自己的解决方案,而软件开发商和数据库提供商就是为了解决这些问题。相比之前人工信息处理的水平,现代的信息处理方法是完胜以前的信息处理方法。开发一个符合自己需求的信息管理系统,可以把整个信息处理的过程变得很有规范,并且很有水准,让整个信息处理变成一个自动化的过程,并且在数据处理结果之中直接设定好检索标准,或者是多条件检索标准,通过数据分析获得自己需要的内容,这都是信息化的好处。当一切信息数据存在小小的存储介质之中,那么数据迁移备份的重要性也变得更加简洁,可以设置自动化远程备份,自动化远程处理,不管是使用过程还是维护过程,都会变得更加的高效和整洁,最重要的成本上面的控制,可以极限减少,开源节流,不外如是,减少社会资源的浪费,也是计算机技术的存在的一个优势。所以,对于职业高中学情成绩信息的管理,一方面为了提高职业高中学情成绩信息的管理水平,另一方面为了提高职业高中学情成绩信息的维护水平,职业高中学情成绩系统的开发就显得十分有必要了。
1.2 研究意义
职业高中学情成绩系统不仅可以保证信息安全的前提下提高信息处理水平,更重要的是提高了信息使用者以及所有者的管理水平。信息的出现,必须经过人为的处理,人们才能接受和使用,所以提高了信息处理水准就显得极为重要。采用计算机技术,会发现在数据传递方面,有着急速的传递,不管是距离多远,都可以实时抵达,不管数据量多大,都能在短时间进行处理完毕,让人为的可出错性变低,工作量变少。职业高中学情成绩系统的出现,让职业高中学情成绩信息的管理跟上了信息时代的步伐,不仅可以在全时间段提供着稳定的处理速度以及处理水准,更能完美的保证了数据的可靠性。不仅如此,职业高中学情成绩系统在使用上面也是得心应手,操作起来极其的简单,只要认识字就行,页面设计相当不错,不用过多的考虑或者寻找,就能使用。总而言之,职业高中学情成绩系统在信息资源的处理方面,表现是极其的出色,不仅提高了管理水准,也让数据的迁移变得更加方便。
1.3 研究内容
本文总共分六章来对职业高中学情成绩系统进行介绍,研究内容具体安排如下:
第一章:通过资料查询,和对调研资料的总结,对职业高中学情成绩系统的背景和职业高中学情成绩系统的意义进行说明;
第二章:选择适合本系统的技术和工具并对其进行说明;
第三章:分析职业高中学情成绩系统开发可行性问题,研究本系统的性能,对本系统使用者的功能进行分析。
第四章:细分功能,利用功能结构图来展示系统的详细功能,同时设计数据库,包括E-R图和数据表的设计;
第五章:展示职业高中学情成绩系统的实现界面和实现的功能;
第六章:测试职业高中学情成绩系统,检测系统的功能能否可用,以及发现并解决系统功能运行的问题。

第二章 开发环境与技术

职业高中学情成绩系统的开发需要的软件环境和技术下面将介绍一下。
2.1 Java语言
Java语言流行至今,依然是后台程序开发人员从业者需要学习的技能之一,并且可以不断的进行深造,可以用Java解决各种各样的问题。Java是一种面向对象的语言,这一点对Java语言的发展功不可没。万物皆对象,很生动的对自然存在的各种环境,各种问题提供了一个解决思路,人类对世界的认知就是从一个一个事物慢慢领悟的,对行为的认知就是事物之间的联系进行认知的,对各种事物之间的联系组成了人类对世界的认知。而Java语言关于编程描述的方法,符合人类对自然界的认知方法。一切自然界的信息如果要进行存储处理,如果只是信息存储的话,也需要对其定义,信息即数据,进而推导,符合数据要求格式的类型,就是符合人类认知事物的类型。Java语言面向对象就是这样理解的,符合人类正常思维。Java不仅仅是运行不挑环境,开发符合人类正常认知,并且还衍生出其他的好的特性,比如安全系数比较高,因为不牵扯到硬件指针,不存在直接访问内存,这样应对计算机病毒的入侵有着很好的防范。Java是一种很好的开发语言。
2.2 JDK简介
JDK这个是Java开发所必须的东西。Java开发必须用JDK,运行必须用JRE,而JDK往往携带了JRE环境,也就是说只要安装了JDK就不需要再去重复性的安装JRE,所以JDK这款开发Java的必备品也就很受欢迎。一台电脑上可以安装多个版本的JDK,并且可以对不同的项目指定不同的JDK,这一点做的相当的友好。如果一台电脑默认没有安装过JDK是不需要配置环境变量,就可以直接访问JDK的,这一点对于初学者来讲,起码配置环境变量方面就方便了很多。JDK目前最新版本是JDK17,版本已经很高了,但是不管是学习还是使用,一般都喜欢用比较稳定的版本,比如JDK1.7或者JDK1.8版本。
2.3 Eclipse开发工具
对于用于开发Java语言的工具来讲,从一开始就是MyEclipse,因为是开源免费的,许多教学机构或者是学校,如果大批量用收费的开发工具来进行讲课,是一种资金的浪费,所以选择MyEclipse作为开发工具,是许多Java学习人员的入门必备。但是随着Java语言功能越来越多,MyEclipse虽然是免费的,但是如果项目需要某些插件的话,需要手动去对应插件的官网进行下载,有时候插件还会被屏蔽,不仅仅在配置开发环境方面造成一定的困难,还会让开发的雄心变弱。Eclipse就在这样的情况下诞生了,秉承于MyEclipse的操作习惯,把一些常用的插件给集成到一个软件里,比如常用的JDK,Tomcat等插件,直接安装Eclipse就可以使用,不需要另外的安装其他的插件,会让使用过MyEclipse的人员用起来很顺手,操作也比较简单。在公司里进行开发也有很多程序员用的都是Eclipse作为开发工具,有效的提升开发效率。可以同时开发许多项目,不同的项目可以选择不同的工作空间,每个独立的工作空间都可以进行单独的配置,可以对Tomcat端口进行修改,也可以在同一个Tomcat里面启动很多个网站项目,在操作方面更加便捷。

第三章 系统分析

一般来说,开发系统不是一拍脑袋就解决的事情,需要有个严谨的分析,并且逐条实现的过程,而系统分析只是系统开发的前奏而已,后续还会有相关的系统实现,系统设计等。
3.1可行性分析
系统是否可以正常实现操作流程,实现操作目的,符合操作流程,这些都可以提前进行分析论证。提前进行分析在开发之前是很重要的,并且进行书面记载,有助于开发流程的缜密性。
3.1.1运行可行性分析
开发职业高中学情成绩系统必然是有运行条件的,开发条件和运行条件都可以进行分析。首先从运行角度上讲,只是作为一个职业高中学情成绩系统的运行环境,不是超大型商业项目,只是运行一个毕业设计,数据量有限,并发条件有限,所以用常规的内存大于4G,CPU双核以上,基本上就能满足运行的硬件需要,硬盘的话常规的大于60G的即可。
3.1.2技术可行性分析
一切可以实现B/S模式的技术很多,而正好在学校就学习了相关的开发技术,采用已经有基础的学习来进行扩展更丰富的功能,从技术上面是不需要太多的重复性投入,可以更快的进行开发,技术可行。
3.1.3经济可行性分析
经济主要考虑投入与获利之间的比例问题,职业高中学情成绩系统开发投入只需要现有的,不必要另外购买的电脑就可以进行使用,一切开放性所用到的工具和资料都可以在图书馆以及互联网上面得到相应的免费资讯,这些都决定了经济上面的投入是不需要太多的。项目功能属于常规功能,没有多并发超用户同时访问的需求,所以也不需要考虑太多的资金投入,所以经济可行。
通过各个方面的研究分析,确定了开发之前这些可行性分析是很有必要的,增加了开发的信心,提高了开发效率,让开发的流程更加的具体化。
3.2系统流程分析
登录是所有系统必不可少的功能之一。虽然不起眼,但是却是一件不可缺少的事情,登录的作用主要代表着当前操作用户是某个角色用户,当然,登录的时候是需要输入账号和密码的,都正确才可以登录,登录的时候会对输入的信息进行判断的。
在这里插入图片描述

图3.2 登录流程图
数据的添加是一件比较严肃的事情,必须判断正确与否,不然随意的添加可能会导致数据库设定与实际数据输入要求不一致,导致数据丢失的问题,所以必须根据数据设定要求,在输入数据的时候就进行判断输入信息是否合法。
在这里插入图片描述

图3.3 信息添加流程图
3.3 系统性能分析
在软件开发的环节,有一个很重要的步骤,那就是关于性能需求分析的环节。如果不对软件的性能需求进行分析和预估,那么后果是很严重的。比如国内的12306,如果只是一个用户登录注册,查票购票退票,那么很容易开发出来,但是同时几百万人次的不同操作,如果没有对这个需求的提前分析预估,还是按照十个八个的并发操作进行软件开发,那肯定是上线就崩溃直接就下线的结果。所以说性能需求是很重要的一个环节。一般系统需求从下面几个角度同时考虑。
3.3.1系统的安全性
一个系统是否安全,不仅仅只是考虑用户的密码是否经过了加密,也更需要考虑数据存储的安全性,比如可以把数据库专门放到一个局域网里的服务器,让主服务器代码远程连接数据库,因为代码服务器与数据服务器的物理分离,如果代码服务器被破解,起码用户数据还有机会保存。
3.3.2系统易维护性
系统长时间运营,肯定需要进行维护。那么维护所需要带来的是性能的提升还是并发数量的提升,这些都是需要考虑的,系统不仅仅要容易维护,数据容易迁移备份,还要符合其他特性。
3.3.3系统可扩展性
系统的功能不可能一成不变的,随时可能会加一些其他的模块,比如有些商场用户积分的问题,这些开始都没有这项设定,后续想加的功能,那么就需要在不改变其原来的功能的前提下,对积分相关模块进行升级,这些就是系统设计之初需要考虑的问题,尽量开发模块化。
综上所述,性能需求必须在符合业务逻辑之外,考虑是否会出现其他的各种情况的一种分析,还必须能解决可能会出现的问题的一种需求分析。所以说,系统的性能需求分析是必不可少的一个环节。

3.4系统功能分析
系统功能主要针对主要模块功能进行分析,暂时不考虑非典型性的问题,只要能满足正确操作流程即可。
职业高中学情成绩系统设置的角色有管理员,教师,学生等。
(1)管理员
管理员增删改查学生,教师,公告,课程类型等信息,对课程信息,学生选课,班级信息,学生成绩信息进行查看并管理。对管理员的功能进行分析之后,将使用图3.4的管理员用例图来描述管理员的功能。
在这里插入图片描述

图3.4 管理员用例图
(2)教师
教师负责添加课程,对学生选择的课程审核通过之后,把选课的学生统一加入教师创建的班级,教师也需要对班级的各个学生添加成绩并管理成绩。对教师的功能进行分析之后,将使用图3.5的教师用例图来描述教师的功能。
在这里插入图片描述

图3.5 教师用例图
(3)学生
学生查看已选课程的审核结果,查看加入的班级信息,查看选课课程的成绩,查看公告等。对学生的功能进行分析之后,将使用图3.6的学生用例图来描述学生的功能。
在这里插入图片描述

图3.6 学生用例图

第四章 系统设计

不管是好用还是不好用的系统,在如今的互联网时代都会被广而告之,但是能留存下来的,必然是好用的,并且好看的系统,不好用并且不好看的系统用户会逐渐抛弃的。所以,开发的系统必须是有主题的,要打开系统就明白这个系统主要的作用和功能,所以设计这方面需要下苦功夫的。
4.1界面设计原则
一般都是图片,文字以及各种输入框和按钮等组成的界面,每个界面的内容都大不相同,如何设计成页面的统一,操作的统一,这是下面需要讨论的问题。
第一点:界面设计必须符合人体工程学。人体工程学是一门入微级别的学问,主要考虑人类在各种工作状态下如何提高生产效率。所以说,界面设计的首要目的,就是为了提升效率。
第二点:有效导航是必须的。导航的目的,就是帮助操作人员的记忆能力,提高操作效率而生的,所以导航一定要设置的符合模块的功能,让用户一看到导航就会知道是哪个模块,需要哪些操作,这些步骤是必不可少的,如果把所有功能放到一个页面呈现平面化布局,肯定不合适,所以合适的导航能够帮助工作。
第三点:界面设计的统一性。统一性不是说背景图片是同一个图片或者背景是同一个色系,而是说让操作系统统一。比如导航就统一用树状结构,有模块有层次,理解容易。多项搜索如果一行放不下,就收起,可以选择多项也可以模糊查询,这些都要符合人类正常认知才可以。
所以说,系统设计的核心就是界面设计,主要的业务处理逻辑只要能处理,需要下大力气的还是页面设计。
4.2功能模块设计
本小节运用功能结构图来描述管理员具备的详细的功能,对管理员的功能结构图绘制结果如图4.1所示。管理员增删改查学生,教师,公告,课程类型等信息,对课程信息,学生选课,班级信息,学生成绩信息进行查看并管理。
在这里插入图片描述

图4.1 管理员功能结构图
本小节运用功能结构图来描述教师具备的详细的功能,对教师的功能结构图绘制结果如图4.2所示。教师负责添加课程,对学生选择的课程审核通过之后,把选课的学生统一加入教师创建的班级,教师也需要对班级的各个学生添加成绩并管理成绩。
在这里插入图片描述

图4.2 教师功能结构图
本小节运用功能结构图来描述学生具备的详细的功能,对学生的功能结构图绘制结果如图4.3所示。学生查看已选课程的审核结果,查看加入的班级信息,查看选课课程的成绩,查看公告等。

在这里插入图片描述

图4.3 学生功能结构图
4.3数据库设计
在系统后台选择数据库的时候,首先第一条就是要满足使用需要,只要满足使用需要,再对数据库的使用友好度和性能上进行分析。选择当前分布最广发的关系型数据库是完全能满足需要的,并且在数据的设计上也有完美的设计顺序,最重要的是符合人们的直观要求。
4.3.1数据库E-R图
下面主要是描述E-R图模型的。对于用户的需求,要具体化,比如有个角色需要有登录,那么最基本的设定必须有账号和密码,那么像姓名,性别其他的对象关系,其实是有从属关系的,通过这样具体化分析,可以得到数据的格式要求,并且能得到数据之间的直接关系。然后可以通过专业的Visio工具来进行E-R图的创建,遵守约定的E-R图表达方式,就可以对数据进行图标形式的描述,并且之间的关系更容易理解。
(1)图4.4即为教师这个实体所拥有的属性值。
在这里插入图片描述

图4.4 教师实体属性图
(2)图4.5即为学生成绩这个实体所拥有的属性值。
在这里插入图片描述

图4.5 学生成绩实体属性图
(3)图4.6即为课程这个实体所拥有的属性值。
在这里插入图片描述

图4.6 课程实体属性图
(4)图4.7即为学生这个实体所拥有的属性值。
在这里插入图片描述

图4.7 学生实体属性图
(5)图4.8即为上面介绍的实体中存在的联系。
在这里插入图片描述

图4.8 实体间关系E-R图
4.3.2 数据库表结构
在程序开发的过程中,系统设计里面包含有数据库的设计,一般都在功能设计的后面进行数据设计,为什么有这样的顺序呢?那是有原因的。数据库设计不能凭空想象,必须符合数据的定义,而数据只是在使用过程之中产生,其实并没有具体化的表现,所以要把数据进行结构的整理,字段的规划。比如用户账号可能是中文或者英文,以及数字形式存在,更或者可能包含一些符号,那么账号字段的设计就只能是文本形式存在,不能是数据形式或者是时间形式存在,以此类推,数据表结构的设计就是在对系统的具体实现数据进行描述规划的一种行为。所以在这个环节尤其要注意,否则可能使用过程中会发现很多不可预料的问题。
对本系统的数据库的要求就是,要严格遵循数据实现原则,符合数据定义范式。对每个表都要进行具体分析,并且表之间的关系更应该有逻辑性,如果违反前面的要求,那么数据很有可能出现问题,所以要把数据之间的关系用E-R图形式画出来,这样理解起来更直观,更不容易出错,效率也更高。

表4.1 班级信息表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
kechengmingcheng 课程名称 varchar(200) 是
keshi 课时 varchar(200) 是
xueqi 学期 varchar(200) 是
nianxian 年限 varchar(200) 是
shangkedidian 上课地点 varchar(200) 是
jiaoshigonghao 教师工号 varchar(200) 是
jiaoshixingming 教师姓名 varchar(200) 是
xuehao 学号 varchar(200) 是
xueshengxingming 学生姓名 varchar(200) 是
crossuserid 跨表用户id bigint(20) 是
crossrefid 跨表主键id bigint(20) 是
表4.2 教师表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
jiaoshigonghao 教师工号 varchar(200) 否
mima 密码 varchar(200) 否
touxiang 头像 varchar(200) 是
jiaoshixingming 教师姓名 varchar(200) 是
xingbie 性别 varchar(200) 是
shoujihaoma 手机号码 varchar(200) 是
youxiang 邮箱 varchar(200) 是
zhiwu 职务 varchar(200) 是
表4.3 课程类型表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
kechengleixing 课程类型 varchar(200) 是

表4.4 课程信息表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
kechengmingcheng 课程名称 varchar(200) 是
fengmian 封面 varchar(200) 是
kechengleixing 课程类型 varchar(200) 是
keshi 课时 varchar(200) 是
shangkeshijian 上课时间 longtext 是
shangkedidian 上课地点 varchar(200) 是
xueqi 学期 varchar(200) 是
nianxian 年限 varchar(200) 是
kechengxiangqing 课程详情 longtext 是
jiaoshigonghao 教师工号 varchar(200) 是
jiaoshixingming 教师姓名 varchar(200) 是
表4.5 公告信息表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
title 标题 varchar(200) 否
introduction 简介 longtext 是
picture 图片 varchar(200) 否
content 内容 longtext 否
表4.6 管理员表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
username 用户名 varchar(100) 否
password 密码 varchar(100) 否
role 角色 varchar(100) 是
addtime 新增时间 timestamp 否

表4.7 学生表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
xuehao 学号 varchar(200) 否
mima 密码 varchar(200) 否
touxiang 头像 varchar(200) 是
xueshengxingming 学生姓名 varchar(200) 是
xingbie 性别 varchar(200) 是
shoujihaoma 手机号码 varchar(200) 是
youxiang 邮箱 varchar(200) 是
表4.8 学生成绩表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
kechengmingcheng 课程名称 varchar(200) 是
keshi 课时 varchar(200) 是
xueqi 学期 varchar(200) 是
nianxian 年限 varchar(200) 是
chengji 成绩 varchar(200) 是
xuehao 学号 varchar(200) 是
xueshengxingming 学生姓名 varchar(200) 是
jiaoshigonghao 教师工号 varchar(200) 是
jiaoshixingming 教师姓名 varchar(200) 是
表4.9 学生选课表
字段 注释 类型 空
id (主键) 主键 bigint(20) 否
addtime 创建时间 timestamp 否
kechengmingcheng 课程名称 varchar(200) 是
kechengleixing 课程类型 varchar(200) 是
keshi 课时 varchar(200) 是
xueqi 学期 varchar(200) 是
nianxian 年限 varchar(200) 是
shangkedidian 上课地点 varchar(200) 是
jiaoshigonghao 教师工号 varchar(200) 是
jiaoshixingming 教师姓名 varchar(200) 是
shenqingshijian 申请时间 datetime 是
xuehao 学号 varchar(200) 是
xueshengxingming 学生姓名 varchar(200) 是
crossuserid 跨表用户id bigint(20) 是
crossrefid 跨表主键id bigint(20) 是
sfsh 是否审核 varchar(200) 是
shhf 审核回复 longtext 是

第五章 系统实现

程序开发人员对功能具体实现后,都要描述自己编写的功能实现,一般都通过文字描述功能,实现用图片截图的形式出现,通过这样的设定,可以让更多得人明白系统的实现结果,达到更容易理解程序操作的目的。
5.1 管理员功能实现
5.1.1 教师管理
管理员点击导航栏的教师管理链接就进入教师管理界面。教师管理界面如图5.1所示。本功能允许管理员对教师的手机号码,职务,头像等进行修改,查看,添加。
在这里插入图片描述

图5.1 教师管理界面
5.1.2 学生管理
管理员点击导航栏的学生管理链接就进入学生管理界面。学生管理界面如图5.2所示。本功能允许管理员对学生的头像,性别,学号等信息进行修改,查看查询。
在这里插入图片描述

图5.2 学生管理界面
5.1.3 课程信息管理
管理员点击导航栏的课程信息管理链接就进入课程信息管理界面。课程信息管理界面如图5.3所示。本功能允许管理员查看上课地点,课程名称,课时等信息,以及通过课程名称,教师姓名这两种查询条件来查询课程信息。
在这里插入图片描述

图5.3 课程信息管理界面
5.2 教师功能实现
5.2.1 课程信息管理
教师点击导航栏的课程信息管理链接就进入课程信息管理界面。课程信息管理界面如图5.4所示。教师才可以对课程信息进行添加,也能对课程信息的学期,年限,课程,课程名称等信息进行查询,更改。
在这里插入图片描述

图5.4 课程信息管理界面
5.2.2 学生选课管理
教师点击导航栏的学生选课管理链接就进入学生选课管理界面。学生选课管理界面如图5.5所示。本功能允许教师审核学生选择的课程,当教师同意学生选择的课程之后,教师就可以把学生加入教师创建的班级里面,该班级主要就是学习学生选择的课程。
在这里插入图片描述

图5.5 学生选课管理界面
5.2.3 班级信息管理
教师点击导航栏的班级信息管理链接就进入班级信息管理界面。班级信息管理界面如图5.6所示。本功能允许教师查看班级信息,对该班级的学生添加成绩。
在这里插入图片描述

图5.6 班级信息管理界面
5.3 学生功能实现
5.3.1 学生选课管理
学生点击导航栏的学生选课管理链接就进入学生选课管理界面。学生选课管理界面如图5.7所示。本功能允许学生根据课程名称条件来筛选选课信息,学生也能查看教师对学生选择的课程的审核情况信息。
在这里插入图片描述

图5.7 学生选课管理界面
5.3.2 班级信息查看
学生点击导航栏的班级信息查看链接就进入班级信息查看界面。班级信息查看界面如图5.8所示。本功能允许学生对加入的班级进行查看,可以查看该班级学习的课程信息,以及上课地点,教师姓名等信息。
在这里插入图片描述

图5.8 班级信息查看界面
5.3.3 学生成绩查看
学生点击导航栏的学生成绩查看链接就进入学生成绩查看界面。学生成绩查看界面如图5.9所示。本功能允许学生查看选课课程的最终学习成绩信息,学生使用学生姓名,或课程名称字段也能查询学生的成绩。
在这里插入图片描述

图5.9 学生成绩查看界面
5.3.4 课程信息
学生点击导航栏的课程信息链接就进入课程信息界面。课程信息界面如图5.10所示。本功能允许学生查询课程,以及可以查看各个课程的介绍。
在这里插入图片描述

图5.10课程信息界面

第六章 系统测试

一个系统不可能只有几个页面就叫做系统,系统的意思就是有好多不同的功能模块的集合才叫做系统。系统包含很多子模块,每个模块与模块之间都有不同的联系,系统测试就是先测试每个模块的功能,符合了之后再测试模块与模块之间的功能,都测试合格还需要验收。测试流程,测试步骤,测试数据,只要是测试的过程,都要有详细的记录。有记录的测试,叫科学测试,如果胡乱测试,那么可能会漏掉一些关键性的问题所在。所以为了提高程序的质量,在测试这个环节就要下很大的心思,测试的越好,系统的修复性越好,才能让用户产生更大的满意。
6.1 测试方案
测试方案主要分两个方向,一个是黑盒测试,一个是白盒测试,这两个测试方向是目前最通用的测试方案。测试过程中,要对各个模块实现有个预期,在符合用户的要求上,要对一些字段还有逻辑进行测试,需要不断输入各种各样类型的数据来进行测试,看是否会有内存漏出,指针异常,或者是逻辑问题。
白盒测试:白盒主要是进行逻辑测试的,测试是属于透明形式的测试。白盒测试要求对各种逻辑以及各种判断,每种判断都要进行一次测试,判断实现效果。白盒测试可以说就是把代码能实现的不能实现的语句都进行判断,只要进行过白盒测试,甚至能定位到哪些判断有问题,或者说某个方法就有问题,只要白盒测试过关的,那说明代码功能基本上没有什么大的问题,符合功能开发的很不错。
黑盒测试:黑盒是不管代码是怎么编写的,只测试功能接口问题。黑盒测试一般不让用户测试的,因为主要围绕着安全性或者恢复性测试,包括负载均衡方面,这些需要大量的数据进行冲击,用户是没有这方面的技术的。所以一般需要负责专业的测试人员进行测试,专业的测试人员经过专门的测试方面培训,懂得黑盒测试的测试要领,所以先经过白盒测试功能问题,然后再经过黑盒测试进行运行问题,基本上就满足了测试任务。
本章节主要就是对系统的测试来设置对应的测试操作,从模块功能测试到最后的验收测试。
模块测试:在模块测试一般都是程序员开发过程中,有的自己写属于自己模块的测试用例,一般以达到效果为主,每个模块都是一个单元,这样来区分单元测试的过程,如果不进行单元测试会出现大问题的,会出现各个环节不知道数据的执行流程,方法跳转,以及更重要的异常抛出,这些可能都会忽略,所以要进行模块测试。
模块测试一般有几个需要注意:
第一个问题:路径问题,路径是绝对路径还是相对路径,因为程序代码很多,所以这些肯定要进行测试的,不然会出现异常。
第二个问题:接口问题。接口的命名方式,会不会与技术自带的接口混淆,会不会接口重复,这些都是需要测试的。
第三个问题:数据结构。数据库的数据结构在代码里,是否编写过程中达到了预期,有些地方该是包装类型的还是数据类型的,这些都要测试。
第四个问题:异常处理。每个环节可能会出现的问题,都要定义异常抛出,并且尽量写好异常处理原因,只要抛出指定异常信息,才会达到测试目的。
第五个问题:边界问题。边界问题一般指的的数据大小以及正负数的问题,这些该测试还要测试的,不测试不符合操作流程。
总而言之,模块测试是测试的第一个环节,是不可少的,也是出现问题最多的领域。
集成测试:模块测试完毕才可以集成测试,集成测试主要是对各个模块之间的逻辑进行测试,只要是相关联的模块,都要测试一遍,需要找到模块关联是否能达到正常开发预期。
集成测试主要采用渐增式测试,好处有以下几点:
第一点:渐进式可以更彻底的对逻辑所有功能进行测试,是很彻底的。
第二点:渐进式相当节约时间,节约时间就是节约成本。
第三点:可以更快速的定位错误位置,有助于问题反馈。
用渐进式测试软件功能,用到的混合法。混合法是有顺序的,自上而下测试和自下而上测试,对程序的上下层混合测试,就是测试里面的集成测试方法。
验收测试:验收一般是甲方派人来负责程序的验收测试,派来的人员可能计算机水平层次不齐,也更适合对程序问题提出异议,因为计算机开发的哪怕在行业内最厉害的,也不一定能满足甲方的需求,毕竟开发者认为合理的必须有局外人来进行判断,而甲方派人测试则是代表着对程序的直观认知,前面的所有测试,只是验收测试前的测试,验收测试决定着程序是最终问题。
6.2 系统测试用例
测试主要是实际操作程序功能与设计程序功能是否一致,检验编程效果的一种方法。
6.2.1 登录功能测试
作为职业高中学情成绩系统,登录是首要功能,后面不管是任何功能,都必须在登录成功后才可以进行操作,所以登录必须进行测试。
表6.1 登录功能测试表
测试数据 实际数据 预期情况 最终情况
把管理员表里面的任意一个账号,还有配套密码进行录入 账号:abo
密码:abo 成功登录 成功登录
不使用管理员表的账号,还有密码 账号:uuu
密码:uuu 提示错误的账号或密码 登录失败
把管理员表的任意一个账号进行输入,并随意编写一个密码,该密码不是该表账号对应的密码 账号:abo
密码:uuu 提示错误的账号或密码 登录失败
不输入管理员表的账号,而是账号随意编写,但是密码却是管理员表的密码 账号:uuu
密码:abo 提示错误的账号或密码 登录失败
6.2.2 添加学生功能测试
添加学生功能是管理员管理的内容。一般添加学生功能设定必须是学号唯一,这样能保证学生数据的安全,所以添加学生的时候提交的学号如果已经存在肯定是不让添加学生的,只有唯一的学号才可以添加学生,而这些都要有反馈提示。
表6.2 添加学生功能测试表
测试数据 实际数据 预期情况 最终情况
把学生表的其中一个学号进行登记 学号:001 学号已存在,请重新输入 添加学生失败
登记学生表里面不存在的学号 学号:006 可以添加学生 添加学生成功
6.3 测试的结果
在职业高中学情成绩系统的测试过程中,优化了系统的功能导航,以及操作流程,并且对运行环境测试,发现市场上主流的电脑都可以使用,并且操作简单,使用方便,功能完善。通过所有测试的结果就是本设计合格。

结 论

职业高中学情成绩系统的开发不是一帆风顺的,虽然严格按照一定的开发流程来进行职业高中学情成绩系统的开发,但是中间出现了很多突发情况。当题目选择之后,就开始查找资料,也不知道是查找方式问题还是阅历问题,感觉资料查的都是相关资料,但是当查到资料后看的一头雾水,好多都是与职业高中学情成绩系统开发不相关的,像浪里淘沙一样过滤了很多无用的东西才收集到一点点对自己可用的。当定下功能功能的时候,又开始对功能进行分析,反复的判断功能直接的关系,是否存在逻辑问题。数据库的设计也是一大问题,也许是开发经验不足,当数据库设计好后,编码到一半发现考虑问题不够重复,编码实现太复杂,需要在对数据库表重新设计,返工很多遍。在开发过程中,看到同伴们在努力的开发自己也埋头苦干,最终实现了职业高中学情成绩系统。
本次使用Java技术开发的职业高中学情成绩系统,就是运用计算机来管理职业高中学情成绩信息,该系统是可以实现班级信息管理,学生选课管理,课程信息管理,学生成绩管理,教师管理,课程类型管理,公告信息管理等功能。符合设计预期。
经过整体的开发了解,发现了职业高中学情成绩系统的不足之处,首先第一点就是开发人少,时间短,属于练手项目,所以很多实际生活中可能遇到的问题并没有考虑到位,比如数据的冗余,大数据并发等,这些都是没有考虑的,在以后的日子里将会对技术方面精益求精,不断修复职业高中学情成绩系统,让职业高中学情成绩系统更强壮。

参考文献

[1]李跃.成绩分析系统设计及实现[D].北京工业大学,2018.
[2]倪玲玲.高职院校学生成绩管理系统的设计与实现[D].湖北工业大学,2017.
[3]闫嵩.新时期计算机软件开发中Java语言的应用[J].计算机产品与流通,2019(11):18.
[4]张金波.Java编程中常见的异常及其解决方案[J].计算机产品与流通,2019(12):29.
[5]彭影.优化Java数据库访问效率的策略研究[J].计算机产品与流通,2020(02):21.
[6]赵昕.软件工程思想在JAVA程序设计教学中的应用[J].计算机产品与流通,2020(02):201.
[7]赵荣彪.JDK1.8新特性与编程性能[J].信息技术与信息化,2021,(05):145-146+150.
[8]陈永青.浅析JDK1.7中的Fork/Join框架[J].中国新通信,2016,18(19):94-95.
[9]唐大仕.引入JDK源码学习的Java程序设计实践教学[J].计算机教育,2015,(07):40-42.
[10]李金萍,程满玲.Eclipse的应用发展[J].电脑编程技巧与维护,2016(16):31-32+58.
[11]黄雅琼.数据库设计在网站开发中的应用[J].科技风,2018(11):44.
[12]王会芳,武变霞.Web数据库软件开发中的自主适应设计[J].电子测试,2018(17):82-83.
[13]张赟.计算机软件开发的数据库测试技术[J].电子技术与软件工程,2020(17):150-151.
[14]Xuan Yin,Wei Zheng,Ming Zhang,Jing Zhang,G.Zhuang,T.Ding.A modularized operator interface framework for Tokamak based on MVC design pattern[J].Fusion Engineering and Design,2018.
[15]Oscar Rodriguez-Prieto,Francisco Ortin,Donna O’Shea.Efficient runtime aspect weaving for Java applications[J].Information and Software Technology,2018,100.

致 谢

职业高中学情成绩系统的完成,经过测试发现符合设计预期的时候,心里感觉压着的石头去掉了,身心愉悦,半年时间一晃就过去,感觉时间过得飞快。突然想到这就要毕业了,毕业设计也完成了,有点惶恐,这里有我尊敬的老师,亲爱的同学们,在学校里真的很感激有他们的陪伴,这几年的校园生活才不至于孤单。
首先感谢我的学校,让我有学习的地方,有吃饭的地方,有住宿的地方,在学校里可以静下心来专心学习。
其次感谢我的导师,导师的作用在于指导,是与我们的其他老师有区别的,其他老师都是教给我们知识,让我们在知识的海洋里遨游,而我们的导师是我在知识海洋里的灯塔,照亮我前进的道路,让我理解如何用自己学校的知识武装自己的头脑,如何把这些知识融会贯通,实现真正的有用,可以看得见摸得着的作品,没有我的导师,就没有我现在的这个作品的出现,所以相当感谢我的导师。
再次感谢我的同学们,当我学习太累的时候,看到他们依然在努力,我会把想要偷懒的心压下去,他们能,我也能,有他们在,我也去掉了很多偷懒的行为;在我开心的时候,有他们一起分享;在我为设计开发挠头的时候,发现他们也有点挠头,我的心里更加的平静,不会过于急躁,可以静心逐步开发。我相信,他们应该也是这样想我的。大家一起学习,一起努力,一起奋斗,感谢我的同学们。
最后感激我的其他专业授课老师们,虽然与他们的缘分只有课堂上,但是还是感谢有他们的付出,才有我们的收获。
最后,我感谢所有值得感谢的人们,谢谢你们!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/287610.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计------学习论坛小程序

项目介绍 本项目分为两种用户类型,分别是普通用户,管理员用户; 管理员用户包含以下功能: 管理员登录,个人中心,用户管理,分类信息管理,论坛帖子管理,资料帖子管理,举报信息管理,系统管理功能…

【华为机试】2023年真题B卷(python)-靠谱的车

一、题目 题目描述: 程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。 出租车司机解释说他不喜欢数字4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其…

简易机器学习笔记(四)初识卷积神经网络

前言 第一次写卷积神经网络,也是照着paddlepaddle的官方文档抄,这里简单讲解一下心得。 首先我们要知道之前写的那些东西都是什么,之前写的我们称之为简单神经网络,也就是简单一层连接输出和输出,通过前向计算和逆向…

C#使用 OpenHardwareMonitor获取CPU或显卡温度、使用率、时钟频率相关方式

C# 去获取电脑相关的基础信息,还是需要借助 外部的库,我这边尝试了自己去实现它 网上有一些信息,但不太完整,都比较零碎,这边尽量将代码完整的去展示出来 OpenHardwareMonitor获取CPU的温度和频率需要管理员权限 在没…

基于SSM的游戏资源管理系统+vue论文

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古…

深入数组扩展应用

一、字符串反转 例如:‘123abc’----->‘cba321’ 字符串方法实现: var str 123abcvar reversFn function(str) {var newStr for (var i str.length - 1; i > 0; i--) {newStr str[i]}return newStr }console.log(reversFn(str));数组方法实现&#xf…

vue保姆级教程----深入了解Vuex的工作原理

📢 鸿蒙专栏:想学鸿蒙的,冲 📢 C语言专栏:想学C语言的,冲 📢 VUE专栏:想学VUE的,冲这里 📢 CSS专栏:想学CSS的,冲这里 &#x1f4…

从有向带权图判断最短路径里各目标顶点顺序

对如下有向带权图,若采用迪杰斯特拉(Dijkstra)算法求从源点a到其他各顶点的最短路径,则得到的第一路径的目标顶点是b,第二条最短路径的目标顶点是c,后续得到的其余各最短路径的目标顶点依次是() A.d,e,f B.e,d,f C.f,d,e D.f,…

通过IP地址进行网络安全防护

随着互联网的普及,网络安全问题日益凸显。一个重要的网络安全防护手段是通过IP地址进行控制和管理。本文将介绍如何通过IP进行网络安全防护。 一、IP地址的基本概念 IP地址是互联网协议地址的简称,用于标识网络中的设备。IP地址由32位二进制数字组成&am…

odoo 客制化审批流

以BPM、OA为代表的应用平台,低代码处理为前提的审批流功能定制化 功能介绍: 业务对象:针对侵入式注册BPM业务场景:设置审批场景:如:请假大于三天的场景、金额大于1000的场景节点条件: 当符合某…

运动蓝牙耳机哪个品牌好?2024年热销运动蓝牙耳机推荐

​作为一个热爱跑步的运动爱好者,我在过去四年里尝试了许多不同类型的运动蓝牙耳机,包括入耳式、半入耳式、颈挂式和开放式等。在这个过程中,我逐渐总结出了挑选运动耳机的一些心得,了解到一款优秀的运动耳机需要满足哪些基本条件…

网络故障排查和流量分析利器-Tcpdump命令

Tcpdump是一个在Unix/Linux系统上广泛使用的命令行网络抓包工具。它能够捕获经过网络接口的数据包,并将其以可读的格式输出到终端或文件中。Tcpdump是一个强大的命令行工具,能够捕获和分析网络数据包,为网络管理员和安全专业人员提供了深入了…

【hyperledger-fabric】将智能合约部署到通道

简介 本文主要来自于B站视频教学视频,也主要参看了官方文档中下图这一章节。针对自己开发的代码做出相应的总结。 1.启动网络 # 跳转到指定的目录 cd /root/fabric/fabric-samples/test-network# 启动docker容器并且创建通道 ./network.sh up createChannel2.打…

拆分文本文件,TXT文本拆分器

在数字化飞速发展的时代,我们经常碰到需要处理大容量TXT文件的情况。这些文件可能包含大量的数据、日志信息或是其他重要内容。然而,传统的文本编辑器在处理这些庞然大物时往往会显得力不从心,这个时候,【首助编辑高手】的出现恰如…

STM32存储左右互搏 SPI总线读写FRAM MB85RS2M

STM32存储左右互搏 SPI总线读写FRAM MB85RS2M 在中低容量存储领域,除了FLASH的使用,,还有铁电存储器FRAM的使用,相对于FLASH,FRAM写操作时不需要预擦除,所以执行写操作时可以达到更高的速度,其…

Docker就应该这么学-01

第一章 容器与开发语言 1.1 Docker 最近一段时间,云计算领域最火的莫过于“容器”一词。提到容器,就不得不提 Docker,可以说 Docker 己经成为了容器的代名词。那么,什么是 Docker ? Docker 又能做什么呢?本章 我们就来简单介绍…

【MPC学习笔记】01:MPC简介(Lecture 1_1 Unconstrained MPC)

本笔记来自北航诸兵老师的课程 课程地址:模型预测控制(2022春)lecture 1-1 Unconstrained MPC 文章目录 0 MPC 简介0.1 案例引入0.2 系统模型0.3 MPC的优点0.4 MPC的缺点0.5 MPC的未来 1 详细介绍 0 MPC 简介 0.1 案例引入 MPC(…

关于简单的数据可视化

1. 安装数据可视化必要的openpyxl、pandas,matplotlib等软件包 使用清华源,命令如下: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn pandaspip install -i https://pypi.tuna.tsingh…

CSU计算机学院2021年C语言期末题目思路分享(后两道题)

文章目录 E: 实数相加——大数加法的拓展原题题目描述输入输出样例输入样例输出 题目思路实现步骤代码和注释 F: 谍影寻踪——链表的思想和运用原题题目描述输入输出样例输入样例输出 题目思路 一点感想 E: 实数相加——大数加法的拓展 原题 题目描述 C语言就要期末考试了&a…

com.gexin.platform 依赖下载问题

打包时报错显示&#xff1a; com.gexin.platform:gexin-rp-sdk-http:pom:4.1.1.4 failed to transfer from http://0.0.0.0/ 解决办法&#xff1a; 1、在idea中找到maven中的设置的settings.xml 2、根据路径找到settings.xml文件&#xff0c;添加以下内容 <mirror><…