毕业设计(论文)-C#在线考试系统的设计与实现.doc

上传人:来看看 文档编号:3946492 上传时间:2019-10-10 格式:DOC 页数:56 大小:823.50KB
返回 下载 相关 举报
毕业设计(论文)-C#在线考试系统的设计与实现.doc_第1页
第1页 / 共56页
毕业设计(论文)-C#在线考试系统的设计与实现.doc_第2页
第2页 / 共56页
毕业设计(论文)-C#在线考试系统的设计与实现.doc_第3页
第3页 / 共56页
毕业设计(论文)-C#在线考试系统的设计与实现.doc_第4页
第4页 / 共56页
毕业设计(论文)-C#在线考试系统的设计与实现.doc_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《毕业设计(论文)-C#在线考试系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-C#在线考试系统的设计与实现.doc(56页珍藏版)》请在三一文库上搜索。

1、I 中中 原原 工工 学学 院院 毕毕 业业 实实 训训 任任 务务 书书 2011 年 3 月 1 日 学生姓名学生姓名学号学号 专专 业业软件技术软件技术班级班级编码编码 092 课题名称课题名称在线考试系统的设计与实现在线考试系统的设计与实现 课题来源课题来源 校内实训模拟试题校内实训模拟试题 指导教师指导教师高亮高亮专业专业软件工程管理软件工程管理职称职称讲师讲师 课题说明:课题说明: 本系统为方便软件学院学生的考试管理,提高软件教学的质量,而开发在线 考试系统以用于现在多媒体教学的需要,方便考生查询,也方便给予了老师随时了 解学生学习状况。我们做的简单在线考试系统面向的用户群有三种,

2、一种是参加考 试的考生,一种是老师,另外一种是系统管理员。详细功能如下: 1. 管理员: 班级管理,系部管理,学生管理,教师管理和管理员管理。 2. 学生端:学生查看学生个人信息,查询成绩,修改密码,以及选择试卷并 进入相应的考试界面进行答题(可以保存试卷,提交试卷和下载已经打过 的答案) 。 3、教师端:教师可以查看自己的个人信息,修改密码,维护自己的课程和每 个科目的章节,题型管理和题库管理,可查看学生的成绩,可以随机或者按照章节 组卷,然后手工判卷,并反馈教师意见。 承担的任务:承担的任务: 管理员端 :(学生管理、教师管理、管理员管理、系部管理、班级管理、修改 密码) (参与) 教师端

3、: (组卷、评卷、题型管理、题库管理、课程管理、章节管理、查询成 绩、修改密码) (参与) 学生端:(查看学生个人信息、学生成绩查询、选择试卷、考试试卷、修改密 码) (独立完成) I 中中 原原 工工 学学 院院 毕毕 业业 实实 训训 任任 务务 书书 2011 年 3 月 1 日 工作进度安排:工作进度安排: 2011-3-21 至 2011-4-3 : 需求分析阶段 2011-4-4 至 2011-4-17 :设计界面阶段 2011-4-18 至 2011-5-1: 编码阶段 2011-5-2 至 2011-5-13: 测试阶段 指导教师签字:指导教师签字: 年年 月月 日日 实训单位

4、意见实训单位意见 签章:签章: 年年 月月 日日 学学院院意意见见 签章:签章: 年年 月月 日日 I 中中 原原 工工 学学 院院 毕毕 业业 实实 训训 评评 审审 表表 学号学号200907012215姓名姓名张霄专业专业软件技术班级班级编码 092 题目题目在线考试系统 指指 导导 教教 师师 评评 语语 成绩(百分制):成绩(百分制): 指导教师签名:指导教师签名: 年年 月月 日日 II 软软软软 件件件件 学学学学 院院院院 毕业实训报告毕业实训报告 课题名称:课题名称: 在线考试系统的设计与实现 专专 业:业: 软件技术 (软件编码及应用方向) 班班 级:级: 编码 092 学

