基于CS的考试系统.docx
《基于CS的考试系统.docx》由会员分享,可在线阅读,更多相关《基于CS的考试系统.docx(15页珍藏版)》请在冰豆网上搜索。
基于CS的考试系统
摘要
随着学校招生规模的不断扩大,在校生人数越来越多,考试作为学校教书活动的一个重要环节,是检验教师和学生教及学的一种有效途径,同时考试给学校的负担也越来越重。
随着互联网的快速发展,传统的纸质考试已不能满足学校的教学管理的需求,因此,利用现有的信息技术开发出一套实用且高效的在线考试系统很有必要。
传统纸质考试及在线考试系统相比,不但能节省学校的人力、物力和财力,提高考试效率,使考试变得简洁、方便,同时也是促进校园数字化建设的一种有效手段。
本系统利用网络技术和数据库技术,开发了基于结构的多用户在线考试系统。
该系统使用方便、操作简单,软件采用简洁的客户端服务器模式,脱离对外网的依赖,在局域网内即可完成考试。
以C语言和课程为例构建了两份试卷并实现了网上考试系统的设计,该考试系统具有通用性,可以方便地推广到其他课程。
关键字:
网上考试系统;软件工程;模式
1简介
1.1模式的多层结构
模式是一种普遍应用的网络计算模式.。
传统的模式是两层结构,在这种模式下,网络中的计算机为两个有机部分:
客户机和服务器服务器只负责各数据的处理和维护,为各个客户机应用程序管理数据;客户机包含文档处理软件、决策支持工具、数据查询等应用逻辑程序,通过网络使用语言发送、请求和分析从服务器接收数据。
这是一种“胖客户机”、“瘦服务器”的网络结构模式。
随着结构应用范围的不断扩大和计算机网络技术的发展,这种结构的缺陷日益明显,如系统的可靠性有所降低、缺乏灵活性、资源浪费严重、维护费用较高等。
为解决这一问题,网络计算模式逐渐从两层扩展到N层,形成多层结构。
在多层结构中把业务逻辑独立出来,使得应用系统的开发模式变为下面形式:
(1)客户端.只注重人机界面的设计,不必关心业务逻辑和数据库的访问,使开发大大简化,并且使得原两层结构的胖客户机变成瘦客户机。
(2)中间业务逻辑层。
提供客户端程序调用的业务逻辑规则,以完成其业务操作。
当业务逻辑改变,客户机不必改变。
(3)数据库服务层。
提供对数据库进行各种操作的方法,由中间业务逻辑层调用完成业务逻辑。
可以看出,在多层结构中,层次划分不是物理上的划分,而是结构逻辑上的划分,即按应用目标划分。
如果客户端要求响应速度很快,业务组件的体积较小,业务组件可以放在客户端;如果业务组件包含大量对数据库的操作,可以配置在数据库服务器上,以减少网络负载,提高运算速度;如果业务组件可供大多数客户机程序访问,则可以使用业务组件构成一个应用服务器,供大家访问。
由于多层结构的运行机制,使得多层结构具备以下优点:
(1)可伸缩性好.可按应用要求部署逻辑层次,适应于本地网和广域网。
(2)网络效率高.通过合理布局,因网络传输的数据量大大减少,网络效率得到提高。
(3)可管理性强。
客户端基本实现“零维护”,主要管理工作集中在应用逻辑层,业务逻辑的修改对客户端没有影响。
(4)可重用性好。
按可提供的服务构筑应用,每种服务可以被不同的应用再次使用。
由于系统采用面向对象的组件构成,进一步增加了可重用性。
1.22005
()中文译为结构查询语言,是关系型数据库通用标准语言,其主要作用是完成数据库的修改、删除、更新、检索等一系列操作任务。
首先语言是一种非过程语言,它允许用户在高层数据结构上接收集合作为输入、输出,并允许一条的语句结果作为另一条语句的输入。
语言使用查询优化器来决定对指定数据的存取,而用户根本不需要知道其具体如何实现。
其次语言是统一的语言,语言将所有操作语言集中统一到一种语言中。
再次所有的主要关系数据库管理系统均支持语言,用户用编写的程序一个关系数据库管理系统转移到另一个关系数据库管理系统中。
2005可以为各种数据提供安全可靠的数据库引擎,为企业数据管理提供了一个工具,是一个综合的数据库平台,2005在原有的基础上还提供数据分析、数据报表、数据集成和通知等功能。
2005具有以下特点:
(1)拥有真正的表和索引数据分区技术,增强了表的伸缩性和管理学,为海量数据处理提供了解决方案。
(2)整合了符合规范的语言,实现语言在数据库管理系统中执行。
(3)本身自带数据加密功能,统一使用语句使用户和架构分离,可以使数据更加安全。
(4)引入数据库镜像技术提高数据库的高可用性。
(5)为各种分析程序提供高效的数据分析环境,开发人员可使用任何基础平台通过构建在2005中的解决方案及时获得重要信息,从而在最短的时间内制定更优的决策方案。
(6)使用全文检索引擎实现共享内存和进行大规模数据并发交互,从而完成高效的数据检索功能,
(7)引入实现数据异步处理,提高了数据库的可伸缩性、可靠性。
2在线考试系统需求分析
2.1在线考试系统优点
1、可以创建电子题库,方便实现试题的数字化管理。
所谓题库就是试题的仓库,一个简单的数据库,通过对题库的随机抽取实现自动生成试卷功能。
是在线考试系统的最具特色和最有实用价值的模块之一。
2、自动组卷,提高出卷效率。
在线考试系统以电子题库为依托,通过设计开发可以实现自动抽题成试卷,极大地提高了出卷效率。
对用天辅助教学和测验有很大帮助。
3、有强大地数据统计分析功能。
在线考试系统及传统的纸上考试相比具有强大的统计功能,原本非常繁琐的手动进行的分析统计计算工作,现在可以在瞬间完成。
由于在线考试系统从出题、考试到阅卷、统计,完全实现了数字化,不再需要教师手动地将学生成绩、答题情况等详细信息输入计算机,大大减轻了教师的繁重工作。
随着社会的不断发展,信息积存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,在线考试系统的发展前景是光明的。
2.2可行性分析
可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。
可行性研究工作目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。
该系统的可行性分析包括以下几个方面的内容。
2.2.1社会因素方面的可行性
本系统用于学校考试,无法律和政策方面的限制。
并且从网络时代兴起到如今,学校教育也离不开网络,信息化已经成为学校教育系统的必要。
学生跟教师以及相关工作人员对于在线考试的接受程度也较高。
2.2.2经济方面的可行性
主要是对项目的经济效益进行评价,本系统作为毕业设计选择项目,无需开发经费,并且本系统实施后可以显著提高《C语言程序设计》课程的考试效率,有助于学校实现网络化管理。
所以本系统在经济上是可行的。
2.2.3技术方面的可行性
1、技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。
2、软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有数据库,能够处理大量数据,方便易用。
因此,系统的软件开发平台已成熟可行。
3、硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。
2.2.4操作方面的可行性
目前,大学的校园网络覆盖了教学区和学生去的主要建筑物,从而满足校内各学院,各职能部门,各直属单位的上网需求。
学校良好的网络设施为开发使用无纸化在线考试系统提供了坚实的基础。
3网上考试系统的主要模块及运行流程
传统考试的各个环节是制作网络考试软件的参考模型。
最大程度地把传统考试中的必要环节加以模拟,网上考试软件的模块设置和运行流程是决定其功能和效果的主要因素。
3.1网络考试系统的主要功能模块
根据需求分析,一般的网络考试系统,基本上都具有这样两个主模块,即学生考试模块和教师管理模块。
网上考试系统的常见模块的划分见图1。
图1系统模块图
3.2系统总体流程图
通过需求分析,本系统有两个用户角色。
学生用户进入系统,如果登录成功则可以使用系统的相应模块,如考试模块,可以进行在线考试,另外不是本系统的用户还可以进行用户注册(只能注册学生身份)再使用本系统;管理员用户通过登录可以进入后台管理进行对学生、试题、考试科目、学生考分以及自身的管理,分别可以进行添加和删除等功能操作。
流程图演示如下:
3.3系统设计原则
本系统具有一定的特殊性,因此在设计过程中应遵循以下原则:
(1)安全性:
系统内的试题信息、组成试卷信息在学生考试之前不能外漏,在信息传输和存储中不被他人窃取修改、破坏、丢失;同时可以根据需要按照一定算法生成几套难度系数相等的乱序试卷。
(2)可靠性:
系统运行过程中出现故障时,如运行过程中死机、断电等异常情况下,考试系统及时记录考试过程信息,当考生重新开始考试时能从异常情况发生前的备份点继续考试。
(3)科学性:
考试系统不因多科目共同存在而出现多科目的试题组成一张试卷。
(4)易用性:
系统内的功能界面应该一目了然,从视觉上给用户一种简单易用的感觉,让用户可以根据界面提示进行相应的操作。
(5)可扩展性:
虽然本系统主要针对呼伦贝尔学院公共外语和“两课”进行设计,但随着技术的发展和学生的要求本系统应该具有在现有功能的基础上实现不断改进,功能需要不断完善,还有可能使用本系统对其他科目进行测试。
(6)可控性:
管理人员可以根据需要查看参加考试人员的基本信息以及设备使用状态信息。
(7)自动性:
考试系统能进行客观题的自动阅卷,主观题由教师阅卷完毕后能自动汇总出每个学生的总成绩。
并能根据需要生成相应的统计数据。
4用户管理模块设计
4.1用户管理模块的体系结构设计
4.1.1用户管理模块功能简介
用户管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了系统
的安全性。
本模块具有五项功能:
一、实现用户注册和登录。
若是已注册的用户,系统根据用户身份让用户进入不同的界面进行具有权限的用户操作,若是新用户则登录本系统之前要先注册;二、用户注销,退出用户界面返回主页面;三、所有用户可以修改自己的注册信息,如密码、电子邮箱等基本资料。
四、系统管理员可以进入管理员界面赋予用户权限。
五、系统管理员还可以在管理员界面删除用户,对于某些非法用户,管理员可以将其从用户表中删除,剥夺他们的用户权限。
4.1.2用户管理模块功能图
4.2用户管理模块的详细设计
4.2.1用户登录和注册界面设计
用户登录由页面实现,它的代码隐藏文件为文件。
用户登录是应用程序的主入口,用户只有通过该入口才能进入系统,它的设计界面如下图所示:
图4.2.1用户登录界面
因为用户所属角色不同,如考生和管理员,所以在设计登录界面时,需要提供一个角色选择框让用户选择自己所属的角色。
用户登录界面使用的两个控件为用户输入用户名称和用户密码,用户单击“确定”按钮可以登录到系统,单击“取消”按钮可以取消此次登录操作。
单击注册则跳转到注册界面。
关于用户登录界面有下面3点需要说明:
(1)用户的角色是从表获取的,但是不显示超级管理员角色。
(2)用户登录界面使用两个非空验证控件,他们分别为和。
非空验证控件对用户名称进行非空验证,非空验证控件对用户密码进行非空验证。
(3)这两个非空验证控件仅仅对“确定”按钮有效,对“取消”按钮是无效的,具体方法就是把“取消”按钮的属性的值设为
4.2.2用户登录
用户登录流程图如下图所示:
用户单击“确定”按钮触发时间(),该事件实现用户登录的验证过程。
时间()调用数据访问层的函数()验证用户的输入,如果用户输入是正确的,用户可以登录到系统中,否则页面弹出密码错误对话框或用户角色所属错误对话框。
函数()从数据库获取合法用户的数据,返回的结果为对象.
用户登录是应用程序的唯一入口,为了提高登录验证过程的安全性,函数()调用存储过程访问数据库。
存储过程的代码如下:
(
(32),
(100)
)
==
为了提高整个系统的安全性,在用户表中存储的用户密码字段不是用户密码的真实值,而是加密后的密码字符串。
加密函数()被定义为类的静态函数。
调用加密函数时,首先那加密字符串进行编码成,然后使用系统的不对称加密算法5加密用户密码串。
用户登录时只需要验证加密后的密码串和数据库存储的密码串是否一致即可。
该函数的代码如下:
<>
用户加密函数
<>
()
{
[]=()();
[]=(()("5"))();
();
}
}
5题库管理
试题库是整个考试系统的基础部分,试题库的建设用学科分类理论决定整个题库和试卷的难易程度,确定考试系统的总体框架等;用题型功能理论提供各种比例配置等信息。
其所要实现的功能包括:
试题基本信息操作:
向试题库增加新试题,修改、删除、查询试题。
试题分类操作:
可以根据需要建立课程、章、节等目录。
批量导入操作:
实现从中固定格式的内容导入到试题库中。
试题审核操作:
试题录入完毕后,必须通过审核后才能转化成正式可用试题。
导入、导出操作:
可以根据需要将试题库内的文件导成特定格式的压缩作为备份,在需要的时候可以通过导入功能实现试题的解压。
6在线答题模块设计
6.1在线答题模块体系结构设计
6.1.1在线答题模块功能简介
这个模块实现的功能为:
学生通过验证登录后,选择要考的试卷,进入考试;还可以查询自己的成绩。
6.1.2在线答题功能模块图
6.2在线答题模块详细设计
6.2.1界面设计
系统的在线答题功能由页面实现,它们的代码隐藏文件分别为文件.
考生进入页面后有两种选择,一种就是选择要考试卷的编号,然后进入考试;一种是查询自己的成绩。
6.2.2在线答题
在线答题功能由页面实现,代码隐藏文件文件。
该页面初始化时,首先从全局变量中取到一套试卷的所有考试题目;然后由类的函数()创建问题数据源。
值得注意的一点是,此问题数据源为接口对象,而不是一般的对象、对象或其他的对象。
问题控件绑定数据时,采用接口对象作为数据源。
此数据源由类的函数()函数创建。
该函数的参数为类型的对象,它包含整套试卷的所有试题的。
函数()使用循环语句从
表中获取每个试题的详细信息。
在此循环中使用函数()从表中获取单个问题的详细信息,然后把详细信息保存到对象中,最后函数把题目的详细信息构建为一个对象,并在函数的最后返回此对象。
函数()仅仅绑定试卷的问题,并没有绑定每个试题的答案,函数()和函数()实现该功能。
函数()属于数据访问层函数,它需要参数从表取到属于的问题答案,并把试题答案传递到应用程序的页面层。
在函数()基础上,应用程序的页面呈现层就可以使用该函数从数据库获取试题答案,并把试题的答案绑定到每个相应的问题。
绑定试题答案由函数()实现,她参数的为控件。
7阅卷管理
客观题阅卷相对简单,仅需由系统自动将学生和服务器上标准答案进行比对即可。
该模块的功能是是在考试结束后,由部门内具有权限的教师登陆本系统实现对学生主观
题的评阅,其主要实现的功能包括:
信息的导入:
本部分主要由部门负责人来进行设定,是将学生的基本信息、所用试卷信息、以及学生的答卷信息导入到本模块中来。
试卷的评阅:
教师根据学生作答情况给出每道题相应的分数。
自动汇总:
当教师每阅完一道试题后,系统可以实现自动将该题分数录入到学生成
绩库中,实现学生成绩的累加求和。
8考试系统数据库设计
数据库技术在计算机软件领域一直是重要的主题,产生于20世纪60年代的数据库技术,经过50多年的发展,已经形成较为完整的理论体系和一系列实用系统。
针对基于的计算机网络考试系统来说,数据库是该系统的重要子系统之一。
选择什么样的数据库系统,对系统的实现起着至关重要的作用。
是一种高效的关系数据库系统,它可及2000等操作系统紧密集成,这种安排使能充分利用操作系统所提供的特性。
对复杂的系统来说,是一个很好的选择,本系统的开发,采用了2005作为后台数据库系统。
实体是指系统工作环境中所涉及的事物,属性是对实体特征的描述从考试系统数据库结构设计的角度来看,根据数据需求分析得出系统的实体属性,包括管理员实体属性,课程实体属性,分数实体属性,试题实体属性,考生实体属性,教师实体属性,题目实体属性等,各个实体属性本身又组成了新的子系统,每个实体的属性图如下:
9考试系统实现及测试
考试系统通过视图层、控制层和模型层三层架构实现,其中视图层使用技术,实现输入和输出;控制层使用技术,实现视图层和模型层的交互管理;模型层采用技术,实现业务逻辑的处理后台使用数据库实现信息存储和管理。
系统分三种用户类型:
系统管理员教师用户和学生用户,其中系统管理员拥有系统最高权限,负责管理教师的信息以及考试的全过程;教师用户拥有中级系统权限,负责管理学生信息,组织试卷,考试过程监督和成绩管理;学生用户拥有最低权限,只能填写个人信息,参加考试和成绩查询不同权限的用户登录系统会进入不同的管理模块界面,系统用户登录模块的流程如下。
考试系统的测试综合了白盒测试黑盒测试两种方法,主要使用的是黑盒测试方法,在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则,通过测试达到如下测试目的:
第一功能检查,检查功能是否正确,是否遗漏应该实现的功能等;第二接口检查,检查能否正确地接收信息或输出信息;第三数据检查;检查数据结构或外部信息是否有访问错误;第四性能检查,检查性能需求能否得到满足;第五初始化终止检查,主要检查是否能进行正确的初始化或终止,通过对系统的全面测试,该系统痛过了上述五项检查,系统运行正常,视线里用例的完整性和有效性,达到了系统的设计目标。
总结
随着班技术的高速发展和广泛应用,教育模式也在发生深刻的变化。
传统的考试方式,组织一次考试至少要经历五个环节:
人工出卷!
考生考
试!
人工阅卷!
成绩评估和试卷分析,工作量大,但效率低。
如今,越来越多的人通过上网学习新知识。
由于网络学习不受空间和时间上的限制,因此发展空间很大。
为适应新形势下考试的要求,必须对传统的考试方法进行改革。
基于模式的在线考试系统从组卷、答卷到客观题评卷全部由计算机完成,考试内容和考试成绩很少会受到人为主观因素的干扰,有效地提高了考试的公平性及科学性,使考试管理工作更加规范化和科学化,并可以实时对考试成绩进行查询。
大大减轻了教师和教务人员的工作负担,提高了工作效率。
本课题其主要功能是在网上实现公共课的考试以及试题库系统的建立及维护,可操作性强,基本上达到了预期的效果,可以有效地克服传统考试的弊端,实现无纸化考试"但是,在线试题库考试系统仍然不能完全替代传统的考试,随着系统的不断完善,技术的不断更新,基于模式的在线试题库考试系统必然成为考试系统发展的主流。
计算机考试系统过程属于非常严谨的行为,在计算机上实现在线考试的很多环节和方面尚不够严谨和成熟。
如通过考生容貌等来验证身份的问题还没有解决。
通过考生的声音、容貌甚至指纹来确认考生身份,将使得考试作弊不再可能。
另外,由于主观题的答案不是唯一的,不能按照知识点给分,这也是本系统的一个不足之处,希望通过技术的改进,找到解决这一问题的有效方法。
致谢
在即将完成学业之际,回首走过的路,谨此向我的导师们致以最衷心的感谢!
在完成毕业设计的这段时间里,老师耐心指导我如何去一步一步完成毕业论文的设计,及时解答我提出的问题。
通过在毕业论文设计过程中的接触,老师所表现出的在学术研究上具有深厚的专业背景,在工作中认真负责的态度,在生活中严
厉中带着和蔼人格魅力,对我的思想产生了很大的冲击,也将深深的影响我今后的学习和工作的态度。
对于几位恩师给予我的学习、生活等方面的关怀和帮助表示最诚挚的谢意!
同时感谢那些专业书籍和参考文献的编写者,通过对他们所撰写的资料中,使我收获了很多知识,其合理的设计思路,渊博的专业知识,为这篇论文的成型指明了方向。
我将深深铭记在论文设计过程中每位给予我支持和帮助的人,我的成功来自于你们最衷心的帮助!
参考文献
[1],.构实战:
软件架构设计的过程[M].北京:
械工业出版社,2010
[2]郑炜冬.铸造高校网络考试的公平之盾[J].现代教育技
术,2012
[3]周奇.2005数据库基础及应用技术教程及实训[M].北京:
北京大学出版社,2008.
[4]先木斯业.买买提明.和田师专在线考试系统的设计及实现[D].电子科技大学.2012.
[5]王伟东.一种无纸化考评系统的设计及实现[D].2008.
[6]卢捷.基于跨平台考试系统的设计及实现[D].华东师范大学.2008.
[7]王佳丽.黑龙江贸易经济学校在线考试系统的设计及实现[D].北京邮电大学.2012.
[8]刘烨.编程及应用程序开发教程[M].清华大学出版社.2007.
[9]王彪.数据库应用系统开发[M].清华大学出版社.2010.
[10]李凤琪.校园教务管理信息系统设计及实现[D].北京工业大学.2012.
[11]汪永忠.企业员工绩效考核系统的设计及实现[D].电子科技大学.2011.
[12]傅颖丽.苏州职大在线考试系统的设计及实现[D].北京邮电大学.2012.
[13]田屏.基于架构的考试系统设计[D].贵州大学.2008.
[14]杨洋.基于结构的网上考试系统的设计及实现[J].中国有线电视.2003.