栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > 学术 > 学生必读 > 中国信息技术教育

基于MVC模式的成绩管理系统开发

基于MVC模式的成绩管理系统开发

龙其党

摘要:随着信息技术的发展,学校的信息技术设施越来越完善,很多学校都建成了校园网络并连接到互联网上。但校园网络设备的利用率并不高,软件资源缺乏,大多数计算机网络应用还只是停留在上网查资料、相互间共享文件等初级应用上,很少建设符合本校实际情况的软件资源。本文作者结合所在学校在建设软件资源方面的一些体会、经验,提出了“成绩管理系统”建设问题,探讨在建设中需要注意的一些问题、细节。

关键词:MVC模式;AJAX;成绩管理系统;数据库;软件开发

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2018)21-0085-03

软件建设需求

成绩管理、分析是一所学校进行教学质量检测、评价、分析、再提高的基础,现阶段,大多数学校使用Excel软件对成绩进行管理,其不足之处在于,信息的查询、共享不方便;统计、分析对教师技术水平的要求比较高。而建立基于MVC模式的成绩管理系统,由服务器统一管理数据,教师端可随时查询全校所有学生的成绩,并根据系统提供的分析、统计为自己的教学提供决策依据。

软件模式选择

网络特别是互联网的发展,使B/S模式(浏览器/服务器模式)的软件系统越来越流行。它有着瘦客户机优点,即客户机不需安装软件,打开浏览器就可以使用。这样对教师的技术要求就降低许多,不需要复杂的安装和设置。客户端与服务器端交互采用AJAX方式,让服务器专注数据处理,客户端专注显示及交互。这一方面减轻了服务器负载,使其可以更快做出响应;另一方面使得交互数据量变得极少,网络传输量降低。

软件开发、运行环境

服务器端的运行环境:服务器——TOMCAT8;数据库系统——SQL SERVER2012。客户端运行环境:浏览器——chrome、Firefox、Edge。系统开发软件:Eclipse、Photoshop、Java。

软件系统架构及模块说明

成绩管理系统主要模块如图1:成绩管理系统中,各个页面作为一个功能存在,在模块设置中自由地把各个功能组合在一起成为一个菜单,实现根据需要定义菜单。

关键技术探索

1.数据库规划

系统使用的数据表较多,在系统规划时需要全盘考虑,避免出现需要改动数据结构的情况。比如在设计学生成绩表时,考虑到它的数据量大,一次考试就产生几万条记录,笔者认为可有两种设计方式:

(1)为每届学生建立一个数据表,存储该届学生在校期间的所有成绩,其数据表结构可设计如图2(为方便描述,字段名用中文表示,但在应用中最好避免使用中文字段名)。(2)为每学年建立一个数据表,存储该学年所有学生成绩,其数据表结构可设计如图3。

两者差别并不大,主要根据系统应用偏向来决定,第一种方式可以很方便地查询到某届学生在校期间的所有成绩,第二种方式可以方便地对当前在校生成绩进行查询、统计,本系统选择第二种方式。无论使用何种方式,都不可只用一个数据表保存所有学生的成绩数据,否则日积月累,多年的学生数据都存在一个表中,会出现如下问题:一方面已毕业学生的数据很少用到,另一方面表中数据多了影响查询、统计性能。

针对数据表中科目的设计,上面的方式固定了每个表的科目,不够灵活,不同年级开设科目不尽相同,因此可对上面数据表进行优化,如图4。

使用这种方式比较灵活,统计方便;没有参加考试的科目不必记录,節省空间,只是在查询时需要行列转置。如果需要保留更详细数据,可继续增加一些列,方便以后统计使用,如图5。

2.在需要的数据字段上设立索引