5、学 号:号: 200907012215 学生姓名:学生姓名: 指导教师:指导教师: 2011 年年 5 月月 15 日日 II 摘 要 随着计算机网络技术和网络教育的不断发展,传统的基于纸笔的考试形式已不再适 应现在的发展需要,计算机在线考试正在逐步取代传统考试。在线考试系统利用网络实 现在线考试和评分等环节,现在教考分离,在一定程度上减少了形象考试的主观因素, 同时减少了教师的工作量。在线考试系统的设计就是基于上述目的开发设计的。 本系统主要包括考生考试、教师组卷给分、管理员管理三大模块,具有在线考试、 成绩查询、试卷管理、组卷和评分、用户管理等功能。本系统利用了微软的.Net 平台和 SQ

6、L Server 2005 数据库进行开发,采用了工厂模式的三层架构,同时对系统的工作原理、 需求分析和总体设计做了简要的概述。 关键词: 在线考试系统; C# ;SQL Server 2005 目 录 摘摘 要要II 第第 1 章章项目分析项目分析.1 1.1 问题描述.1 1.2 技术分析.1 1.3 工程进度计划.2 第第 2 章章 系统分析与设计系统分析与设计.3 2.1 系统分析.3 2.1.1 参与者3 2.1.2 用例及用例规约3 2.1.3 用例图4 2.2 系统设计.5 2.2.1 时序图5 2.2.2 类图.8 2.2.3 系统体系结构设计.10 2.3 数据库设计.10

7、2.3.1 E-R 图.11 2.3.2 关系模式.12 2.3.3 表的设计.13 第第 3 章章 实现与测试实现与测试.18 3.1 学生选择试卷.18 3.1.1 活动图.19 3.1.2 界面.19 3.1.3 代码.20 3.1.4 测试用例.22 3.2 学生进行考试.22 3.2.1 活动图.23 3.2.2 界面.23 3.2.3 代码.28 3.2.4 测试用例.31 第第 4 章章 结束语结束语.32 附录附录: 主要源程序主要源程序34 张霄:在线考试系统的设计与实现 1 第 1 章 项目分析 近年来,互联网和计算机的迅速发展,人们的生活、思维、工作、教育以及受教育 等方

8、式都发生了改变。开发、应用能够整合教育测评理论、方法和现在信息技术手段的 在线考试系统,为学生个性化学习提供“灵活、方便、科学、公平”的“个别化学习测 评服务”已成为教育工作者所面临的一项重要任务,通过在线考试教师可对学生的学习 进行考核,了解学生的学习效果,为改进教学提供了依据。学生可通过网上自测了解自 己对教学内容的掌握情况,提高学习兴趣。题库的及时更新和维护,保证试题库中的试 题更好地适应教学要求,在线考试时就可以减少老师的阅卷工作量,提高老师的工作效 率。所以开发一个在线考试管理系统势在必行。它相对于纸介质考试而言具有省时、省 力、存储方便等优点。现在已经被越来越多地应用到各种层次和领

9、域的考试当中。因此, 在线考试系统的开发有着必要意义。 1.1 问题描述 1、在线考试系统解决教师随机组卷和按章节组卷的问题。 2、在线考试系统解决学生随机选择试卷、显示试卷、答卷、保存答案的问题。 3、在线考试系统解决教师在计算机上手动判分的问题。 4、在线考试系统能够对学生、教师、试题库等的管理。 1.2 技术分析 在线考试系统主要使用的开发工具有:Visual Studio 2005 、SQL Server 2005。Visual Studio 2005 为系统提供开发环境,SQL Server 2005 提供连接的数据库, 在线考试系统是基于工厂模式的三层架构。 Visual Stud

10、io 2005 是微软公司推出的最新程序开发工具,是 Visual Stuido.Net 重要组 成部分,在 Visual Studio.NET 平台上使用 C#语言可以开发各种各样的程序。 SQL Server 2005 是结构化查询语言的缩写,是一种介于关系代数与关系演算之间的 语言,是一种用来与关系数据库管理系统通信的标准计算机语言。其功能包括数据查询、 数据操纵、数据定义和数据控制四方面,是一个通用的、功能极强的关系数据库语言, 目前已成为关系数据库的标准语言。 基于工厂模式的三层架构可以很容易的用新的实现来代替原有层次的实现,降低层 与层之间的依赖,有利于标准化,利于各层之间的复用。

