精华内容
下载资源
问答
  • 对成绩分析和以后的目标
    2021-06-28 03:58:11

    狄晓娇

    摘 要:信息技术的发展及应用以及如何利用信息技术提高高校的管理水平,是高职院校面临的重大课题。在学习和工作的过程中接触到数据挖掘这一先进的概念,力图通过数据挖掘从学生的成绩中找到隐含在其中的有效信息,这样既可以帮助老师了解学生的学习情况,又可以帮助学生了解学习重点,达到教学相长的目的。利用数据挖掘技术中的决策树的相关知识和方法,以多届学生的《计算机应用基础》成绩,对学生的成绩进行分析。主要使用数据挖掘中的决策树知识将决策树应用在学生成绩数据挖掘的模型上,使用SPSS Modeler 软件利用C 5.0 算法分析出哪些因素对于《计算机应用基础》考试的影响最大,揭示其中规律,为今后教学工作及教学安排提供有效的科学的指导依据。

    关键词:数据挖掘;考试成绩;决策树;关联规则

    中图分类号:G4 文献标识码:Adoi:10.19311/j.cnki.1672-3198.2018.17.083

    1 决策树的基本概念

    在已有的大量源数据中得到有效的分类器有许多种办法,决策树就是其中一种有效的办法。他在数据挖掘中尤其在数据分类领域中应用十分广泛。决策树算法主要是通过一组输入样本数据然后对样本进行決策树归纳的一种方法。决策树的表现形式是一个倒树状结构图,并且在树枝的节点上一般还附带概率结果,它是一种是直观的使用统计概率来分析对象的图表示方法。

    2 几种常用的决策树算法

    常见的算法有CHAID、CART、Quest和C5.0。判断决策树算法是否合适,就看每一个决策树分组的组之间的差别是否够大,属性差别越大就是算法越合适。决策树算法擅长处理离散型数据,并且处理非数值性数据时效率的方面也有不错的表现。

    3 决策树的评价标准

    建立了决策树模型后需要给出该模型的评估值,这样才可以来判断模型的优劣。学习算法模型使用训练集 (training set) 建立模型,使用校验集 (test set) 来评估模型。经过校验集评估后决策树进行评价。评估指标有分类的准确度,描述的简洁性和计算的复杂程度等指标。

    4 决策树在计算机成绩分析中的应用

    4.1 确定挖掘对象

    本次挖掘的对象是以《计算机基础》为基础信息,之所以选择这门课程,是因为它是新生入学的第一门与计算机相关的课程,也是今后继续学习计算机相关课程的基础。

    《计算机基础》包含平时成绩及期末考试成绩。考试在新生入学的第一学期的期末,即每年的1月份进行期末考试,期末考试总分为40分,占总成绩的40%。期末考试的形式为上机操作,其中包括Word,Excel和powerpoint分别占总成绩的40%,40%,20%。在平时成绩中有3次随堂测验同样分别是Word,Excel和powerpoint,将其成绩汇总作为平时成绩,总分为60分,平时成绩占总成绩的60%。

    本论文决定使用决策树方法研究《计算机基础》考试中word,Excel和powerpoint几个部分对最终成绩的影响程度。通过构造决策树可以更容易找到哪些因素对最终成绩影响更大。同时采用关联规则中的Apriori算法研究《计算机基础》和后续课程《fireworks》的关联。

    4.2 数据的预处理

    本文用到的2013至2015级学生的《计算机基础》成绩及《fireworks》成绩,是在学校教务部门,使用我校教务部门的教务管理软件下载得到,由于学校的管理软件的功能有限,所以下载的成绩是以班级为单位的。

    (1)数据的预处理。

    数据的预处理对与数据挖掘有着重要的作用,在本文研究的目标模型是多界学生的《计算机基础》及其后续学习课程的成绩,并且这些成绩是以Excel文件的形式保存的。其中包含的属性包含学号、姓名、平时成绩、期末成绩、总成绩、专业名称、课程名称、任课教师等。现在需要做的就是对这些数据进行集成和预处理。

    (2)数据清理。

    数据预处理的第一步就是处理缺失数据。通常情况下对于缺失值的处理方法包括:人工填写,使用最有可能的数值,忽略数值,平均值填充等方法。在处理《计算机基础》考试成绩的过程中发现大部分缺失值产生的原因是由于缺考造成的,所以对于缺失值的处理方法是忽略条目的方法。由计算机基础是第一学期的考试科目,所以缺考学生没有,得到有效数据2397条。

    (3)数据集成。

    我们需要将《计算机基础》,《fireworks》等科目的成绩集成在一个成绩表中,也就是数据集成。

    集成后数据表格包含《计算机应用基础》,《fireworks》考试成绩,每门课程包括平时成绩,期末成绩及总成绩,任课教师等属性。其中原始样本为2397个,经过预处理可以进行数据挖掘的样板数为2253个。本次数据挖掘样本有效率为94%。

    (4)数据的归约。

    经过数据集成后,我们还需要对数据进行归约,对数据进行离散化处理把连续型数据转换为离散型数据,可以使数据挖掘的结果更加直观简洁。在本文中我们通过数据集成,将学生的成绩数据集成到一个包含学号、姓名、专业类别、平时成绩、期末成绩、总成绩等属性的数据文件。首先我们研究的课题是利用决策树研究平时成绩与期末成绩和影响考试通过率因素。所以首先剔除《fireworks》的考试成绩,以及专业类别、任课教师属性。还因为姓名与学号两个属性是属于相关属性,也就是说姓名与学号是对应的关系,相互可以替代,但是姓名还有重名的可能,而学号是唯一的,所以将姓名的属性剔除。只保留学号,平时成绩,期末成绩,总成绩这些属性。

    对于决策树的构成最好使用离散型数值,这样可以使结果简洁,减少计算量。所以,我们需要将成绩库中的数据进行离散化处理。目前,期末考试的总成绩为100分,而评价学生通过考试的分数线为60分,所以,将总成绩属性离散化为两个部分,即:将高于60分的学生成绩转换为“yes”,分数低于60分的成绩转换为“no”。

    平时成绩占总成绩60%,满分为60分,按照平时成绩大于54分,小于等于60分;大于47分,小于等于53分;大于41分,小于等于47分;大于35分,小于等于41分;小于等于35分五个层次,将平时成绩分为“Super”“Hi”,“Mid”,“Low”,“No”五个等级。平时成绩分为Word,Excel,powerpoint及平时表现分数四个部分,其满分分别是20,20,10,10。将这些成绩按照满分的90%,80%,70%,60% 分成“Super”“Hi”,“Mid”,“Low”,“No”五个等级。

    与此同时,期末成绩占总成绩的40%,共40分,按照期末成绩分数大于35分,小于等于40分;大于31分,小于等于35分;大于27分,小于等于31分;大于23分小于等于27分;小于等于23分,分为“Super”“Hi”,“Mid”,“Low”,“No”五个等级。

    4.3 利用决策树做成绩分析

    使用SPSS Modeler软件中C5.0模型,得到运算结果。

    通过对结果的查看得到对于考试成绩影响最大的是“平时”部分,预测变量的重要性=0.36;然后是powerpoint和word部分,预测变量的重要性=0.23;而“出勤”部分对于是否通过考试的影响重要性为0.18。由此得出结论:对于判断一个学生是否通过考试的几个因素中平时成绩最重要,word,powerpoint和出勤情况的占比差不多,但是对于Excel部分的相关性却不是很强,但是由于对于学生来说word与Excel和powerpoint的重要性在学习和以后的应用中是同等重要的,所以应该加强考试出题中Excel的难度比重,如图1所示。

    提高Excel成绩与最终考试成绩的相关性,使教学的成果在考试中得到均衡的体现,更好的表现出考试的均衡性。通过对规则的研究可以得到一些有用的规则,我们发现如图2。

    IF powerpoint成绩是“Hi”或者“Mid”then 通过考试的比率为98.33%。其他的规则由于样本比例不是很多所以没有更多的挖掘意义。具体形成的决策树如图3。

    通過以上的数据挖掘,我们可以看出在众多影响学生成绩的因素中,平时成绩对学生最终成绩的影响是最大的。所以如果想要提高学生的最终成绩,就需要提高学生的平时成绩。而平时成绩主要是由考勤及平时几次考试的成绩决定的,因此如果希望提高学生的最终成绩一定要保证平时的出勤率,和平时的学习效果。

    另外,从以上的规则中我们还可以看出对于最终成绩影响较大的还有powerpoint部分,这部分知识点较简单,学习起来也较容易,因此比较容易拿分,因此需要提高其他方面知识点的分布,增强学生的学习效果。

    5 总结

    信息化技术的发展,对于高校这既是机遇又是挑战,笔者所在的学校的各个管理部门也在引入先进的管理系统,完善各自部门的管理。比如近些年学校陆续上了教务管理系统、学生管理系统、人事管理系统等等。这样使得笔者所在学校的管理水平上了一个台阶。升级新的管理系统为我校积累了大量数据资源。如何利用先进管理系统带来的宝贵的数据资源也为学校各界人士提出了问题。笔者尝试利用数据挖掘这样一个新兴的学科来对学校的数据进行一些分析,力图从中挖掘出一些隐藏在数据中的一些信息,为学校的建设提供科学的理论依据。

    参考文献

    [1]范佳凤,袁娟,许艳敏.基于成绩分析的大学教与学现状思考[J].现代商贸工业,2013,(03).

    [2]戎荷婷,王瑞玲,武晶,杨秋白.学生行为对学生成绩的影响探究[J].现代商贸工业,2016,(23).

    [3]臧琛,李景平,刘海亮,王景磊.工程训练学生成绩考核体系探讨与设计[J].现代商贸工业,2017,(09).

    更多相关内容
  • 我们要自己每一次的成绩进行分析,看看自己的优缺点在哪,要从哪里下手补救,那么你们知道成绩分析报告总结要怎么写吗?下面是学习啦为大家带来的成绩分析报告范文,希望可以帮助大家。成绩分析报告范文1:成绩对比...

    我们要对自己每一次的成绩进行分析,看看自己的优缺点在哪,要从哪里下手补救,那么你们知道成绩分析报告总结要怎么写吗?下面是学习啦为大家带来的成绩分析报告范文,希望可以帮助大家。

    4a805693bae655237620e82a6e0fca39.png

    成绩分析报告范文1:

    成绩对比分析报告

    首先分析第一个表格,2010-2012四个学期实验班级和非实验班级的平均分和及格率的变化情况:

    1、七(1)班为重点班中的实验班级,平均分依此为:55.9分→73.27分→74.02分→80.64分,每个学期比上一个学期依次增加17.37分→0.75分→6.62分,及格率依次为:39.22%→88.24%→90.20%→96%,每个学期比上一个学期依次增加49.02个百分点→

    1.96个百分点→5.8个百分点。平均分和及格率依次上升。

    2、七(2)班为重点班中的非实验班级,平均分依此为:65.7分→68.45分→71.77分→74.39分,每个学期比上一个学期依次增加2.75分→3.32分→2.62分,及格率依次为:70.21%→81.25%→85.71%→88.64%,每个学期比上一个学期依次增加11.04个百分点→

    4.46个百分点→2.93个百分点。平均分和及格率依次上升。上升的幅度明显没有实验班级上升的幅度大。

    3、七(3)班为平行班中的非实验班级,平均分依此为:38分→52.78分→50.25分→36.34分,每个学期比上一个学期依次增加14.76分→ -2.53分→ -13.9分,及格率依次为:5.08%→36.67%→30.77%→16.42%,每个学期比上一个学期依次增加31.59个百分点→ -5.9个百分点→-14.35个百分点。先上升然后下降。

    4、七(4)班为平行班中的非实验班级,平均分依此为:41.8分→55.91分→54.88分→40.53分,每个学期比上一个学期依次增

    加14.11分→ -1.03分→ -114.65分,及格率依次为:9.09%→41.67%→38.46%→25%,每个学期比上一个学期依次增加32.58个百分点→ -3.21个百分点→-13.46个百分点。先上升然后下降。

    5、七(5)班为平行班中的非实验班级,平均分依此为:41.4分→56.8分→51.42分→40.23分,每个学期比上一个学期依次增加15.4分→ -5.38分→ -11.19分,及格率依次为:10.17%→40.35%→38.71%→30.19%,每个学期比上一个学期依次增加30.18个百分点→ -1.64个百分点→-8.525个百分点。先上升然后下降。

    6、七(6)班为平行班中的非实验班级,平均分依此为:41.4分→50.25分→47.07分→38.36分,每个学期比上一个学期依次增加8.85分→ -23.18分→ -18.71分,及格率依次为:8%→24.56%→33.90%→28.85%,每个学期比上一个学期依次增加16.56个百分点→ 9.34个百分点→-5.05个百分点。先上升然后下降。

    7、七(7)班为平行班中的实验班级,平均分依此为:39.9分→57.04分→57.115分→45.79分,每个学期比上一个学期依次增加17.14分→ 0.075分→ -11.325分,及格率依次为:7.02%→42.87%→45.16%→49.06%,每个学期比上一个学期依次增加35.85个百分点→ 2.29个百分点→3.9个百分点。平均分先上升然后下降。及格率一直上升,但2011-2012的上升幅度下降。

    8、七(8)班为平行班中的实验班级,平均分依此为:44.4分→56.84分→57.21分→56.59分,每个学期比上一个学期依次增加12.44分→ 0.37分→ -10.62分,及格率依次为:10.53%→38.98%

    →45.51%→42.86%,每个学期比上一个学期依次增加28.45个百分点→ 6.53个百分点→-2.65个百分点。先上升然后下降。

    9、七(9)班为平行班中的实验班级,平均分依此为:36.7分→54.69分→56.03分→52.91分,每个学期比上一个学期依次增加17.99分→ 1.34分→ -13.12分,及格率依次为:5.26%→30.91%→43.10%→40.32%,每个学期比上一个学期依次增加25.65个百分点→ 12.19个百分点→-2.78个百分点。先上升然后下降。

    10、七(10)班为平行班中的实验班级,平均分依此为:39.5分→54.84分→55.45分→53.41分,每个学期比上一个学期依次增加15.34分→0.61分→ -2.04分,及格率依次为:8.93%→31.50%→42.86%→40.60%,每个学期比上一个学期依次增加22.57个百分点→ 11.36个百分点→-2.26个百分点。先上升然后下降。

    从以上不难看出,从2010-2012我校的生物成绩个班总的变化趋势基本相同,但实验班级比非实验班级上升的幅度大和下降的幅度小。

    二、现在分分析第二个表格,从表中不难看出:

    1、没有开展课题研究前(2009-—2010学年度第二学期):重点班中的非实验班级的平均分高实验班9.8分,及格率高出30.99个百分点。平行班中的非实验班级的平均分比实验班级高出0.6分,及格率高出0.15个百分点。

    2、开展课题研究后(2010—2011第一学期、2010—2011第二学期、2011—2012第二学期)

    (1)、重点班中的实验班级比非实验班级的平均分每学期依次增加4.82分、2.25分、6.25分;及格率依次增加16.99个百分点、4.49百分点、7百分点。

    (2)、平行班中的实验班级比非实验班级的平均分每学期依次增加1.92分、5.54分、13.31分;及格率依次增加1.92百分点、8.70百分点、18.09百分点

    3、2011——2012学年度第一学期我校实验班级和鸡场坪乡民族中学的生物成绩相比较:

    (1)、课题研究实验重点班与民族中学重点班比较:平均分比民族中学高30.55分、及格率高出66个百分点。

    (2)、课题研究实验平行班与民族中学平行班比较:平均分比民族中学高26.31分、及格率高出39个百分点。

    综合以上数据分析:

    1、开展小组合作学习除能培养学生各种综合能力之外,可以提升学生的学习成绩。

    2、开展小组合作学习更有利于层次比较好的学习的学习。

    成绩分析报告范文2:

    每学期做一次班级成绩分析报告,这是很有必要也很有意义的一件事。通过思考,我们不仅能看到一学期努力的结果,也看到学期中的缺点和不足,对今后的学习有很好的借鉴作用。

    2019-2020第一学期热能1111班的总体成绩差强人意。导致这一结果的主要原因是本班学生放松了学习,态度不够端正,从50%的挂科率可以看出,大家对自己的要求有所降低,对学习的热情大幅度下降。以下是具体的分析。

    一、考试成绩数据分析

    英语分析:

    我们班有一般的人已经过了英语四级,通过率达到了50%,剩下的人中一半以上的人达到70分以上,没有人不及格,这是我们班必修课中唯一一科没有挂科同学的科目,这是比较值得人高兴的,但这样的分数是不太理想的,我认为造成这个结果的原因有以下几点:

    大多数同学积极性不太高,虽然出勤率是100%,但上课认真听的人没有几个;

    1、多数同学不会按老师要求预习课文; 2、多数同学完成作业不认真并伴有抄作业现象;

    3、在老师教授完当天内容后多数同学不能及时做好复习巩固作业;

    4、部分同学对英语持无所谓态度,觉得不学也能过。

    理论力学分析:

    我觉得我们班的理论力学成绩还是比较可以的,是各科目中高分段最多的,其他同学也大多在70分以上,但还有6个人在及格线附近,以及2个同学不及格。

    上学期的时候,班中有少数同学上课时不太认真听讲,但我们理论力学的老师讲的还是不错的,提起了不少同学的积极性。

    大学物理分析:

    大学物理被公认为上学期最难学的一门课,虽然挂科的人比较少,但大多都悬在及格线附近,我想这里面也有老师的情面在里面,要不然挂的更多,80-90分数段的人还是比较多的,大学物理低分段

    人数较多的原因有以下几点:

    1、大学物理比较难学,导致多数同学学习兴趣下降; 2、老师讲课方式也是这其中的一方面因素;

    3、第三点也是最重要的一点,就是大家的不努力,总是等到考试的前几周才开始看书,这样的效果也只能是成绩在低分段徘徊了。

    工程热力学分析:

    这学期我们班挂的最多的就是工程热力学了,一共有8个,达到了全班的四分之一,差不多有一半的人在60-69分数段,说实话,这个成绩出乎我的意料之外,因为工程热力学的卷子并不是很难,很多重点老师都强调过,不说高分了,起码应该可以过,而且工热复习的时间也最长,我想原因有以下几点:

    工热结课的早,但考试却在最后面,在考完电工之后起码有半个月的时间没有课,很多同学觉得可以玩几天在复习工程热力学,结果到最后玩的心都收不回来了,导致工热复习不充分;

    另外,我觉得也跟大家的心态有关,那么长的时间没有课,只剩下复习工程热力学的任务,这对部分同学来说是好的,但对多数同学来说,频繁地只学这一科让大家觉得烦躁,静不下心来,复习效果自然差很多;

    部分同学没有自制能力,在无课的这段时间不会合理安排自己的时间;

    少部分同学在心态上对这个不在乎,过就过,挂就挂,心理上没有压力。

    电路理论和电工技术基础分析:

    电路和电工这门课也是低分段者居多,挂科的有三个,高分段的同学两门加起来也只有三个,对于我们班来说,这个成绩是很不理想的,可能大家把电工和电路这门课想得太简单了,而电工电路的试卷这次比较偏难,大家没有心理准备。

    概率论与数理统计分析:

    概率论这门课挂科的人也是较多的,一共有六个同学,这个结果也让人有些惊讶,概率论的老师讲的挺不错的,卷子也不太难,跟平时做的作业题题型差不多,我觉得原因跟工热差不多,大家在这个心态上没有把态度摆端正,对科目,对成绩不够重视。

    二、整体分析

    总体来说,我们班的成绩有些让人不想看,挂科人数达到了全班的一半以上,挂科门次达到了六门,多数科目低分段人数居多,高分段较少,但这其中也有值得一提的地方,有少数同学这学期的成绩可以说是突飞猛进,各科成绩都比较不错,是值得赞扬的。就平均分这一项来讲,我们班的成绩还是差些,每一科的平均成绩基本上都在60-75分数段,要提高班级成绩还需努力!!

    三、总结

    上一学期我们班的成绩下降了很多,为了使班级总体成绩有一个大幅度的提高,在以后的学习中,我们要做到以下几点:

    1、宿舍同学要相互督促,希望成绩好的同学不要自私,要负起责任,帮助同宿舍成绩较差及基础不扎实的同学,不能任舍友虚度光

    阴,同时舍长要调剂好各个舍友间的关系。

    2、现在各宿舍同学缺乏交流,各宿舍学习状况也有较大不同,我觉得班级里可以多一些集体活动,促进各宿舍间的情感交流进而延伸至学习交流,进行宿舍间的学习互助,促进全班一起进步。

    3、加强专业教育让同学多了解最近的就业形势,时常提醒他们明确自己的目标,如在成绩要以90分为目标而不是60,促进同学自主学习积极性。

    成绩分析报告范文3:

    ( 年 学期)

    专 业 课程名称 年 级 任课教师

    年 月 日

    注:本报告于考试后两周内完成,教研室主任,教学副院

    长审阅后交教务秘书存档。

    说 明

    期末课程考核,是学科教学的综合性测试,对学生考核成绩进行分析,一般 可从以下几方面进行:

    一、描述课程考核成绩的一般状态

    1.列频数分析表。为了更直观地反映学生考核成绩的分布状况、特点,可将 成绩按10分(或5分)的距离划分若干数段,数出每个分数段的成绩频数,列出 频数分布表,使每个分数段的人数及全班学生成绩分布状况一目了然。

    2.求平均成绩。平均成绩描述全班学生成绩的一般水平。如果每学期同一学 科考核试卷是等值的,还可以进行不同年级、同一学科学习成绩的比较。 二、分析试题、试卷的质量

    1.题目的数量是否合理,学生回答完问题的大约时间。

    2.试题的难度是否合适。所谓难度合适,是指命题符合教学大纲对学生应掌 握的知识、能力水平的基本要求。要结合学生回答问题的实际情况分析其难度。 3.题型的选择是否恰当。是否突出考查学生综合运用学科的基本观点、基本 理论和方法分析问题、解决问题的能力。 三、分析教学得失

    1.概括全班学生对问题回答的情况,如正确率、知识的掌握程度、运用情况 及错误程度等。

    2.分析学生在本学科学习中存在的主要问题。既要注意学生在知识的理解和 运用方面存在的比较普遍的问题,也要注意个别学生存在的比较特殊的问题。

    3.针对学生考试中反映出的主要问题,分析其原因,哪些是教师教学中的问题,哪些是教学条件或其它方面的原因等。 四、改进教学的设想和意见、建议。

    ↓↓↓点击下一页还有更多精彩的成绩分析总结与反思↓↓↓

    展开全文
  • 分析YOLOv3目标检测

    千次阅读 2020-11-18 07:26:30
    YOLOv3最大的变化包括两点:使用残差模型采用FPN架构。YOLO2曾采用passthrough结构来检测细粒度特征,在YOLO3更进一步采用了3个不同尺度的特征图来进行对象检测。 YOLOv3 的先验检测(Prior detection)系统将...

    前言

    YOLOv3模型比之前的模型复杂了,但是精度也提高了。YOLOv3最大的变化包括两点:使用残差模型和采用FPN架构。YOLO2曾采用passthrough结构来检测细粒度特征,在YOLO3更进一步采用了3个不同尺度的特征图来进行对象检测。

    YOLOv3 的先验检测(Prior detection)系统将分类器或定位器重新用于执行检测任务;将模型应用于图像的多个位置和尺度。

    论文标题: YOLOv3: An Incremental Improvement

    论文作者: Joseph Redmon Ali Farhadi

    论文地址:https://arxiv.org/abs/1804.02767

     

     

    改进之处

    • 多尺度预测 

    • 更好的基础分类网络(类ResNet)和分类器 DarkNet-53

    • 分类器-类别预测

    关键点:3个尺度的特征图、能

    展开全文
  • 对于分析一个学生的成绩趋势和学生成绩的正态分布是个模糊的概念,没有一个能够直观的判断出学生最近的学习情况和对学生成绩进行分析展示的平台。 1.2 国内外发展现状 随着网络技术的发展与普及,高等院校普遍对学生...

    项目运行截图

     

    基于 B/S 架构的高校成绩分析与管理系统的设计与实现

    第一章 绪论

    学生的不断增多,学生的考试管理也增大了教师的负担,现社会尚存的系统功能简单,且缺少分析功能导致学生不能及时了解学生成绩趋势。针对相同课程不同专业成绩情况,系统提供了成绩对比功能,能更好的展示不同专业相同课程成绩的差异。教师还可以了解课程成绩正态分布,了解学生考试成绩分布情况,在线查看课程等功能。

    现阶段学生的成绩管理还处于信息半自动化的状态,这种信息半自动化的成绩管理系统已无法满足针对教师对学生成绩的管理与分析学生成绩的问题,为了提高教师对学生成绩的管理效率,减少繁琐的人工管理步骤,能实时监控学生考试动态及趋势分析,可查看同一课程不同专业成绩对比情况,对成绩的正态分布直观浏览,可批量管理用户和成绩信息操作,所以急需开发一款功能完善且实用的成绩管理系统。

    1.1 研究背景

    目前来说,很多学校对学生成绩的管理尚还处在信息半自动化的操作的状态。这样势必会造成资源浪费,而且有一部分的成绩分析还是需要人工进行操作,错误的机率也是比较高的,人为因素的影响也是非常大的。对于分析一个学生的成绩趋势和学生成绩的正态分布是个模糊的概念,没有一个能够直观的判断出学生最近的学习情况和对学生成绩进行分析展示的平台。

    1.2 国内外发展现状

    随着网络技术的发展与普及,高等院校普遍对学生考试成绩重视,对学生成绩的管理工作也得到了极大的挑战,成为了重要教学任务之一。

    最早成绩管理系统主要立足于学校对学生的成绩管理上,不侧重对学生成绩趋势分析,不能及时发现学生最近的学习状况,更不能了解学生成绩分布和实现不同专业相同课程成绩之间的对比。近几十年,只有小部分公司开发出了成绩管理系统。而这些系统还未占有市场,且功能较为单薄,不具有针对成绩趋势分析能力,只是对成绩进行简单的管理功能。

    针对现存问题,人们迫切要求利用网络技术进行管理,以快捷方便的有效的管理模式下,提高工作效率。同时,也可以提高学生的学习质量,激发学生的学习动力。为顺应时代发展,于是开发出了分析型成绩管理系统。

    1.3 主要研究内容

    分析型成绩管理系统主要解决了高校教师对学生成绩的上传、修改、查看班级内学生的排名情况和系统对学生的近期成绩分析呈现的趋势图进行查看,实现不同专业相同课程成绩对比情况的查看,浏览学生成绩的正态分布情况,系统还提供了课程表的功能。管理员主要维护系统信息,对系统用户的管理,提供可批量操作功能,对用户信息可批量导入导出,设计与实现一款极其人性化的管理系统。

    教师可对学生成绩进行编辑,可从系统中导入导出 Excel 中以便批量管理,可将录入好的 Excel 表格文档导入到系统进行分析,针对学生成绩进行排名,系统智能分析每个学生每次考试成绩,将成绩以折线图的形式展示出来。系统将学生成绩进行分析处理,展示出学生成绩正态分布图的效果,针对不同专业相同课程的成绩对比情况查看,有效提高教师对成绩情况的了解与知情。教师对学生成绩的管理不局限于办公室,可在家通过网络办公,实时更改学生成绩信息,有效的提高了教师工作效率和解决了对成绩管理的局限性问题,进一步对学生成绩管理加以完善。教师还可以查看自己的授课安排,合理安排时间备课,极大提高了教师在教学工作中的工作效率和课堂效率。

    批量导入功能的实现采用阿里开源框架 EasyExcel 框架进行解析,主要是通过导入文件流来读取文件内容,导入的文件需要遵循一定格式系统才可正确读取文件内容,通过对文档的逐行读取,解析内容,将所需数据插入到对应的数据库中。批量导出功能使用 layui 框架本身包含组件来完成,将勾选的内容读取并输出到 Excel 中,方便用户查看获取。

    分析结果趋势图、成绩正态分布图和成绩对比结果图主要使用 ECharts 折线图来实现,通过官方案例,赋值给相应的 X 轴、Y 轴对应的 JSON 串格式的数据即可。后台根据查询条件,组装结果集,将数据封装成相应的 JSON 格式数据发送到前端展示。

    学生可以通过系统了解自己的考试成绩和成绩趋势,通过查看系统对成绩的分析结果来判断自己学习状态和近期境况,还可以通过查看所在班级的排名进行判断自己的学习情况。对于学生课程安排情况,学生也可通过系统进行查看。

    第二章 系统开发环境简介

    2.1 开发环境及工具简介

    系统采用 Java 语言开发,使用的 IDE 为 Eclipse,Eclipse 为使用 Java 语言开发的开源开发工具[4],针对不同语言和不同环境,Eclipse 几乎都有相应的版本和对应的集成环境。开发 Java 环境为 JDK1.8,系统采用 B/S 架构开发,使用的服务器为 Tomcat8.5。

    Eclipse 最早为 IBM 开发的商业软件,使用 Java 语言开发的 Java 集成开发环境,后来 IBM 把 Eclipse 贡献给开源社区来维护,成立了 Eclipse 基金会,一时间吸引了众多开发者们的关注,众多的开发者对 Eclipse 功能不断完善,使 Eclipse 变成了功能强大、覆盖语言众多的集成开发环境,具有便捷的快捷键和联想功能,受到了广大开发者的青睐,逐渐让 Eclipse 使用者增多。

    Tomcat 是由 SUN 公司设计开发的 Web 应用服务器,后来贡献给了 Apache 基金会[6],由于有 SUN 公司的支持,Tomcat 对于很多新特性都能及时的支持,不断的 Web 开发者渐渐增多,成为了 JavaEE 开发者们的青睐[6]。现在也有很多比较规模比较大的,且并发量较高的公司在使用 Tomcat。Tomcat 成为了越来越受欢迎的 Web 应用服务器。

    2.2 Java 语言简介

    Java 最早所属公司为 SUN 公司开发的,后来被 Oracle 收购,收购后 Oracle 对 JDK 具有较大更新,不断的优化和增加 Java 语言开发功能和特色。Java 是一种跨平台的开发语言,提出了“一处开发,到处运行”的理念[10],广受开发者们的青睐,Java 开发者不断的增加,成为了近几年最受欢迎的语言,Java 拥有庞大的开发者群体,经过市场上的摸爬滚打,不断成为编程语言之首。

    Java 在服务器开发拥有较大的优势,因为 Java 性能稳定,且具有强大的工具包,针对 Web 开发也有非常多的框架,例如 Struts、SpringMVC、Spring、Hibernate、MyBatis 等框架,这些框架简化了开发者的开发维护和拓展功能工作,极大的缩短了 Web 后端开发周期,导致 Java 具有庞大的用户群体。

    2.3 SpringBoot+SSM 框架简介

    JavaWeb 从一开始的 Servlet+JSP 开发,后来提出了 MVC 模式,通过分层来简化模块开发,对于维护项目和开发工作都有较大的改善。后来有了针对 MVC 设计模式的分层框架,SpringMVC 是针对于控制层,也就是 Controller 层的框架,Spring 框架和 MyBatis 框架属于 Model 层,View 层为视图层,展示给用户的界面,例如 HTML 界面等。

    SpringMVC 框架主要是控制层请求的框架,是基于 Servlet 开发的轻量级框架,能够和 Spring 框架进行无缝整合。框架支持国际化、格式化转换、类型自动转换等功能,提供了丰富的控制层所用的功能。

    MyBatis 框架为业务层之后的持久层,主要作用是操作数据库,是轻量级持久层框架。相对于 Hibernate 框架有很多优点,Hibernate 是一个相对重量级的持久层框架,对于 MyBatis 它是一个完全面向对象自动化的框架。MyBatis 上手快,使用简单,也是目前企业中使用的最多的持久层框架,极大的简化重复连接、断开连接操作过程,使用动态代理技术完成数据库操作的框架,也有较多的基于 MyBatis 的工具框架,丰富了框架的功能、简化了开发流程,促使 MyBatis 成为当前较为流行的持久层框架。

    2.4 MySQL 数据库简介

    MySQL 数据库是一款体积较小、开源且拥有数据库必需的功能[5],相对于 Oracle、SQLServer 数据库也毫不逊色,由于 MySQL 是一款免费的数据库软件,所以使用者也是非常之多,对于 Oracle 可以完成的功能和性能,企业都可以通过硬件和优化来实现,通过 MySQL 集群来提高数据库性能。MySQL 可以较少商业公司的成本支出,对于研究和学习都有很好的用途。MySQL 作为免费开源的数据库之首,在国内外都有很高的知名度,且用户群体也是相当之大,可以完美支持一个中小型网站的数据仓库,大型网站也可以采用 MySQL 集群的方式来支持,减少每个数据库的压力。MySQL 支持常用平台,例如 Linux、Windows、Mac 等操作系统都有相应的版本支持,对于不同平台的兼容性都很好。所以 MySQL 也是本次毕业设计项目高效成绩分析与管理系统的首选数据库。

    第三章 系统分析

    系统分析是设计系统和系统实现的基本条件,其主要是从系统用户的角度和用户的需求对系统需求彻底的分析和设计[1]。系统分析是对系统进行充分了解和设计实现系统不可或缺的过程,把复杂的系统通过分析来找出问题并解决问题,得到的结论和设想,并提出准确且有效的解决方案。

    3.1 系统目标

    本系统通过深入调查现在我国高校成绩管理业务和管理工作流程,最终确定了该系统的详细需求。通过本系统不但减少了教学成本的支出,而且便于学校及教师对学生成绩进行管理和分析学生成绩。本系统主要适用考试成绩管理需求的高校,为有学校管理成绩与教师分析学生成绩提供了极大的便利。

    3.2 系统的需求分析

    在软件设计中比较关键的一步就是需求分析,只有通过需求分析了解到用户的需要,才能设计出令用户满意的软件[1]。需求分析有利于减少软件成本,在需求分析过程中往往会发现系统不足,还可充分了解明确系统的需求功能,从而增加系统设计和开发过程中的效率。需求分析从以下两方面进行分析。

    3.2.1 性能需求分析

    系统的性能需求分析可以从性能、安全性、可靠性、易用性、兼容性、可移植性和可扩展性可维护性七方面进行分析[1],分析如下。

    (1) 性能

    系统配置的硬件环境应该高于系统必须要求的最低标准,系统运行时应有足够空间和完善的配置[1],以便能够充分发挥系统运行时的性能。

    (2) 安全性

    对于用户信息的安全保密,系统会保证用户的密码采用加密形式存储,在未登录未授权未系统认证通过的用户不可访问浏览系统内部数据,保证用户信息的安全。通过权限控制的方式限制角色拥有的权限,进而控制用户的功能,保证系统数据安全。

    (3) 可靠性

    当任何用户在任何时间访问系统时,系统都可以使用并能准确无误的完成操作,所有功能保持可用状态,保证用户随时访问。

    (4) 易用性

    对于学生或老师登录后,系统会提供一个简单舒适的页面效果,针对布局满足了人性化设计,能够让用户上手即可熟练操作,产品的设计充分考虑到了使用者的习惯,能够让用户很容易的上手操作。

    (5) 兼容性

    系统服务采用 Java 语言开发,所谓一处编译到处运行的理念,可以运行在 Linux、Windows、Mac OS 等可安装 Java 虚拟机的平台上,对于提供的服务是一样[4]。

    用户在使用过程中可能会习惯于不同的浏览器,对于兼容不同的浏览器,系统需要支持主流浏览器的使用。

    (6) 可移植性

    由于 Java 开发系统可以跨平台使用,所以对于不同平台部署时,计算机的配置不尽相同,所以只需修改 Java 虚拟机的内存配置参数即可完成部署,可移植性良好。

    (7) 可扩展可维护性

    系统服务层采用接口与实现类的形式开发,对于后期要扩展相应的功能只需实现相应的接口编写对应的实现类接口,有效的降低了代码的耦合性,对系统的可扩展提供了保障。

    系统中添加了日志跟踪,对于运行时可能会出现系统异常通过日志跟踪记录即可定位到异常的代码段,修改后重新部署到服务中,即可完成对系统的修复和改进。

    3.2.2 功能需求分析

    系统的主要功能主要是实现了管理员管理系统的基本信息,教师对学生信息的维护,学生查看和维护个人信息等功能,下面针对这三个身份登录后的功能来分析,分析如下:

    (1) 管理员登录功能分析

    管理员维护教师、学生用户信息,对学生成绩的上传和查看,成绩单的导入导出。可以查看指定学生的学习情况。可查看不同专业相同课程成绩对比结果,还可查看不同年级之间成绩对比情况。可通过成绩正态分布图可直观了解学生成绩分布情况,课程模块则可以对课程进行管理,安排课程学习周数和周长。管理员可维护系统的基础信息,例如学院专业班级信息、用户信息、角色权限信息、系统监控信息等功能。

    系统管理员拥有系统的所有权限。

    (2) 教师登录功能分析

    教师登录后可以对所授学生进行管理,主要是对学生成绩的维护管理等功能,可以查看班级内学生的排名情况,对指定学生成绩查看分析结果,通过分析结果进行因材施教。可查看本专业学生成绩分布图,快速了解学生成绩情况,可对比指定课程不同专业之间成绩差异情况。教师还可以对课程进行查看,可查看自己所授课程和所在专业的课程,方便教师能更好的合理安排时间备课。

    (3) 学生登录功能分析

    学生登录后可以查看自己的考试成绩,并可以浏览所在班级内的排名和其他同学的成绩,系统会通过成绩分析生成学生成绩趋势图,学生可以通过浏览自己的成绩趋势图来判断自己的学习状态。学生可查看本班级课程表。

    3.3 可行性分析

    (1) 技术可行性研究

    由于系统主要面向的是学校的学生,所以对系统的并发要求不是太高,所以对服务器的性能要求不高,对于一般的服务器即可能承受住访问,所以硬件条件要求不是太高。

    使用现在 B/S 架构主流的 SpringMVC、Spring、MyBatis、SpringBoot 等框架开发,使用 Druid 连接池,使用框架极大的提高了开发效率,对后期维护有很大帮助。系统对成绩分析功能实现主要使用百度的 ECharts 实现折线图来展示成绩趋势图、成绩对比图和成绩分布图。批量导出使用 layui 内嵌组件实现文件的导出功能。批量导入实现使用阿里的 EesyExcel 工具实现,在 Apache 开源 POI 解析 Excel 基础上做了进一步优化,完美实现批量导入用户和成绩信息的功能。

    综上所述,该系统的设计开发完全符合用户需求,技术上能够达到功能上和性能上的需求[12],在技术上是可行的。

    (2) 经济可行性

    系统适合大多数学校使用,且大大提高了工作效率,主要体现在以下几个方面:

    首先,该系统的运行可以代替人工减少许多重复和复杂的工作;

    第二,系统的运行可以节省大量的费用及时间;

    第三,现学校经济条件较优越,办公电脑普遍;

    因此,本系统在经济上是可行的。

    (3) 社会可行性

    学生人数也逐年增加,学校的管理工作日益繁多,学生成绩管理涉及到大量的数据处理,针对学生成绩趋势分析需要有新的突破,迫切需要一个分析型成绩管理系统来完成这项工作。

    第四章 系统设计

    4.1 系统设计原则及目标

    分析型成绩管理系统主要为了解决学校管理学生成绩问题,为了提高学校教师工作效率,实时查看分析学生成绩趋势,学校对学生成绩达到统一管理的目的。严格按照软件工程学步骤进行系统设计,通过系统设计提高系统实现效率与质量。

    4.2 系统架构设计

    系统采用 B/S 架构实现,使用应用服务器 Tomcat 部署,前端采用 layui 实现,后端使用 SpringBoot+SSM 框架开发,数据库连接池使用 Druid 框架,前后端分离思想开发。

    分析型成绩管理系统主要分为三个身份,管理员、教师、学生,不同身份权限不同,采用 Shiro 框架实现权限控制功能。前后端交互使用异步请求方式实现,提高用户体验度。

    4.3 系统功能模块设计

    分析型成绩管理系统是根据角色不同来划分的功能模块,每个角色有不同的功能。因此,一个功能完善、满足基本需要的学生成绩管理系统需要包含管理员功能模块、教师功能模块和学生功能模块。系统的功能结构图,如图 4-1 所示。

    图 4-1 系统功能结构图

    系统所有有功能流程图,如图 4-2 所示。

    图 4-2 系统功能流程图

    4.3.1 用户管理

    系统用户的管理可通过管理员和教师来操作,管理员可对系统所有用户进行管理,教师只可对本专业学生进行管理操作,系统提供批量操作功能,可批量导入导出用户列表,极大提高了用户管理工作的效率。

    批量导出功能是通过前端框架 layui 自带组件实现,可选择性的导出所需数据到 Excel 文档中。批量导入功能使用 EasyExcel 工具来实现,导入文档只需按照一定格式编写,系统会自动识别内容,将内容记录逐条插入到数据库中,优化了管理工作中只可单条添加的局限性。

    用户管理模块中,可查看指定学生的成绩趋势图,当点击指定用户时,系统通过获取用户编号来查询数据库,通过学生每学期的考试成绩计算出学生每学期的总成绩,通过 ECharts 来展现成绩趋势图。

    4.3.2 成绩管理

    管理员和教师可对成绩进行管理,管理员可管理所有专业的成绩,而教师只可管理本专业成绩。成绩管理提供批量导入导出功能,每一条记录都可点击查看详细信息。系统提供批量删除功能和成绩录入修改功能,优化了教师对学生成绩管理的流程。

    批量导入的文档需要按照指定格式编写,系统会分析文档内容进行数据库录入,系统会将按照成绩排名展示成绩列表。可按照学号、姓名模糊搜索学生成绩,可通过学年、学期来筛选指定学生成绩。系统自动统计排名,可对录入好的成绩进行修改操作。

    学生只可查看本班级同学的成绩和排名情况,教师可查看本专业的成绩,管理员可查看所有学生的成绩。成绩展示列表以每学期总成绩计算。

    4.3.3 成绩分析

    系统会将学生成绩通过每个学期考试成绩进行分析统计,根据每个学期考试成绩绘制折线图,很直观的展示出学生的趋势走向。

    不同专业不同年级相同课程之间成绩对比的实现是通过柱状图的形式展示,直观了解到成绩的差异性,柱状图的值代表成绩的平均分,通过不同专业间平均分的高低来衡量成绩的差异。通过对比条件不同来筛选该课程不同条件下的平均成绩结果。

    成绩的正态分布图的实现是通过指定专业班级课程信息来展示成绩的分布情况,使用柱状图与折线图的形式展示,不同分数段之间人数的差异与分布情况。通过每隔 10 分一组进行检索该成绩段的人数,响应数据并展示。

    分析功能的图表主要使用 ECharts 工具完成,将后台响应数据填充到图表中进行展示。

    4.3.4 课程管理

    管理员可管理课程,指定专业班级填写课程名称即可添加课程信息,提供增、删、改、查等功能。课程主要涉及到的信息有所属学院、专业、班级、年级、学年、学期、课程名称等信息。

    4.3.5 课程表管理

    课程表根据设置的上课时间、教师、周数、节数来展示课程安排,可对已安排的课程进行编辑删除操作。

    课程表展示 jQuery 插件 Timetables 实现,获取课程表数据通过查询数据库当前专业信息和周数来查询指定课程表数据,并展示到前端界面。

    4.3.6 系统信息管理

    系统信息包括学院专业信息、年级信息、角色权限信息、登录日志信息和系统监控进行管理维护。管理员可对系统信息进行维护管理,以便系统能够正常运行。

    4.4 数据库设计

    数据库技术是互联网必需的基础,也是互联网项目不可或缺的重要技术。数据库的诞生,大大提高了计算机操作复杂数据的效率,简化了数据管理的复杂度。数据库设计也是完成一个拥有可扩展性、易操作性的系统不可或缺的重要环节。

    4.4.1 数据库设计步骤

    数据库设计按照系统使用用户角色进行模块化分析,主要针对管理员、教师、学生身份进行逐个分析,不同身份不同权限,通过建立索引进一步优化数据库设计。

    针对以上涉及的表进行概念上和逻辑上的分析,完成对表间的关系及表内的字段进行分析。不断完善数据库设计,从而能够更顺利的支持成绩管理系统的开发工作。

    4.4.2 数据库概念设计

    (1) 系统用户、成绩、课程之间是有联系的,三者关系为一对多。关系如图 4-2 所示。

    图 4-2 用户成绩课程关系图

    (2) 系统用户、学院专业班级、年级之间是有联系的,学院专业班级与系统用户是,一对多的年级与系统用户是一对多的关系。关系如图 4-3 所示。

    图 4-3 系统用户学院专业班级年级关系图

    (3) 系统用户、角色、权限之间是有联系的,三者关系是 1 对多的关系。关系如图 4-4 所示。

    图 4-4 用户角色权限关系图

    4.4.3 数据库逻辑设计

    对系统的需求分析后,以下做出了对数据库的逻辑设计,并通过设计进行对数据库优化改造,遵循数据库管理原则,针对数据库优化做进一步完善。

    教师负责对学生成绩的管理,主要是对学生成绩的编辑,以及查看自己所在班级成绩的查看,可以查看自己的课程情况。教师主要涉及的表有用户表、成绩表、课程表。

    学生登录后可以查看自己所在班级的成绩情况,可查看个人成绩以及成绩分析趋势图,可查看自己的课程表。主要涉及的表有成绩表、课程表、用户表。

    管理员主要功能是维护系统必需信息,主要涉及的表有用户表、课程表、成绩表、年级表、学院专业班级表、录日志表、权限表、角色表、角色权限表、用户角色表。

    主要的数据库表如下所示。

    (1) 课程表(info_course 表)

    课程表数据结构,如表 4-1 所示。

    表 4-1 info_course

    fba80320af058648455704b73c5d0255.png

    (1) 学院专业班级信息关系表(info_college_subject_class 表)

    学院专业班级信息关系表数据结构,如表 4-2 所示。

    表 4-2 info_college_subject_class

    字段名中文含义数据类型是否为空主键或外键
    id唯一标识int(11)主键
    name名称varchar(20)
    order_number排序号int(3)
    parent_id父 idint(11)
    type_number类型int(1)
    create_time创建时间datetime
    update_time更新时间timestamp

    (2) 成绩表(info_score 表)

    成绩表数据结构,如表 4-3 所示。

    表 4-3 info_score

    字段名中文含义数据类型是否为空主键或外键
    id成绩编号int(11)主键
    score成绩decimal(5)
    course_id课程 idint(11)外键
    student_id学生 idint(11)外键
    college_id学院 idint(11)外键
    subject_id专业 idint(11)外键
    class_id班级 idint(11)外键
    grade_id年级 idint(11)外键
    school_year学年varchar(10)
    semester学期tinyint(2)
    create_time创建时间datetime
    update_time更新时间timestamp

    (3) 课程信息表(info_course_timetable 表)

    课程信息表数据结构,如表 4-4 所示。

    表 4-4 info_course_timetable

    字段名中文含义数据类型是否为空主键或外键
    id编号int(11)主键
    class_info上课信息text
    week_num周数int(5)
    teacher_id教师 idint(11)外键
    teacher_name教师名称varchar(20)
    course_id课程 idint(11)外键
    create_time创建时间datetime
    update_time更新时间timestamp

    第五章 系统实现

    5.1 数据库连接和操作的实现

    数据库连接采用 Druid 做连接池,数据库采用 MySQL 数据库,持久层主要使用 MyBatis 框架进行操作数据库。

    数据源配置如下:

    spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssms?useUnicode=true&characterEncoding=utf8

    spring.datasource.username=root

    spring.datasource.password=root

    spring.datasource.driver-class-name=com.mysql.jdbc.Driver

    spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

    5.2 系统功能的实现

    5.2.1 系统登陆实现

    登录功能使用 Shiro 权限控制框架实现,通过给不同用户分配不同角色,不同角色对应不同功能来控制用户权限。用户登录认证,通过验证账号密码是否存在来认证。

    展示目录结构,通过查询当前用户所属角色,判断拥有权限,通过权限标识符获取所有功能菜单列表,通过 Java 递归算法,依次排列父子目录关系。

    (1) 管理员功能菜单列表

    管理员登录后展示的功能菜单,如图 5-1 所示。

    图 5-1 管理员功能列表界面

    (2) 教师功能菜单列表

    教师登录后展示的功能菜单,如图 5-2 所示。

    图 5-2 教师功能列表界面

    (3) 学生功能菜单列表

    学生登录后展示的功能菜单,如图 5-2 所示。

    图 5-3 学生功能列表界面

    5.2.2 管理员身份功能实现

    管理员主要管理系统信息,例如用户角色权限、学院专业班级信息、年级、成绩、课程信息管理。

    添加用户操作业务逻辑实现,需要判断用户名是否已存在,是否分配角色权限,分配权限是否合法,根据角色名称判断用户类型,通过后插入到数据库中。用户管理界面,如图 5-4 所示。

    图 5-4 用户管理界面

    增加或修改成绩信息,需要首先删除当前学生相关联的成绩信息,然后添加成绩信息。

    5.2.3 教师身份功能实现

    教师可以查看班级成绩、班级课程、我的课程等功能。查看课程表界面,如图 5-5 所示。

    图 5-5 查看课程表界面

    查看我的课程,根据专业、年级、班级、上课时间获取课程计划信息。

    查看班级成绩信息,采用 PageHeper 来进行分页查询,获取根据成绩排序的结果集。

    查看班级成绩信息核心算法 SQL 实现,通过所在专业、班级、年级筛选成绩信息并统计,通过学生编号、学年、学期进行分组查询,使用聚合函数 sum 计算总成绩。成绩管理界面,如图 5-6 所示。

    图 5-6 成绩管理界面

    查看成绩正态分布图,根据所选条件,将成绩划分为 10 个等级,统计成绩所在每个等级的人数,并根据要求数据格式进行展示。

    查看成绩对比,根据不同条件的设置,指定课程不同专业年级下进行分析对比,分别计算不同条件下课程的平均成绩。核心技术使用聚合函数 AVG 计算平均成绩:

    SELECT
    avg(s.score) scoreAvg
    FROM
    info_score s
    <where>
        <if test="gradeId != null">
            AND s.grade_id=#{gradeId}
        </if>
        <if test="collegeId != null">
            AND s.college_id=#{collegeId}
        </if>
        <if test="subjectId != null">
            AND s.subject_id=#{subjectId}
        </if>
        <if test="classId != null">
            AND s.class_id=#{classId}
        </if>
        <if test="courseName != null and courseName != ''">
            AND s.course_id IN (SELECT c.id from info_course c where c.name=#{courseName})
        </if>
    </where>

    5.2.4 学生身份功能实现

    学生可查看班级成绩、个人成绩、成绩趋势等信息。

    班级成绩按照学生所在专业班级进行筛选并排序。班级成绩界面,如图 5-7 所示。

    图 5-7 班级成绩界面

    个人成绩获取,通过学生所在专业班级信息获取课程成绩并按照成绩的录入时间进行排序。

    获取成绩趋势信息,通过学年、学期分组查询学生每个学期总成绩,将查询出的数据按照前端要求了数据格式进行传输。核心算法是哦那个分组查询、排序、sum 函数,实现如下:

    SELECT
        s.school_year AS schoolYear,
        s.semester,
        sum(s.score) AS yData
    FROM
        info_score s
    WHERE
        s.student_id = #{studentId}
    GROUP BY
        s.school_year,
        s.semester
    ORDER BY s.create_time

    5.3 实现过程中的问题与解决

    在系统的设计、开发、上线过程中也遇到一些问题,下面就系统实现过程中遇到的问题及解决整理总结如下。

    (1) 系统需求功能的确定

    对于成绩管理系统,市场上也有很多简单的实现,开发一款功能强大具有分析功能的成绩管理系统需要充分分析系统功能,通过在浏览知网上的学术论文来收集自己需要的功能需求。

    需求预定三个身份登录拥有不同权限,后查阅资料 Shiro 可实现权限控制,通过网上资料学习,掌握 Shiro 权限框架的基本使用,完成系统的权限控制功能。

    (2) 技术解决方案的问题

    为了让平台可适配多个浏览器版本,选择了 layui 做系统前端框架,通过官方文档的学习开发本系统。

    后端实现采用了框架实现,使用原生的 Servlet 开发较繁琐,框架开发提升了开发效率和系统运行性能。

    系统实现分析功能的过程中,由于手动绘制折线图不美观,所以使用了百度开源的 ECharts 插件来展示分析结果图。后端获取数据根据学生每个学期成绩总和为一节点,绘制成绩趋势图。

    (3) 上线部署过程中的问题

    在使用外网服务器搭建部署环境时,系统出现数据库连接异常,导致运行失败,后查资料发现 MySQL 数据库默认不允许远程主机连接,需要手动授权,修改使用 root 用户登录允许任何主机连接。主机防火墙需要开放 3306 端口。

    第六章 系统测试

    6.1 系统功能测试设计

    系统包含三个身份的不同功能,依次验证系统不同功能,不同权限下功能使用问题,针对不同角色功能设计测试用例,对不同的功能进行依次测试。

    6.1.1 登录验证模块测试

    系统采用 Shiro 权限控制框架控制系统不同身份的管理分配的权限不同,通过验证账号信息来确定当前登录用户的身份来分配指定的权限,进而控制用户的功能。

    本机测试浏览器输入 http://localhost:8080/login 进入登录验证模块,对于不同身份展示的菜单不同。

    6.1.2 管理员身份功能测试

    管理员登录可对成绩信息、课程信息、课程表、学院专业班级信息、年级管理、用户角色权限管理和查看登录日志、系统监控功能。

    成绩管理可根据年级、学院、专业、班级、学年、学期等信息进行筛选管理及查看导入导出、搜索功能测试。成绩管理界面,如图 6-1 所示。

    图 6-1 成绩管理界面

    课程管理可根据年级、学院、专业、班级、学年、学期等信息进行筛选管理及查看导出、搜索功能测试。

    课程表管理根据年级、学院、专业、班级、学年、学期、周数查看课程和对课程的编辑功能测试。

    用户管理对系统所有用户进行管理,支持单条添加,也可批量导入用户,支持导出功能。

    角色管理针对角色不同可进行权限分配和对角色的管理等功能。

    权限管理是通过访问标识符对系统目录结构进行管理。权限管理界面。

    登录日志查看系统用户登录日志,导出功能测试。

    系统监控功能是 Druid 框架自带功能,可查看系统访问、数据库、请求响应时间等系统信息的查看功能。

    6.1.3 教师身份功能测试

    成绩管理界面,根据教师所在专业回显,可查看课程表和对本专业用户管理。

    班级成绩根据教师所在专业回显,提供导出搜索查看功能。

    教师提供我的课程功能,可查看当前登录教师的课程安排。我的课程界面,如图 6-2 所示。

    图 6-2 我的课程界面

    教师可查看不同专业、班级相同课程成绩对比结果差异情况。成绩对比界面,如图 6-2 所示。

    图 6-3 成绩对比界面

    可查看学生成绩正态分布图。成绩分布界面,如图 6-4 所示。

    图 6-4 成绩分布界面

    学生可查看班级成绩、班级课程表、本班级用户信息。

    学生可查看个人成绩,可根据学年、学期进行筛选。个人成绩界面,如图 6-3 所示。

    学生可查看自己成绩趋势,通过系统分析图表信息,来了解学习情况。成绩趋势界面,如图 6-4 所示。

    6.2 系统兼容性测试设计

    通过使用 IETester 和 Spoon Browser Sandbox 两款工具进行兼容性测试。IETester 可以同时对 IE 的不同版本进行兼容性测试,Spoon Browser Sandbox 通过在浏览器中安装插件来运行不同浏览器模块实现兼容性测试,Spoon Browser Sandbox 可以覆盖主流浏览器[11],如 Chrome、Opera、Firefox、Safari、Edge。具体测试版本,如表 6-1 所示。

    表 6-1 Windows 浏览器兼容版本

    浏览器版本Windows 平台Mac 平台Linux 平台
    ChromeV74
    ChromeV64
    ChromeV59
    OperaV60
    OperaV45
    IEV7×
    IEV9
    IEV11
    EdgeV46
    360V10
    360V8
    FirefoxV68
    FirefoxV66
    FirefoxV59
    SafariV12
    SafariV5

    第七章 结论

    本文是针对高等院校中存在对学生成绩管理问题的分析及所设计的高校成绩分析与管理系统的论证,本系统主要是为了提高教师对学生成绩统计与管理工作的效率,提供一个高效便捷的管理平台。教师可以方便的通过本系统进行在线办公,管理学生成绩,查看学生成绩正态分布图,了解学生成绩分布。可查看对比不同专业班级相同课程成绩差异情况。教师可以查看自己的课程方便合理安排上课时间。学生可以登陆系统进行查询自己的考试成绩,查看成绩分析趋势图,能够及时调整自己的学习心态。对学生成绩的分析功能是系统的核心亮点。

    系统采用 B/S 架构开发,使用框架开发,可降低代码耦合性,提高代码可扩展性。框架选择为 SpringBoot 和 SSM 框架,对前端展示使用了 layui 框架,布局简单美观,便于开发;成绩趋势展示、成绩对比结果、成绩正态分布图均使用了百度开源工具 ECharts 开发实现;系统中对用户、课程、课程表、成绩的管理功能提供了批量导入导出功能,导出使用了阿里巴巴开源工具 EasyExcel 实现,其性能上优于 Apache 的 POI;查出功能使用的是 layui 自带组件 upload 实现,通过前端来生成 Excel 表格。

    高校成绩分析与管理系统使用了当前最流行的框架,有效提高了开发效率,对系统的表结构的设计使用了 PowerDesiner 来实现,通过按照不同身份来分析进行设计表结构,最终在实际开发过程中进行优化,最终得到了符合本系统的数据库设计结果。

    本系统不仅解决了高校成绩管理的需求问题,还提供了学生成绩分析功能,可查看成绩的分析趋势、对比结果和正态分布,系统提供的智能分析功能也将是高校成绩管理系统的必然趋势!

    谢 辞

    在大学的四年里老师对我的帮助很大,同时也影响了我的人生,老师不仅传授了知识,而且还教会了我做人的道理。通过大学的学习,让我有了能在社会立足的看家本领,不仅改变了我以后从事的行业,而且对以后的人际交往能力有了很大提升。在大学的最后一次作业——毕业设计,我能很顺利的完成作业,必然离不开赵老师的帮助与支持,赵老师从论文题目指定到设计实现和论文书写严格把关,确保我能更好更快的完成别业设计,赵老师在我的毕业设计与实现中有很大帮助,老师给与学生的教诲和关爱,是大学四年最美好的回忆,也影响着以后的社会生活,让我受益一生。

    从步入大学到今天,一步步走来,经历了很多。期间每位老师都认真负责,不管是课堂上还是课余时间,有问题找老师,老师都会很热情的解答,不管是学习上还是生活上,老师都给了我很大帮助。大二时加入了学校的科研室,在科研室学到了很多,也直接影响了我未来的从事行业,学校能够提供这样一个平台,不仅激发了学生的学习热情,还是学生锻炼自己的一个平台。我身在其中,倍感荣幸。大学不仅让我知识境界有了提高,还让我的自学能力提高了不少,为以后的 IT 之路打下了良好基础。

    在毕业项目的设计过程中,老师的亲切指导,细心解答,让我少走了很多弯路,不仅提高了毕设项目的质量,还提高了工作效率。老师真可谓顶上的太阳,为学生照亮前方,指导方向。

    大学时光,是值得回忆与珍惜的时光,不管是学习中还是生活中,老师、同学、朋友都给予了我很大帮助,在此致以我最真诚的谢意!

    参考文献

    [1]陈传波,蒋湘. 网络管理中 Java 技术应用的探讨[J]. 湖北工业大学学报, 2001(1):21-24.

    [2]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2010:30-50.

    [3]葛萌,黄素萍,欧阳宏基.基于 Spring MVC 框架的 Java Web 应用[J].计算机与现代化,2018(08):97-101.

    [4]王鹏飞,丁俊松. Eclipse 开发平台在 J2EE 中的应用[J]. 现代计算机(专业版), 2006(7):23-26.

    [5]于洪.基于 MySQL 数据库的 Java Web 开发中的中文乱码问题[J].信息与电脑(理论版),2015(16):10-11.

    [6]余炀,曲毅,孙亦乐. 基于 Apache Tomcat 的一站式 Java 应用服务器解决方案[J]. 中国金融电脑,2018(1):59-63.

    [7]乔岚.基于 MyBatis 和 Spring 的 JavaEE 数据持久层的研究与应用[J].信息与电脑(理论版),2017(08):73-76.

    [8]林萍,朱婵.基于 AJAX 技术和 JAVAEE 的分页查询优化[J].计算机系统应用,2017,26(08):184-189.

    [9]李杉,贾彦平,达虎.Mybatis 逆向工程在 JavaEE 中的应用[J].通讯世界,2017(24):342.

    [10]刘金根,吉会云.基于 J2ME 的手机网络通信实现[J]. 软件导刊,2008(4):67-68.

    [11]郭名芳. 基于按需索取的中文 Web Fonts 应用研究[D]. 郑州大学,2013.

    [12]杨芙清. 软件工程技术发展思索[J]. 软件学报, 2005, 16(1):1-7.

    [13]袁占亭, 张秋余, 翟志万.,基于软件总线技术的软件工程方法[J].计算机工程与应用,2003(15):137-139.

    [14]Peter Rob, Carlos Coronel .Database Systems[M]. Cengage Learning EMEA,2008.

    [15]Eckel B. Thinking in Java[M]. 2003.

    技术描述

    开发工具: Idea/Eclipse
    数据库: mysql
    Jar包仓库: Maven
    前段框架:Html/Thymeleaf/LayUI
    后端框架: Spring+SpringMVC+Mybatis+SpringBoot

    下载地址

    展开全文
  • 用机器学习进行学生成绩预测的数据分析(入门向 附可用源码) 声明 思路 检查数据 图像化处理 分析 相关性分析 构建模型 代码实现 可运行代码 声明 文章代码修改于kaggle博主DIPAMVASANI,本文旨在将精华的内容留住...
  • 在编写“学生成绩管理系统”软件之前,同类型产品的市场进行了前期调查,与多位软件设计者使用者进行了探讨和分析之后由软件项目小组向系统分析人员与软件设计人员提出了这份需求规格说明书。该需求说明书...
  • 目标检测主流算法的分析与论述

    千次阅读 2021-01-08 10:30:58
    经过多年的发展,在R-CNN、YOLO、SSD等经典算法的基础上,目标检测算法演化出了数量众多的算法理论,本文通过目前较为成熟的几种目标检测算法进行分析和论述,不同算法的优点不足做出讨论,将为不同的应用场景...
  • 潢川高中2020年秋季学期高一期中语文试卷分析分析人:李四海本次试卷结构与高考试卷结构一致,局部作了调整。如默写由6分增到10分,散文阅读由15分压到13分,文言文翻译共8分。经学科组集体讨论,作如下分析:一、...
  • 基于Spark的学生成绩分析系统

    千次阅读 2018-07-02 17:33:00
    本文是本人硕士期间云计算课程的一次大...但是也正因为此,本文一些基础概念描述的也挺详细,包括但不限于Spark简介、Spark与Hadoop对比、Spark架构介绍、Pearson相关系数简介、Spark中的combineByKey函数简介等。
  • 2 使用NumPySciPy进行数值分析2.1 基本概念1 from numpy importarray2 from numpy.random importnormal, randint3 #使用List来创造一组数据4 data = [1, 2, 3]5 #使用ndarray来创造一组数据6 data = array([1, 2, ...
  • 本次用 MapReduce 查找(输入一个学生的姓名,输出该生姓名以及其参加考试的课程和成绩)是我们《大数据基础》课程的期末大作业的功能需求之一。临近期末,在这里记录一下自己的学习收获,希望大家在浏览的过程中...
  • 浅谈数据分析和数据建模

    千次阅读 2019-11-26 15:43:02
    过去企业都是通过线下渠道接触客户,客户数据不全,只能利用财务数据进行业务运营分析,缺少围绕客户的个人数据,数据分析应用的领域集中在企业内部经营财务分析。 数字时代到来之后,企业经营的各个阶段都可以被...
  • title: 高考成绩分析 categories: Person date: 2020-07-28 12:56:41 timestamp: 2020-07-28 12:56:41 tags: [blog, gaokao,dataproc] 开始 突发奇想, 想看下高考成绩的分布, 如果把每个省市的成绩划线成0-100 ...
  • 需求分析说明书需求规格说明书

    万次阅读 2021-11-30 15:57:11
    需求分析说明书:一般是某个市场或者是客户群来讲的,类似于调研报告,重点 是体现出产品要满足哪些功能,哪些是重点、热点。 需求规格说明书:是从业务规则讲起的,细一点偏向于软件的概要设计。是从开 发、测试...
  • 使用if函数考生成绩评定等级&comma;&lbrack;425&comma;520相信很多小伙伴都有会使用到IF函数,那么我们怎么去使用多个if函数进行嵌套呢?下面小编就以学生的成绩表为例为大家具体介绍。具体如下:1. ...
  • 深度学习中的目标检测:概述

    千次阅读 2020-07-25 08:52:48
    深度学习中的目标检测:概述 本文由`CVPy`翻译自以下文章: https://tryolabs.com/blog/2017/08/30/object-detection-an-overview-in-the-age-of-deep-learning/。 前言 从简单的图像分类到3D姿势估计,计算机视觉...
  • PYTHON实践——成绩数据可视化

    千次阅读 2021-11-07 19:03:22
    关键词:高考成绩,数据可视化 目 录 1实践选题与目标 1 2实践开发环境 1 3实践步骤 7 4关键步骤 17 5实践结果与分析 31 6实践体会 ...
  • 大数据线性回归预测学生成绩

    万次阅读 多人点赞 2019-12-21 19:02:02
    title: 大数据线性回归预测学生成绩 date: 2019/12/21 18:29 tags: 算法 大数据 id: lr-student 通过训练集训练测试集测试来生成多个线性模型,从而预测学生成绩,本文所有代码请点击Github 1. 实验数据背景 ...
  • SQL 查询:查询学生平均成绩

    千次阅读 2020-11-30 06:42:56
    一开始遇到的时候挺懵的,有印象但是却忘了怎么写了,接下来就是查阅资料并亲自上手测试是否可行~ 第一次代码修修改改如下,此时还是在只用一张表来查询(无法实现上述目标结果,贴图只是为了说明下思考路线): sele...
  • 点击上方蓝字关注我们对比分析是数据分析中最常用的、最好用、最实用分析方法之一。没有对比就不能说明问题,这也是对比分析在数据分析领域经久不衰的原因之一。对比分析是将两个或两个以上具有可比性的...
  • 基于jsp(java)学生成绩管理系统的设计实现

    千次阅读 多人点赞 2019-01-25 22:34:52
    学生成绩管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处课程、学生、学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。...
  • 如何制定人生目标和实现目标

    千次阅读 2017-01-11 22:54:56
    如何制定人生目标和实现目标 第一步:分析你的需求。你也许会问:这一步怎么做呢?不妨试试以下方法。开动脑筋,写下来10条未来5年你认为自己应做的事情,要确切,但不要有限制和顾虑那些是自己做不到的,给自己...
  • 短期内具备连续性的数据进行分析 需要根据相邻时间范围的数字当前时间范围的指标进行设定 同比:与当前时间范围上层时间范围的前一范围中同样位置数据对比 观察更为长期的数据集 观察的时间周期里有较多干扰,...
  • 明确目标和流程之后,处理过程会变得简单得多。下面的代码可以依次解读为如下内容。 1)使用colnames函数提取数据框edudata中的变量名,并保存名为col_names的向量。单独保存为一组向量的原因是为了方便进行后续的...
  • 当然,不限选考科目的专业仍是占巨大多数,以后我们会专业限选单独做一篇文章来详细解读。但是可以确信的是,未来限考物理的专业会继续增加,选考物理的考生会更具有优势。 参考依据2:人数比例 上海近年高中全市...
  • K12在线教育行业产品分析报告

    千次阅读 2017-08-30 14:02:20
    本篇文章分为两大部分:第一部分为行业分析,简单介绍了K12在线教育行业的整体情况,有助于了解K12在线教育的背景(包括:K12行业背景、K12在线教育概况、目标人群场景分析);第二部分为产品分析,包括答疑类、...
  • 基于Web的学生成绩管理系统

    千次阅读 2021-03-05 20:07:33
    本次课程设计课题为学生成绩管理系统,该学生成绩管理系统主要包括前台用户界面的开发后台数据库的开发,重点在于后台数据库的开发。要求建立起完整性强、数据一致性数据安全性好的数据库。在前端用户界面的开发...
  • 既然做了这么多报表,应该财务整体的情况很了解,就没有问题的地方进一步做分析。 工作量大,基础工作得有人做,重复工作多,尾大不掉,根本没有时间做分析。自己尝试做过费用、生产利用率分析,但因...
  • 功能的规定 1.1 学生信息定义 学生信息管理系统的目标是为方便统一管理学生的信息并为管 理员学生提供一个信息共享查询的平台 使用链表实现存储读写以及管理学生信息 描述学生信息包含如下项 包括但不限于 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,141
精华内容 18,056
热门标签
关键字:

对成绩分析和以后的目标