基于CS的考试系统_第1页
基于CS的考试系统_第2页
基于CS的考试系统_第3页
基于CS的考试系统_第4页
基于CS的考试系统_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着学校招生规模的不断扩大,在校生人数越来越多,考试作为学校教书活动的一个重要环节,是检验教师和学生教与学的一种有效途径,同时考试给学校的负担也越来越重。随着互联网的快速发展,传统的纸质考试已不能满足学校的教学管理的需求,因此,利用现有的信息技术开发出一套实用且高效的在线考试系统很有必要。传统纸质考试与在线考试系统相比,不但能节省学校的人力、物力和财力,提高考试效率,使考试变得简洁、方便,同时也是促进校园数字化建设的一种有效手段。本系统利用网络技术和数据库技术,开发了基于C/S结构的多用户在线考试系统。该系统使用方便、操作简单,软件采用简洁的客户端服务器模式,脱离对外网的依赖,在局域网内即可完成考试。以C语言和C+ 课程为例构建了两份试卷并实现了网上考试系统的设计,该考试系统具有通用性,可以方便地推广到其他课程。关键字:网上考试系统;软件工程;C/S模式目录1 简介11 c/s模式的多层结构c/s模 式 是 一 种 普 遍 应 用 的 网 络 计 算 模 式.。传 统 的c/s模 式 是 两 层 结 构 ,在 这 种 模 式 下,网 络 中 的 计 算 机为 两 个 有 机 部 分:客 户 机 和 服 务 器 服 务 器 只 负 责 各数 据 的 处 理 和 维 护 ,为 各 个 客 户 机 应 用 程 序 管 理 数据;客 户 机 包 含 文 档 处 理 软 件、 决 策 支 持 工 具、 数 据 查 询等应 用 逻 辑 程 序,通 过 网 络 使 用SQL 语 言 发 送、 请 求 和分析 从 服 务 器 接 收 数 据。 这 是 一 种 “胖 客 户 机”、“瘦 服 务 器” 的 网 络 结 构 模 式。 随 着c/s结 构 应 用 范 围 的 不 断 扩 大 和 计 算 机 网 络 技 术 的 发展,这 种 结 构 的 缺 陷 日 益 明 显, 如 系 统 的 可 靠 性 有 所 降低、缺乏灵活性、资源浪费严重、维护费用较高等。为 解 决 这 一 问 题,网 络 计 算 模 式 逐 渐 从 两 层 扩 展 到N层,形 成 多 层 结 构。 在 多 层 结 构 中 把 业 务 逻 辑 独 立 出来,使 得 应 用 系 统 的 开 发 模 式 变 为 下 面 形 式:(1)客 户 端. 只 注 重 人 机 界 面 的 设 计, 不 必 关 心 业 务逻辑 和 数 据 库 的 访 问, 使 开 发 大 大 简 化, 并 且 使 得 原 两层结 构 的 胖 客 户 机 变 成 瘦 客 户 机。(2)中 间 业 务 逻 辑 层。 提 供 客 户 端 程 序 调 用 的 业 务逻辑 规 则, 以 完 成 其 业 务 操 作。当 业 务 逻 辑 改 变 ,客 户机不 必 改 变。(3)数 据 库 服 务 层。 提 供 对 数 据 库 进 行 各 种 操 作 的 方法,由 中 间 业 务 逻 辑 层 调 用 完 成 业 务 逻 辑。可 以 看 出, 在 多 层 结 构 中,层 次 划 分 不 是 物 理 上 的划分,而 是 结 构 逻 辑 上 的 划 分, 即 按 应 用 目 标 划 分。 如 果客户 端 要 求 响 应 速 度 很 快, 业 务 组 件 的 体 积 较 小, 业 务组件 可 以 放 在 客 户 端; 如 果 业 务 组 件 包 含 大 量 对 数 据 库的操 作, 可 以 配 置 在 数 据 库 服 务 器 上, 以 减 少 网 络 负 载,提高 运 算 速 度; 如 果 业 务 组 件 可 供 大 多 数 客 户 机 程 序 访问,则 可 以 使 用 业 务 组 件 构 成 一 个 应 用 服 务 器, 供 大 家访问。 由 于 多 层 结 构 的 运 行 机 制, 使 得 多 层 结 构 具 备 以下优 点:(1)可 伸 缩 性 好. 可 按 应 用 要 求 部 署 逻 辑 层 次, 适 应于本 地 网 和 广 域 网。(2)网 络 效 率 高. 通 过 合 理 布 局, 因 网 络 传 输 的 数 据量大 大 减 少, 网 络 效 率 得 到 提 高。(3)可 管 理 性 强。 客 户 端 基 本 实 现“ 零 维 护”, 主 要 管理工 作 集 中 在 应 用 逻 辑 层, 业 务 逻 辑 的 修 改 对 客 户 端 没有影 响。(4)可 重 用 性 好。 按 可 提 供 的 服 务 构 筑 应 用 ,每 种 服务可 以 被 不 同 的 应 用 再 次 使 用。由 于 系 统 采 用 面 向 对 象的组 件 构 成, 进 一 步 增 加 了 可 重 用 性。1.2 SQL Server 2005SQL(Structured Query Language)中文译为结构查询语言,是关系型数据库通用标准语言,其主要作用是完成数据库的修改、删除、更新、检索等一系列操作任务。首先SQL 语言是一种非过程语言,它允许用户在高层数据结构上接收集合作为输入、输出,并允许一条 SQL 的语句结果作为另一条 SQL 语句的输入。SQL 语言使用查询优化器来决定对指定数据的存取,而用户根本不需要知道其具体如何实现。其次 SQL 语言是统一的语言,SQL 语言将所有操作语言集中统一到一种语言中。再次所有的主要关系数据库管理系统均支持 SQL 语言,用户用 SQL 编写的程序一个关系数据库管理系统转移到另一个关系数据库管理系统中。Microsoft SQL Server 2005 可以为各种数据提供安全可靠的数据库引擎,为企业数据管理提供了一个 BI 工具,是一个综合的数据库平台,SQL Server 2005 在原有的基础上还提供数据分析、数据报表、数据集成和通知等功能。SQL Server 2005 具有以下特点:(1)拥有真正的表和索引数据分区技术,增强了表的伸缩性和管理学,为海量数据处理提供了解决方案。(2)整合了符合.NET 规范的语言,实现.NET 语言在数据库管理系统中执行。(3)本身自带数据加密功能,统一使用 GRANT 语句使用户和架构分离,可以使数据更加安全。(4)引入数据库镜像技术提高数据库的高可用性。(5)为各种分析程序提供高效的数据分析环境,开发人员可使用任何基础平台通过构建在 SQL Server 2005 中的 BI 解决方案及时获得重要信息,从而在最短的时间内制定更优的决策方案。(6)使用全文检索引擎实现共享内存和 SQL Server 进行大规模数据并发交互,从而完成高效的数据检索功能,(7)引入 Service Broker 实现数据异步处理,提高了数据库的可伸缩性、可靠性。2 在线考试系统需求分析2.1在线考试系统优点1、可以创建电子题库,方便实现试题的数字化管理。所谓题库就是试题的仓库,一个简单的数据库,通过对题库的随机抽取实现自动生成试卷功能。是在线考试系统的最具特色和最有实用价值的模块之一。2、自动组卷,提高出卷效率。在线考试系统以电子题库为依托,通过设计开发可以实现自动抽题成试卷,极大地提高了出卷效率。对用天辅助教学和测验有很大帮助。3、有强大地数据统计分析功能。在线考试系统与传统的纸上考试相比具有强大的统计功能,原本非常繁琐的手动进行的分析统计计算工作,现在可以在瞬间完成。由于在线考试系统从出题、考试到阅卷、统计,完全实现了数字化,不再需要教师手动地将学生成绩、答题情况等详细信息输入计算机,大大减轻了教师的繁重工作。随着社会的不断发展,信息积存和分析提取的日趋重要,考试实现数字化,提高数据存储和分析的能力是不可逆转的潮流,在线考试系统的发展前景是光明的。2.2可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究工作目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。2.2.1社会因素方面的可行性本系统用于学校考试,无法律和政策方面的限制。并且从网络时代兴起到如今,学校教育也离不开网络,信息化已经成为学校教育系统的必要。学生跟教师以及相关工作人员对于在线考试的接受程度也较高。 2.2.2经济方面的可行性主要是对项目的经济效益进行评价,本系统作为毕业设计选择项目,无需开发经费,并且本系统实施后可以显著提高C语言程序设计课程的考试效率,有助于学校实现网络化管理。所以本系统在经济上是可行的。2.2.3技术方面的可行性1、技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬、软件能否满足开发者的需要等。2、软件方面,网络化考试需要的各种软件环境都已具备,数据库服务器方面则有SQL数据库,能够处理大量数据,方便易用。因此,系统的软件开发平台已成熟可行。3、硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。2.2.4操作方面的可行性目前,大学的校园网络覆盖了教学区和学生去的主要建筑物,从而满足校内各学院,各职能部门,各直属单位的上网需求。学校良好的网络设施为开发使用无纸化在线考试系统提供了坚实的基础。3 网上考试系统的主要模块及运行流程传统考试的各个环节是制作网络考试软件的参考模型。最大程度地把传统考试中的必要环节加以模拟, 网上考试软件的模块设置和运行流程是决定其功能和效果的主要因素。3.1 网络考试系统的主要功能模块根据需求分析, 一般的网络考试系统, 基本上都具有这样两个主模块, 即学生考试模块和教师管理模块。网上考试系统的常见模块的划分见图1。网上考试系统教师管理模块学生考试模块题库更新模块资格审核模块抽题组卷模块重新登录模块试卷评分模块成绩统计模块学生考试模块成绩查询模块图 1 系统模块图3.2系统总体流程图 通过需求分析,本系统有两个用户角色。学生用户进入系统,如果登录成功则可以使用系统的相应模块,如考试模块,可以进行在线考试,另外不是本系统的用户还可以进行用户注册(只能注册学生身份)再使用本系统;管理员用户通过登录可以进入后台管理进行对学生、试题、考试科目、学生考分以及自身的管理,分别可以进行添加和删除等功能操作。流程图演示如下:学生是否本系统用户用户登录用户注册否选择考试科目开始考试自测分数学生成绩表:score是后台登录点击管理学生管理试题管理管理员管理考试科目管理学生成绩管理3.3系统设计原则本系统具有一定的特殊性,因此在设计过程中应遵循以下原则:(1)安全性:系统内的试题信息、组成试卷信息在学生考试之前不能外漏,在信息传输和存储中不被他人窃取修改、破坏、丢失;同时可以根据需要按照一定算法生成几套难度系数相等的乱序试卷。(2)可靠性:系统运行过程中出现故障时,如运行过程中死机、断电等异常情况下,考试系统及时记录考试过程信息,当考生重新开始考试时能从异常情况发生前的备份点继续考试。(3)科学性:考试系统不因多科目共同存在而出现多科目的试题组成一张试卷。(4)易用性:系统内的功能界面应该一目了然,从视觉上给用户一种简单易用的感觉,让用户可以根据界面提示进行相应的操作。(5)可扩展性:虽然本系统主要针对呼伦贝尔学院公共外语和“两课”进行设计,但随着技术的发展和学生的要求本系统应该具有在现有功能的基础上实现不断改进,功能需要不断完善,还有可能使用本系统对其他科目进行测试。(6)可控性:管理人员可以根据需要查看参加考试人员的基本信息以及设备使用状态信息。(7)自动性:考试系统能进行客观题的自动阅卷,主观题由教师阅卷完毕后能自动汇总出每个学生的总成绩。并能根据需要生成相应的统计数据。4用户管理模块设计4.1用户管理模块的体系结构设计4.1.1 用户管理模块功能简介用户管理模块对使用本系统的用户进行用户名、密码、用户身份的验证,确保了系统的安全性。本模块具有五项功能:一、实现用户注册和登录。若是已注册的用户,系统根据用户身份让用户进入不同的界面进行具有权限的用户操作,若是新用户则登录本系统之前要先注册;二、用户注销,退出用户界面返回主页面;三、所有用户可以修改自己的注册信息,如密码、电子邮箱等基本资料。四、系统管理员可以进入管理员界面赋予用户权限。五、系统管理员还可以在管理员界面删除用户,对于某些非法用户,管理员可以将其从用户表中删除,剥夺他们的用户权限。用户管理删除用户用户注册用户登录用户权限分配用户更改个人资料4.1.2 用户管理模块功能图4.2 用户管理模块的详细设计4.2.1 用户登录和注册界面设计用户登录由Default.aspx页面实现,它的代码隐藏文件为Default.aspx.cs文件。用户登录是应用程序的主入口,用户只有通过该入口才能进入系统,它的设计界面如下图所示:图4.2.1 用户登录界面因为用户所属角色不同,如考生和管理员,所以在设计登录界面时,需要提供一个角色选择框让用户选择自己所属的角色。用户登录界面使用的两个TextBox控件为用户输入用户名称和用户密码,用户单击“确定”按钮可以登录到系统,单击“取消”按钮可以取消此次登录操作。单击注册则跳转到注册界面。关于用户登录界面有下面3点需要说明:(1)用户的角色是从Roles表获取的,但是不显示超级管理员角色。(2)用户登录界面使用两个非空验证控件,他们分别为RFVUseName和RFVPassword。RFVUseName非空验证控件对用户名称进行非空验证,RDVPassworf非空验证控件对用户密码进行非空验证。(3)这两个非空验证控件仅仅对“确定”按钮有效,对“取消”按钮是无效的,具体方法就是把“取消”按钮的属性CausesValidation的值设为false4.2.2 用户登录用户登录流程图如下图所示:数据库用户登录登录成功?否考生管理员在线答题页面系统维护题库管理系统数据访问层是用户单击“确定”按钮触发时间SureBtn_Click(),该事件实现用户登录的验证过程。时间SureBtn_click()调用数据访问层的函数GetUserLogin()验证用户的输入,如果用户输入是正确的,用户可以登录到系统中,否则页面弹出密码错误对话框或用户角色所属错误对话框。函数GetUserLogin()从数据库获取合法用户的ID数据,返回的结果为对象SqlDataReader.用户登录是应用程序的唯一入口,为了提高登录验证过程的安全性,函数GetUserLogin()调用存储过程Pr_GetUserLogin访问数据库。存储过程Pr_GetUserLogin的代码如下:ALTER PROCEDURE Pr_GetUserLogin( UserName varchar(32), Password varchar(100)ASSELECT UserID FROM Users WHERE UserName = UserName AND Password = Password为了提高整个系统的安全性,在用户表Users中存储的用户密码Password字段不是用户密码的真实值,而是加密后的密码字符串。加密函数Encrtpt()被定义为UserDB类的静态函数。调用加密函数时,首先那加密字符串进行编码成Uncode,然后使用系统的不对称加密算法MD5加密用户密码串。用户登录时只需要验证加密后的密码串和数据库存储的密码串是否一致即可。该函数的代码如下:/ / 用户加密函数/ public static String Encrypt(string password) Byte clearBytes = new UnicodeEncoding().GetBytes(password);Byte hashedBytes = (HashAlgorithm) CryptoConfig.CreateFromName(MD5).ComputeHash(clearBytes);return BitConverter.ToString(hashedBytes);5 题库管理试题库是整个考试系统的基础部分,试题库的建设用学科分类理论决定整个题库和试卷的难易程度,确定考试系统的总体框架等;用题型功能理论提供各种比例配置等信息。其所要实现的功能包括:试题基本信息操作:向试题库增加新试题,修改、删除、查询试题。试题分类操作:可以根据需要建立课程、章、节等目录。批量导入操作:实现从 Word 中固定格式的内容导入到试题库中。试题审核操作:试题录入完毕后,必须通过审核后才能转化成正式可用试题。导入、导出操作:可以根据需要将试题库内的文件导成特定格式的压缩作为备份,在需要的时候可以通过导入功能实现试题的解压。6 在线答题模块设计6.1 在线答题模块体系结构设计6.1.1 在线答题模块功能简介这个模块实现的功能为:学生通过验证登录后,选择要考的试卷,进入考试;还可以查询自己的成绩。6.1.2 在线答题功能模块图在线答题选择试卷答案并提交系统评分查询分数6.2 在线答题模块详细设计6.2.1 界面设计系统的在线答题功能由页面SelectPaper.aspx实现,它们的代码隐藏文件分别为SelectPaper.aspx.cs文件.考生进入SelectPaper.aspx页面后有两种选择,一种就是选择要考试卷的编号,然后进入考试;一种是查询自己的成绩。6.2.2 在线答题在线答题功能由页面SelectPaper.aspx实现,代码隐藏文件SelectPaper.aspx.cs文件。该页面初始化时,首先从Session全局变量中取到一套试卷的所有考试题目;然后由QuestionDB类的函数GetQuestions()创建问题数据源DataList。值得注意的一点是,此问题数据源DataList为Ilist接口对象,而不是一般的DataReader对象、DataSet对象或其他的ArrayList对象。问题DataList控件绑定数据时,采用Ilist接口对象作为数据源。此数据源由类QuestionDB的函数GetQuestions()函数创建。该函数的参数为ArrayList类型的对象QuestionList,它包含整套试卷的所有试题的ID。函数GetQuestions()使用for循环语句从Questions表中获取每个试题的详细信息。在此循环中使用函数GetSingleQuestion()从Questions表中获取单个问题的详细信息,然后把详细信息保存到QuestionDetails对象中,最后函数把题目的详细信息构建为一个ArrayList对象,并在函数的最后返回此对象。函数GetQuestions()仅仅绑定试卷的问题,并没有绑定每个试题的答案,函数GetAnswers()和函数BindAnswerList()实现该功能。函数GetAnswers()属于数据访问层函数,它需要参数QuestionID从Answers表取到属于QuestionID的问题答案,并把试题答案传递到应用程序的页面层。在函数GetAnswers()基础上,应用程序的页面呈现层就可以使用该函数从数据库获取试题答案,并把试题的答案绑定到每个相应的问题。绑定试题答案由函数BindAnswerList()实现,她参数的为RadioButtonList控件。7 阅卷管理客观题阅卷相对简单,仅需由系统自动将学生和服务器上标准答案进行比对即可。该模块的功能是是在考试结束后,由部门内具有权限的教师登陆本系统实现对学生主观题的评阅,其主要实现的功能包括:信息的导入:本部分主要由部门负责人来进行设定,是将学生的基本信息、所用试卷信息、以及学生的答卷信息导入到本模块中来。试卷的评阅:教师根据学生作答情况给出每道题相应的分数。自动汇总:当教师每阅完一道试题后,系统可以实现自动将该题分数录入到学生成绩库中,实现学生成绩的累加求和。8 考试系统数据库设计数据库技术在计算机软件领域一直是重要的主题,产生于 20 世纪 60 年代的数据库技术,经过 50 多年的发展,已经形成较为完整的理论体系和一系列实用系统。针对基于 C/S 的计算机网络考试系统来说,数据库是该系统的重要子系统之一。 选择什么样的数据库系统,对系统的实现起着至关重要的作用。 SQL Server是一种高效的关系数据库系统,它可与 WindowsNT/2000 /XP 等操作系统紧密集成,这种安排使 MS SQLServer 能充分利用操作系统所提供的特性。 对复杂的C/S 系统来说,SQL Server 是一个很好的选择,本系统的开发,采用了 SQL Server 2005 作为后台数据库系统。实体是指系统工作环境中所涉及的事物,属性是对实体特征的描述从考试系统数据库结构设计的角度来看,根据数据需求分析得出系统的实体属性,包括管理员实体属性,课程实体属性,分数实体属性,试题实体属性,考生实体属性,教师实体属性,题目实体属性等,各个实体属性本身又组成了新的子系统,每个实体的属性图如下:用户名管理员编号备注管理员密码编码学时名称课程试卷编号编号考生编号分数分数考生编号分数试卷编号分数编号分数9考试系统实现与测试考试系统通过视图层、控制层和模型层三层架构实现,其中视图层使用 HTML+JSP 技术,实现输入和输出;控制层使用Servlet 技术,实现视图层和模型层的交互管理;模型层采用 JavaBean 技术,实现业务逻辑的处理后台使用 SQL 数据库实现信息存储和管理。 系统分三种用户类型:系统管理员 教师用户和学生用户,其中系统管理员拥有系统最高权限,负责管理教师的信息以及考试的全过程;教师用户拥有中级系统权限,负责管理学生信息,组织试卷,考试过程监督和成绩管理;学生用户拥有最低权限,只能填写个人信息,参加考试和成绩查询不同权限的用户登录系统会进入不同的管理模块界面,系统用户登录模块的流程如下。考试系统的测试综合了白盒测试黑盒测试两种方法,主要使用的是黑盒测试方法,在测试当中遵循了“尽早地和不断进行测试”,“保证测试用例的完整性和有效性”原则,通过测试达到如下测试目的:第一功能检查,检查功能是否正确,是否遗漏应该实现的功能等;第二接口检查,检查能否正确地接收信息或输出信息;第三数据检查;检查数据结构或外部信息是否有访问错误;第四性能检查,检查性能需求能否得到满足;第五初始化终止检查,主要检查是否能进行正确的初始化或终止,通过对系统的全面测试,该系统痛过了上述五项检查,系统运行正常,视线里用例的完整性和有效性,达到了系统的设计目标。总结随着hiteme班ntranet技术的高速发展和广泛应用,教育模式也在发生深刻的变化。传统的考试方式,组织一次考试至少要经历五个环节:人工出卷!考生考试!人工阅卷!成绩评估和试卷分析,工作量大,但效率低。如今,越来越多的人通过上网学习新知识。由于网络学习不受空间和时间上的限制,因此发展空间很大。为适应新形势下考试的要求,必须对传统的考试方法进行改革。基于C/S模式的在线考试系统从组卷、答卷到客观题评卷全部由计算机完成,考试内容和考试成绩很少会受到人为主观因素的干扰,有效地提高了考试的公平性及科学性,使考试管理工作更加规范化和科学化,并可以实时对考试成绩进行查询。大大减轻了教师和教务人员的工作负担,提高了工作效率。本课题其主要功能是在网上实现公共课的考试以及试题库系统的建立与维护,可操作性强,基本上达到了预期的效果,可以有效地克服传统考试的弊端,实现无纸化考试但是,在线试题库考试系统仍然不能完全替代传统的考试,随着系统的不断完善,技术的不断更新,基于C/S模式的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论