11、 张霄:在线考试系统的设计与实现 2 1.3 工程进度计划 2011-3-21 至 2011-4-3 : 需求分析阶段 2011-4-4 至 2011-4-17 :设计界面阶段 2011-4-18 至 2011-5-1: 编码阶段 2011-5-2 至 2011-5-13: 测试阶段 张霄:在线考试系统的设计与实现 3 第 2 章 系统分析与设计 2.1 系统分析 在线考试系统在以后应用过程中越来越普遍的系统,本系统是基于 C/S 的系统。在 在线考试中学生可以选择试卷、进行考试、查询成绩;教师可以组卷、批改卷子、添加 试题;管理员可以对用户进行管理。 系统的界面设计也分为学生、教师、管理员三

12、大块。 2.1.1 参与者 学生 教师 管理员 2.1.2 用例及用例规约 用例模型通常由一组用例组成,其基本组成部件是用例、参与者和系统。 1、登录的用例规约如表 2.1 所示: 表 2.1 用户登录用例规约 用例名称:用户登录 用例 ID:01 关联角色:学生 教师 管理员 用例说明:系统验证用户身份合法性后进入系统 前置条件:无 基本事件流:1.用户请求系统登陆 2.系统弹出系统登陆页面 3.用户输入用户名信息 4.用户输入口令信息 5.用户选择登录角色信息 6.用户点击确认登录按钮 7.系统查询数据库获取用户信息赋予相应权限,根据用户权限在管理机 能页面上显示相应系统主界面 8.用例结

13、束 其它事件流: 1.用户名信息为空 2.系统提示用户名信息不能为空 3.用例结束 异常事件流: 1.登陆失败 2.系统登陆时出现系统故障(例如网络故障或数据库服务器故障)弹出 异常界面,提示系统登陆失败 后置条件:用户登录成功,进入系统主界面 张霄:在线考试系统的设计与实现 4 2、学生考试端的用例规约如表 2.2 所示: 表 2.2 学生考试端用例规约 用例名称:学生考试 用例 ID:02 关联角色:管理员 教师 用例说明:系统验证用户身份为学生后才能进入 前置条件:身份为学生 基本事件流:1.学生请求考试 2.系统随机选择试卷 3.显示随机试卷的基本信息 4.学生进入考试 5.学生保存答

14、案 6.学生提交试卷 7.学生答卷过程中中途断电而未提交试卷,可重新登录进入考试试卷并 下载已答过的答案,并提交试卷。 8.用例结束 其它事件流: 1.学生信息查询 2.学生成绩查询 3.修改密码 4.用例结束 异常事件流: 1.选择试卷失败 2.学生考试时出现系统故障(例如网络故障或数据库服务器故障)弹出 异常界面,考试失败 后置条件:选择试卷后,进入考试界面 2.1.3 用例图 用例图描述软件系统和外部参与者之间的交互。在线考试系统的学生端、教师端和 管理员端的用例图如下所示: 1、 学生端用例图如 2.1 所示: 图 2.1 学生端用例图 张霄:在线考试系统的设计与实现 5 2、教师端用

15、例图如 2.2 所示: 图 2.2 教师端用例图 3、管理员端用例图如 2.3 所示: 图 2.3 管理员端用例图 2.2 系统设计 在软件开发时期,设计阶段是富有活力和最需要发挥创造力的阶段。设计的目标, 是细化解决方案的可视化设计模式,确保设计模型终能平滑的过度到程序代码。设计的 任务就是把分析阶段产生分析模型转换为用适当手段表示的软件设计模型。 2.2.1 时序图 时序图用来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。它以 垂直轴表示时间,水平轴表示不同的对象。对象用一个带有垂直虚线的矩形框表示,并 张霄:在线考试系统的设计与实现 6 标有对象名和类名。垂直虚线是对象的生命

16、线,用于表示在某段时间内对象是存在的。 对象间的通信在对象的生命线间通过消息符号来表示,消息的箭头指明消息的类型。时 序图中的消息可以是信号或操作调用。消息可以用消息名及参数来标识。消息还可带有 条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排 斥的,即在某一时刻仅可发送分支中的一个消息。在时序图的左边可以有说明信息,用 于说明消息发送的时刻,描述动作的执行情况以及约束信息等。 1、学生个人信息查询 学生请求查看自己的个人信息,系统根据学生登录时的信息,在学生信息表中找到 符合条件的信息反馈给学生。查看学生个人信息时序图如 2.4 所示: 图 2.4 学生个人信息时

