首页 -> 2008年第8期
网上评教系统的设计与实现
作者:赵 硕
(一)系统需求分析和功能模块
1.学生登陆模块:为保证系统运用前期基础数据的采集和来源渠道的完全正确,学生登陆的账号为学生入学时的学号,密码由学生自己设定。每个学生只能够对自己的任课教师进行评教,无法看到其他教师的评教页面。同时,安全性检测可以对学生登陆进行来源IP地址限制。只有校园网的内部IP,才可以进行登陆、评分、查询等操作。
2.评教监控模块:对评价过程进行了有效监控,对学生参评进行限制。一是控制评教范围和数量,在只有部分班级学生(非全校学生)参加评教的情况下,系统可以进行相应的限制,只显示测评的教师、课程和学生;二是随时监控评价状态和进程,对评价的进展情况随时监控,保证评价过程的顺畅。
3.数据的查询、统计和分析模块:在学生评教结束后,系统对数据进行统计。系统先对数据进行合理筛选(剔除一些不合理和非法数值),然后对统计后的各项数据进行分析,最后结果可以进行数据格式的转换以及查询和打印工作。
4.基础数据管理模块:教务处或其他管理部门对基础数据的维护。
5.评教数据管理模块:管理员对评教数据的管理。
6.网站留言:通过留言,教师可以回答学生针对所讲课程的教学方法、教学质量、教学速度方面的问题,学生之间也可相互交流自己的感受。
(二)软硬件环境
系统采用三层B/S模式的构建形式,后台采用Microsoft SQL Server 2000作为数据库,采用ADO.NET数据存取模型进行数据访问,使用Microsoft Visual Studio.Net作为开发工具。
1.硬件环境。由于学生评教系统采用三层B/S模式的构建形式。因此,需要的硬件环境是Web服务器一台、数据库服务器一台及畅通的校园网相连。为增加安全性,可适当配置网关防火墙。
2.软件环境。服务器端:Microsoft Windows 2003 Server,Microsoft SQL Server 2000;客户端:Microsoft Windows XP,Microsoft.NET Framework 2.0。
(三)系统方法实现
ASP.NET是.NET开发平台的一个部件,用来开发驻留在微软的IIS上,并且使用诸如HTTP和SOAP等Internet协议的Web应用程序。它与ADO.NET相结合,对数据库进行查询、修改、添加、删除等操作。另外,ASP.NET应用程序在服务器端运行,客户端不易修改,安全性高。一个网上评教系统的建立主要的核心技术有三个:一是与后台数据库的连接和数据的存取,二是评教过程的处理,三是系统的安全性。
1.数据库操作方法。数据库的连接和存取对网上考试系统来说是必不可少的部分,考生信息、试题库、考生成绩都保存在数据库中供察看和使用。本文采用ASP.NET与SQL Server 2000的连接方法。访问SQL Server数据库最好的方法是使用用于SQL Server的OLE DB提供程序(OLE DB Provider for SQL Server)。
2.评教流程分析。评教过程可细分为三部分∶一是学生登陆,二是学生在线评教,三是数据的分析、统计和格式转换、打印。
(1)学生登陆。由于学生评教的有限性和地域性,决定对学生登陆进行来源IP地址限制。只有校园网的内部IP,才可以进行登陆、评分、查询等操作。保障了系统数据不受外部干扰的影响。通过内置request对象的ServerVariables集合,可以获得学生的IP地址、计算机操作系统和浏览器版本。
(2)学生在线评教。学生选择某一位教师的某一个教学科目后进入相应的评教界面,页面动态地从后台评教数据中提取相应的指标项目和分值。在学生评教打分时,页面上会有一个计时器随页面的下移而移动。其目的有两个:一是为了防止有人非法进入数据库,在短时间内修改数据然后退出网站;二是监控学生的打分时间,提醒学生认真思考、谨慎打分,防止“以打分为任务、速战速决”的现象。在学生进行成绩提交时,为防止页面刷新或人为的恶意多次提交数据,系统采用产生随机字符串的方法,由提交页面产生随机字符串,在提交过程中,如果提交成功,则系统清空session,以防重复提交。
(3)数据的分析、统计和格式转换、打印。系统对学生提交上来的结果进行筛选、剔除非法和错误数据后,进行统计。然后将统计结果进行数据格式的转化,不仅可以通过网页察看,而且还能够生成Access或Excel文档。最终完成打印工作。
3.安全性分析。安全问题的重要性是不言而喻的,任何基于Web的应用程序都会面临安全性的考验。网上评教系统的安全性问题主要是在防止数据被非法修改。从上面两方面考虑,并结合实际中出现的问题,得出下面的两点注意事项。
(1)管理员登陆问题。在登录界面嵌入ActiveX获取客户机网卡ID号,将有录入/修改等敏感数据的操作员的用户名与IP及网卡的ID号关联在一起,如果不同则无当登录,可以防止用户名与口令流失后在不同的机器上登录。
(2)权限验证问题。为了防止学生修改数据,系统设置了登录权限。学生登录后只能参加评分、查询或网上留言提问。管理员登录后才可以对评分项目或留言进行管理操作。因此,对于不同等级的用户,权限管理十分重要。
为了防止学生绕过权限检查页面直接进入系统,我们可以使用Session对象。Session对象的优点是可以把相关用户的信息保留下来,让后继的网页读取。比如,在权限验证时,如果用户通过验证,则加入Session(“passed”)=True语句。进入系统后,首先验证Session(“passed”),如果没通过验证,就重新进入登录界面。这样就保证了权限验证的安全性。