索引有利于提高查询速度,但在插入或修改时却会影响操作效率,因此需要考虑如何定义索引。但对于成绩管理系统这类查询多于更新的系统来说,可以侧重考虑查询需求,一般来说需要联合查询的联合字段、查询时的条件字段,这些是要重点考虑索引的字段,笔者在使用过程中曾经遇到过一个统计需要花费差不多十秒钟,但在关键字段加了索引后,只需要一秒左右就完成的情况。因此在出现此类问题时,除了检查代码,不要忽视索引的作用。

3.系统权限设置

要使系统稳定有序运行,必须要分配各教师的使用权限。教师权限指派的好处是:一方面保证成绩管理系统有序运行,另一方面可以简化教师界面,让教师清晰知道自己该做哪些工作。我们在权限分配规划时使用了“角色与权限”的方法,即先定义一些角色,如管理员、校长、教学处、班主任、科任教师等;再定义这些角色具有哪些权限,如“管理员”应该具有一切管理权限,“班主任”具有可管理本班学生信息的权限,“科任教师”具有可录入成绩权限等;最后为每个教师定义各自具有哪些角色,一个教师可以是多重角色,如班主任可以具有“班主任”和“科任教师”两种角色。每次请求都验证权限,权限设置是系统良好运行的基础,保证了在修改数据时不会产生冲突、混乱。

4.系统安全性措施

在“成绩管理系统”中,系统安全主要指数据安全,为保障数据信息不被非法修改、删除,我们在使用中应用了如下措施:

(1)对用户密码进行加密。采用某种加密方法对所有用户密码进行加密,增强用户密码的保护。(2)登录时使用验证码。使用验证码,可防止用自动登录的方法破解密码。(3)IP地址限制。指定可使用IP地址范围,保证数据更加安全。(4)做好日志登记工作。将教师、学生每次请求操作的时间、请求页面、主机IP地址等信息都登记下来,有需要时可以查看记录。同时还可被用于统计哪些模块最常使用、用户最关心哪些功能等。(5)数据库备份。充分利用SQL SERVER2012的备份功能,可在数据受到破坏时恢复到指定位置;利用数据库的自动备份功能,设置每星期一次增量备份、每月一次完整备份。

5.系统稳定性措施

良好的系统在进行时有一定的健壮性,并有良好的提示。即使发生错误,也可以保证数据完整以及系统状态恢复。提高系统稳定性可以从以下几方面考虑:

(1)对数据进行修改、增加、删除,需要两个或两个以上的一组命令时,将这些操作放在事务处理范围内,保证操作要么就整批完成,要么就整批撤消,以确保数据的完整性。(2)页面存在输入时,一定要对输入数据进行合法性验证,保证数据在提交到数据库时符合业务要求。对输入数据验证应在客户端进行,减少数据传输次数。(3)在输入成绩等需要较长时间完成的场合,使用间隔自动保存,避免偶发原因造成录入丢失。(4)对所有的错误都应给出详细提示,让客户端知道在错误发生时应该如何改正。对不可预知的错误也要进行处理,提供原始错误信息。(5)数据库连接采用连接池,并根据实际使用用户数量设置合适数值。(6)做好测试工作,每个功能开发好后,必须进行全面测试,特别是涉及到输入的,需要输入各种数据进行测试,除了测试正常的业务过程是否正确,还要测试对错误输入数据的检测。

6.系统可扩展性、易维护性

系统开发采用MVC架构,将业务、逻辑、数据模块分别独立,并把相同业务代码抽象出来。开发过程中要随时预见可能出现的新情况,发现有更好的优化方法,要及时处理。自始至终要考虑如何提高开发效率,如何便于维护和更新。

以上是我们在开发学校成绩管理系统过程中的一些体会、经验,系统在开发以及后期的维护过程中都在不断出现新的问题,尤其是系统与其他管理系统的连接问题让我们深感统一规划的重要性和必要性。系统经过多年的运行,得到不断的更新与增强,为学校的教学管理提供了科学依据和数据。同时,数据库中的教师、学生信息也作为基础数据应用到了其他系统上,提高了学校教育教学管理的信息化发展水平。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/xueshu/665620.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号