17、序图 2、学生成绩查询 学生请求查看考试成绩,系统根据学生的基本信息,在学生成绩表中找到符合条件 的信息反馈给学生。查看学生成绩时序图如 2.5 所示: 图 2.5 学生成绩查询时序图 张霄:在线考试系统的设计与实现 7 3、学生修改密码 学生请求修改自己的密码,系统根据学生修改的信息,在学生信息表中插入修改的 信息并提示学生修改结果。查看学生修改密码的时序图如 2.6 所示: 图 2.6 学生修改密码时序图 4、学生考试 学生想考试系统请求考试,考试系统为学生查找该学生可以进行的考试科目和相对 应的试卷,并把试卷信息反馈给学生。学生进入考试状态开始答题,并保存试卷。考试 结束时,学生应提交试

18、卷。学生考试时序图如 2.7 所示: 图 2.7 学生考试时序图 张霄:在线考试系统的设计与实现 8 2.2.2 类图 通过时序图基本的类已经出现,时序图中的消息其实对应的是类的方法,从用例规 约中可以抽取类的属性,通过不断地迭代可以得到设计类图。设计类在此处只将重要的 相关类详细描述。 1、学生类 学生类包含的属性主要是学生编号,学生姓名,密码,出生年月,年龄,性别,地 址,所在系部,所在班级。学生类的方法主要是一些增、删、改、查等基本操作。设计 类图如图 2.7 所示: 图 2.8 学生类 2、学生试卷类 学生试卷类包括的属性有学生编号,试卷编号,开始时间,结束时间,剩余时间。 学生试卷类

19、主要的方法有随机选择试卷。设计学生试卷类如 2.8 所示: 图 2.9 学生试卷类 3、学生答卷类 学生答卷类主要的属性有试卷编号,学生编号,题目编号,学生答案,学生得分。 设计学生答卷类如图 2.9 所示: 张霄:在线考试系统的设计与实现 9 图 2.10 学生答卷类 4、学生成绩类 学生成绩类主要属性包括试卷编号,学生编号,学生成绩。学生成绩类主要的方法 查看学生成绩。设计学生成绩类如图 2.10 所示 图 2.11 学生成绩类 5、学生端各个类之间的联系 学生根据自己要考试的科目随机选择试卷进行考试,学生保存并提交考试试卷。老 师评卷后,学生可以查看自己的考试成绩。如图 2.11 所示:

20、 用例图描述软件系统和外部参与者之间的交互。在线考试系统的学生端、教师端和 管理员端的用例图如下所示: 1、 学生端用例图如 2.1 所示: 图 2.1 学生端用例图 2、教师端用例图如 2.2 所示: 张霄:在线考试系统的设计与实现 10 图 2.2 教师端用例图 3、管理员端用例图如 2.3 所示: 图 2.3 管理员端用例图 2.2 系统设计 在软件开发时期,设计阶段是富有活力和最需要发挥创造力的阶段。设计的目标, 是细化解决方案的可视化设计模式,确保设计模型终能平滑的过度到程序代码。设计的 任务就是把分析阶段产生分析模型转换为用适当手段表示的软件设计模型。 2.2.1 时序图 时序图用

21、来描述对象之间的动态交互,着重体现对象间消息传递的时间顺序。它以 垂直轴表示时间,水平轴表示不同的对象。对象用一个带有垂直虚线的矩形框表示,并 标有对象名和类名。垂直虚线是对象的生命线,用于表示在某段时间内对象是存在的。 张霄:在线考试系统的设计与实现 11 对象间的通信在对象的生命线间通过消息符号来表示,消息的箭头指明消息的类型。时 序图中的消息可以是信号或操作调用。消息可以用消息名及参数来标识。消息还可带有 条件表达式,表示分支或决定是否发送消息。如果用于表示分支,则每个分支是相互排 斥的,即在某一时刻仅可发送分支中的一个消息。在时序图的左边可以有说明信息,用 于说明消息发送的时刻,描述动

22、作的执行情况以及约束信息等。 1、学生个人信息查询 学生请求查看自己的个人信息,系统根据学生登录时的信息,在学生信息表中找到 符合条件的信息反馈给学生。查看学生个人信息时序图如 2.4 所示: 图 2.4 学生个人信息时序图 2、学生成绩查询 学生请求查看考试成绩,系统根据学生的基本信息,在学生成绩表中找到符合条件 的信息反馈给学生。查看学生成绩时序图如 2.5 所示: 图 2.5 学生成绩查询时序图 3、学生修改密码 张霄:在线考试系统的设计与实现 12 学生请求修改自己的密码,系统根据学生修改的信息,在学生信息表中插入修改的 信息并提示学生修改结果。查看学生修改密码的时序图如 2.6 所示

23、: 图 2.6 学生修改密码时序图 4、学生考试 学生想考试系统请求考试,考试系统为学生查找该学生可以进行的考试科目和相对 应的试卷,并把试卷信息反馈给学生。学生进入考试状态开始答题,并保存试卷。考试 结束时,学生应提交试卷。学生考试时序图如 2.7 所示: 图 2.7 学生考试时序图 张霄:在线考试系统的设计与实现 13 2.2.2 类图 通过时序图基本的类已经出现,时序图中的消息其实对应的是类的方法,从用例规 约中可以抽取类的属性,通过不断地迭代可以得到设计类图。设计类在此处只将重要的 相关类详细描述。 1、学生类 学生类包含的属性主要是学生编号,学生姓名,密码,出生年月,年龄,性别,地

24、址,所在系部,所在班级。学生类的方法主要是一些增、删、改、查等基本操作。设计 类图如图 2.7 所示: 图 2.8 学生类 2、学生试卷类 学生试卷类包括的属性有学生编号,试卷编号,开始时间,结束时间,剩余时间。 学生试卷类主要的方法有随机选择试卷。设计学生试卷类如 2.8 所示: 图 2.9 学生试卷类 3、学生答卷类 学生答卷类主要的属性有试卷编号,学生编号,题目编号,学生答案,学生得分。 设计学生答卷类如图 2.9 所示: 张霄:在线考试系统的设计与实现 14 图 2.10 学生答卷类 4、学生成绩类 学生成绩类主要属性包括试卷编号,学生编号,学生成绩。学生成绩类主要的方法 查看学生成绩

25、。设计学生成绩类如图 2.10 所示 图 2.11 学生成绩类 5、学生端各个类之间的联系 学生根据自己要考试的科目随机选择试卷进行考试,学生保存并提交考试试卷。老 师评卷后,学生可以查看自己的考试成绩。如图 2.11 所示: 图 2.12 各类联系 图 2.12 各类联系 张霄:在线考试系统的设计与实现 15 2.2.3 系统体系结构设计 结构化体系结构是完成模块设计的基础。保证了程序的清晰、易读;逐步细化实现 程序的正确、可靠。在线考试系统的主要体系结构如图所示: 在线考试系统 管理员教师学生 系 部 管 理 班 级 管 理 教 师 管 理 学 生 管 理 管 理 员 管 理 修 改 密

26、码 判 卷 题 型 管 理 题 库 管 理 课 程 管 理 章 节 管 理 查 看 学 生 成 绩 查 看 教 师 信 息 修 改 密 码 组 卷 查 看 学 生 信 息 查 看 个 人 成 绩 选 择 试 卷 修 改 密 码 答 卷 图 2.13 结构图 2.3 数据库设计 数据库(Database)是按照数据结构织、存储和管理数据的仓库,它产生于距今五 十年前,随着信息技术场的发展,特别是二十世纪九十年代以后,数据管理再仅仅是存 储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从 最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方 面得到

27、了广泛的应用。 数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模 式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求 (信息要求和处理要求) 。数据库设计是建立数据库及其应用系统的技术,是信息系统开 发和建议中的核心技术。由于数据库应用系统的复杂性,为了支持相关程序运行,数据 库设计就变得异常复杂,因此最佳设计不可能一蹴而就,而只能是一种“反复探寻,逐 张霄:在线考试系统的设计与实现 16 步求精”的过程,也就是规划和结构化数据库中的数据对象以及这些数据对象之间关系 的过程。 2.3.1 E-R 图 E-R 图是用来描述现实世界

28、的概念模型,构成 E-R 图的基本要素是实体型、属性和联 系,其表示方法为: 实体型(Entity):具有相同属性的实体具有相同的特征和性质,用实体名及其属性 名集合来抽象和刻画同类实体;在 E-R 图中用矩形表示,矩形框内写明实体名;比如学生 张三、学生李四体。如果是弱实体的话,在矩形外面再套实线矩形。 属性(Attribute):实体所具有的某一特性,一个实体可由若干个属性来刻画。在 E- R 图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、 性别、都是属性。如果是多值属性的话,再椭圆形外面再套实线椭圆。如果是派生属性 则用虚线椭圆表示。 联系(Relation

29、ship):联系也称关系,信息世界中反映实体内部或实体之间的联系。 实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同 实体集之间的联系。在 E-R 图中用菱形表示,菱形框内写明联系名,并用无向边分别与 有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n 或 m : n) 。 比如 老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形 外面再套菱形。 该系统的模型主要描述了学生,教师,管理员及实体的那些属性,还有他们之间的 关系。如图 2.14 所示: 张霄:在线考试系统的设计与实现 17 教师 管理员 系部 管理 查看 管

30、理 管理 学 生 用户名 密码 密码 出生日期 姓名 学号 用户 名 密码 职称 简介 家庭住址 专业 住址年龄 性别 系部号系部名 管理 班级 班级编号班级号 所属系 邮箱 班级 n m mn 1 m 判 试 卷 m n 组成 试 卷 1 n 管理 学 生 成 绩 m n m n m n 选择考试 试卷试卷 m m nn 单选题主观题 多选题判断题 m m m 图 2.14 在线考试系统 E-R 图 2.3.2 关系模式 整个系统各实体可用以下关系来表示(其中主键已用下划线标识): 管理员(管理员编号、管理员名字、管理员密码) 教师(教师号、教师名、密码、教师职称、职务、电话、通讯地址、E-

31、mail、简介) 张霄:在线考试系统的设计与实现 18 学生(学号、姓名、密码、出生日期、性别、年龄、家庭地址、主修专业、班级编 号) 系部(系部编号、系部名称) 班级(班级编号,班级名,系部号) 课程(课程编号,教师编号,科目名称) 试卷(试卷号,课程编号,开始时间,结束时间) 试卷班级(试卷号,所属班级) 成绩(试卷号,学生学号,成绩) 分值(试卷号,题型,数量,分值) 组卷(试卷号,试题序号,题型,试题号) 答卷(编号,试卷号,学生学号,题型,试题号,学生答案,学生得分) 教师反馈(试卷号,学生编号,教师号,反馈信息) 题型(题型编号,题型名称,所属科目) 章节(章节编号,章节名,课程编

32、号) 主观题(试题号,题型编号,试题题目,答案,章节编号) 单选题(试题号,试题题目,A,B,C,D,正确答案,章节编号) 多选题(试题号,试题题目,A,B,C,D,正确答案,章节编号) 判断题(试题号,试题题目,正确答案,章节编号) 试卷是否提交(学生编号,试卷编号,是否提交) 教师职称(职称编号,教师职称) 2.3.3 表的设计 表 2.3 学生信息表 序号列名字段说明数据类型长度主键允许空 1 stuid学生编号Varchar50是否 2 stuname学生姓名Varchar50否是 3 stupwd密码Varchar50否是 4 stubrith出生年月Varchar50否是 5 st

33、usex性别Varchar4否是 6 stuage年龄Int否是 7 stuaddress家庭住址Varchar50否是 8 stumajor所属系部Varchar50否是 张霄:在线考试系统的设计与实现 19 9 classid所属班级Varchar50否是 张霄:在线考试系统的设计与实现 3 表 2.4 班级信息表 序号列名字段说明数据类型长度主 键 允许空 1classid班级编号Varchar50是否 2classname班级名称Varchar50否是 3depid系部编号Varchar50否是 2depname系部名称Varchar50否是 表 2.5 章节信息表 序号列名字段说明数

34、据类型长度主 键 允许空 1chapterid章节编号Varchar50是否 2chaptername章节名称Varchar50否是 3 courserid科目编号Varchar50否是 表 2.6 判断题信息表 序号列名字段说明数据类型长度主 键 允许空 1 selectid判断题编号Varchar50是否 2 questiontitle判断题题目Varchar100否是 3 answer正确答案Varchar50否是 4 chapterid章节编号Varchar50否是 表 2.7 单选题信息表 序号列名字段说明数据类型长度主 键 允许空 1selectid单选题编号Varchar50是否

35、 2questiontitle单选题题目Varchar100否是 3AA 答案Varchar50否是 4BB 答案Varchar50否是 5CC 答案Varchar50否是 6DD 答案Varchar50否是 7answer正确答案Varchar50否是 8chapterid章节编号Varchar50否是 表 2.8 多选题信息表 序号列名字段说明数据类型长度主 键 允许空 1 selectid多选题编号Varchar50是否 2 questiontitle多选题题目Varchar100否是 3 AA 答案Varchar50否是 4 BB 答案Varchar50否是 5 CC 答案Varcha

36、r50否是 6 DD 答案Varchar50否是 7 answer正确答案Varchar50否是 8 chapterid章节编号Varchar50否是 张霄:在线考试系统的设计与实现 3 表 2.9 客观题信息表 序号列名字段说明数据类型长度主键允许空 1 subid客观题编号Varchar50是否 2 typeid客观题题型编 号 Varchar50否是 3 questiontitle客观题题题目Varchar100否是 4 answer正确答案Varchar8000否是 5 chapterid章节编号Varchar50否是 表 2.10 题型管理信息表 序号列名字段说明数据类型长度主键允许

37、空 1 typeid题型编号Varchar50是否 2 questiontypename题型名Varchar50否是 3 courseid所属科目编 号 Varchar50否是 表 2.11 试卷分值管理表 序号列名字段说明数据类型长度主键允许空 1 paperid试卷编号Varchar50是否 2 questiontypename题型名Varchar50否是 3 number出题个数Int 否是 4 value分值Iint否是 表 2.12 生成试卷表 表 2.13 试卷班级 2.14 学生试卷信息表 序号列名字段说明数据类型长度主键允许空 1 stuid学生编号Varchar50否是 2

38、paperid试卷编号Varchar50否是 3 startime开始时间datetime否是 4 endtime结束时间datetime否是 5 submit是否提交Varchar50否是 6 resulttime剩余时间int否是 序号列名字段说明数据类型长度主键允许空 1 paperid试卷编号Varchar50是否 2 questionsort顺序Varchar50否是 3 questiontypename题型名Int 否是 4 questionid试题编号Iint否是 序号列名字段说明数据类型长度主键允许空 1paperid试卷编号Varchar50否是 2classid班级编号Va

39、rchar50否是 张霄:在线考试系统的设计与实现 3 表 2.15 学生成绩信息表 序号列名字段说明数据类型长度主键允许空 1paperid试卷编号Varchar50否是 2stuid学生编号Varchar50否是 3score成绩int否是 表 2.16 教师反馈信息表 序号列名字段说明数据类型长度主键允许空 1 paperid试卷编号Varchar50否是 2 stuid学生编号Varchar50否是 3 teacherid教师编号Varchar50否是 4 back反馈意见Varchar40000否是 表 2.17 试卷信息表 表 2.18 学生答卷信息表 序号列名字段说明数据类型长度

40、主键允许空 1id编号Varchar50是否 2paperid试卷编号Varchar50否是 3stuid学生编号Varchar50否是 4questiontypename题型名Varchar50否是 5questionid试题编号Varchar50否是 6stuanswer学生答案Varchar50否是 7stuscore学生得分Varchar50否是 序号列名字段说明数据类型长度主键允许空 1 paperid试卷编号Varchar50是否 2 courseid科目编号Varchar50否是 3 startime开始时间Datetime否是 4 endtime结束时间Datetime否是 张

41、霄:在线考试系统的设计与实现 32 第 3 章 实现与测试 在线考试系统是一个为教师、学生提供一个在线考试的系统。该系统包含学生端、 教师端、管理员端。该系统为学生考试提供了一个方便的平台,也为教师改卷提供了简 单的程序,同时也为管理员的管理提供了一个入口。会对学生作弊有一定的预防能力, 教师批卷会大大提高其效率,也方便了管理员的管理。该课题不仅符合现在考试系统的 需求,同时还操作简单、易学,是教师、学生的有用的工具。 3.1 学生选择试卷 在线考试系统是为了方便教师和学生所设计的系统,它不仅方便了教师每次出试卷 时不用四处寻找题型和考题和教师可以随时添加题型和考题,还使学生进行在线考试预 防

42、考生作弊现象。 在这里为大家介绍学生端在进行考试之前要进行选择试卷的功能,考生可以选择自 己所要考试的科目,系统根据考生登录时,判断考生所在系部和班级选择出该考生可以 考试的所有科目,再根据所有科目的考试时间和考生登录考试窗体的时间进行比较,判 断在该时间所能进行的考试科目,考生就可以根据所要考试的科目进行选择,然后系统 会随机为该考生抽出一份考卷,学生就进入考试界面中进行考试。 在选择考试界面中,主要是考生选择所要的科目后,系统如何随机为考生抽出一份 试卷和系统自动判断考生在现在时间可以进行的考试科目的判断。 3.1.1 活动图 张霄:在线考试系统的设计与实现 33 图 3.1 学生选择试卷

43、活动图 3.1.2 界面 在选择界面中学生可以选择考试科目,系统会自动为学生随机选择一份试卷,学生可 以在下面的 TextBox 中看到学生考试试卷的基本信息:试卷号,考试科目,开始时间, 结束时间和总时间。考生选择试卷界面如图 3.2 所示: 图 3.2 学生选择试卷界面 3.1.3 代码 随机产生试卷的代码: string id = comboBox2.SelectedValue.ToString(); int k = new BLL.SelectTest().SgetpaperCount(id); if (k != 0) Random r = new Random(unchecked(i

44、nt)DateTime.Now.Ticks); int curr_que_num = (int)(k) * r.NextDouble() + 1); DataTable dt2 = new BLL.SelectTest().Sgetpaper(id); string paperid = dt2.Rowscurr_que_num - 10.ToString(); DataTable dt = new BLL.SelectTest().SelectPaper(paperid); Model.UpdatePwd.paperid = dt.Rows00.ToString(); DateTime dt1

45、 = DateTime.Now; if (dt1.Hour (DateTime)dt.Rows03).Hour) label3.Text = “不能进行考试!“; 张霄:在线考试系统的设计与实现 34 button1.Enabled = false; else textBox1.Text += “试卷号:“ + dt.Rows00.ToString(); textBox1.Text += “rn“; textBox1.Text += “考试科目:“ + comboBox2.Text; textBox1.Text += “rn“; textBox1.Text += “开始时间:“ + dt.Ro

46、ws02.ToString(); Model.UpdatePwd.startime = (DateTime)dt.Rows02; textBox1.Text += “rn“; textBox1.Text += “结束时间“ + dt.Rows03.ToString(); Model.UpdatePwd.endtime = (DateTime)dt.Rows03; textBox1.Text += “rn“; if (dt1.Hour = (DateTime)dt.Rows02).Hour) int a1 = (DateTime)dt.Rows02).Minute; int a2 = dt1.M

47、inute; int a3 = a2 - a1; if (a3 = 0) DataTable table = new BLL.SelectTest().YesNo(Model.UpdatePwd.userid, Model.UpdatePwd.paperid); if (table.Rows.Count = 0) label3.Text = “可以进行考试!“; else label3.Text = “你已考过此试卷!“; button1.Enabled = true; int hour = Convert.ToInt32(DateTime)dt.Rows03).Hour) - Convert

48、.ToInt32(DateTime)dt.Rows02).Hour); int minute = Convert.ToInt32(DateTime)dt.Rows03).Minute) - Convert.ToInt32(DateTime)dt.Rows02).Minute); int alltime = hour * 60 + minute; ResultTime = alltime - a2 + a1; Model.UpdatePwd.resulttime = ResultTime; textBox1.Text += “考试总时间为:“ + alltime.ToString() + “分钟

49、“; 张霄:在线考试系统的设计与实现 35 else if (a3 = 30) label3.Text = “考试时间已过三十分钟,该生无权考试!“; else label3.Text = “可以进行考试!“; button1.Enabled = true; int hour = Convert.ToInt32(DateTime)dt.Rows03).Hour) - Convert.ToInt32(DateTime)dt.Rows02).Hour); int minute = Convert.ToInt32(DateTime)dt.Rows03).Minute) - Convert.ToInt32(DateTime)dt.Rows02)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1