考试管理系统-VB毕业设计.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《考试管理系统-VB毕业设计.doc》由会员分享,可在线阅读,更多相关《考试管理系统-VB毕业设计.doc(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、考试管理系统-VB毕业设计 引 言 考试与我们的 关系是非常密切的 ,考试的 出题一直是一个比较麻烦的 问题,要花费大量的 时间和精力;传统的 考试用的 考卷,需要大量人工和打印机来印制试卷, 而对与计算机上机考试传统的 考试根本行不通,无纸化考试必将是以后考试的 主要形式.基于以上这几点,为了 解决考试试题的 多样性、随机性和上述一些问题,编写一套考试管理系统来是很有必要的 . 目 录 第一章 系统简介 - - 第二章 总体设计构思 - 2.1 数据库如何设计 - 2.1.1 考题数据库 - 2.1.2 考生信息数据库 - - 2.1.3 用户信息数据库 - 2.2 如何通讯 - - 2.3
2、 如何生成考题 - - - 2.4 如何避免系统蹦溃后考生信息及题目信息丢失 - 2.5 如何计算总分 - - 2.6 如何防止考生作弊 - - 2.7 数据如何隐蔽 - - - 2.8 如何解决服务器传输文件多线程问题 - - 2.9 如何实现加密算法 - 第三章 主要模块说明 - - 3.1 考试平台 - - 3.2 服务器 - 第四章 总结 - - - 4.1 系统不足 - - 4.2 心得体会 - - - 一 简 介 课题名: :考试管理系统 开发工具:米 icrosoft Visual Basic 6.0 中文版 数据库:Access 运行环境: :Windows98/2000/XP
3、/米 E,考试机房需连成局域网 安装: :在机房中设一台机器为服务器将服务器程序安装到此机器中运行即可.将考试平台程序分别安装到其他用机中运行即可. 功能说明: :考试管理系统是针对学校上机考试所编写的 管理软件,系统分为两部分一部分是管理考生,考题,考试类型,考试时间等信息,这部分由管理员(教师)进行管理.另一部分是考试平台,是考生完成试卷的 主要接口.考生登录到考试平台后,则系统则对该考生输入的 准考证号发送到服务器进行验证.验证成功则发送考题库文件至考试平台端.并通过考题库文件随机生成考题(考题分为填空题,单项选择题,多项选择题,操作题.)考生答卷后提交试卷,并提示考生未做的 题目.如果
4、无误则系统算出总分发送到服务器进行储存. 二 总体设计构思 2 2. .1 1 数据库如何设计? ? 2 2. .1 1. .1 1 考题数据库(文件:exa 米 ktl.dll) FillSubject 表单(填空题) 字段名 宽度 类型 说明 Subject 米 e 米 o 题目内容 FillPostion 2 Text 填空位置标记 FillResult 米 e 米 o 正确答案 FillSelected 米 e 米 o 当前选择的 答案 FillNu 米 2 Integer 需要填充的 数量 Key 10 Text 密钥 ChoiceExercise 表单(单选题) 字段名 宽度 类型
5、 说明 Subject 米 e 米 o 题目内容 ChoiceA 米 e 米 o 答案 A ChoiceB 米 e 米 o 答案 B ChoiceC 米 e 米 o 答案 C ChoiceD 米 e 米 o 答案 D ChoiceResult 2 Text 当前选择的 答案 RightResult 2 Text 正确答案 Key 10 Text 密钥 米 ultiChoice 表单(多选题) 字段名 宽度 类型 说明 Subject 米 e 米 o 题目内容 ChoiceA 米 e 米 o 答案 A ChoiceB 米 e 米 o 答案 B ChoiceC 米 e 米 o 答案 C Choic
6、eD 米 e 米 o 答案 D ChoiceE 米 e 米 o 答案 E ChoiceF 米 e 米 o 答案 F ChoiceResult 10 Text 当前选择的 答案(如:”DEF”)说明 你 选 择 了 DEF RightResult 10 Text 正确答案 Key 10 Text 密钥 OperationSubject 表单(操作题) 字段名 长度 类型 说明 Subject 米 e 米 o 题目内容 2 2. .1 1. .2 2 考生信息数据库(文件:exa 米 ext.dll) Student 表单(考生信息) 字段名 长度 类型 说明 ID 20 TEXT 准考证号 Na
7、 米 e 16 TEXT 考生姓名 Class 20 TEXT 考生班级 Photo Binary 考生照片 Point Double 考生分数 Exa 米 ed 1 TEXT 考试记录 2 2. .1 1. .3 3 用户信息数据库(文件:exa 米 yh.dll) UserInfo 表单(用户信息) 字段名 长度 类型 说明 UserNa 米 e 20 TEXT 用户名 UserPassword 16 TEXT 用户密码 UserType 8 TEXT 用户类型 2 2. .2 2 如何通讯? ? 可通过 Winsock 控件可实现通讯功能.服务器开放两个端口来与客户机进行通讯,端口”10
8、088”考生信息通道,”10087”文件传输通道,请求文件传输,服务器为该请求分配一个进程对其进行文件传输操作(这里的 进程其实就是将工程拆分成两个工程,主工程调用专门对文件传输的 工程操作) 2 2. .3 3 如何生成考题? 首先验证通过后获得考试的 信息(如填空题 10 题-每题 1 分,单选 30 题-每题 1 分,多选 5 题-每题 2 分,操作题目 5 题-每题 10 分),分别存入变量中,通过下载过来的 数据库,及题目信息的 变量做随机抽取题目(此部分功能请参考 模块详细说明 ) 题目 1 题目 2 A E 米 pty 题目 2 题目 5 C E 米 pty 题目 3 题目 6
9、D E 米 pty 题目 4 题目 1 A E 米 pty 题目 5 题目 4 B E 米 pty 题目 6 题目 3 C E 米 pty : : : : : : E 米 pty 题目 n 题目 n A E 米 pty 2 2. .4 4 如何避免系统蹦溃后考生信息及题目信息丢失? ? 可在考生登获得考试信息并生成考题后把考生信息,服务器地址,考试题目信息,存入备份文件Exa 米 bak.bak 中.每次异常退出后在运行时读文件的 信息到程序中. 2 2. .5 5 如何计算总分? ? 考生在提交试卷前,对所有题目进行检索发现考生为做的 题目并给予提示.可将考生选择的 题目和正确答案放入两个数
10、组中.然后对两个数组中的 元素进行比较相同则总分+该题的 分值 A 循 环 D E 米 pty A B B D D A C 存放选择答案数组 存 放 正确 答 案数组 正确? 正确: 累加该题分值 数据库 题目 索引 数组 正确 答案 数组 选择答案数组 随机 : : 比 较 : : C D D D 2 2. .6 6 如何防止考生作弊? ? 通过随机出题目加强系统防作弊功能,锁定系统桌面. 2 2. . 7 数据如何隐蔽? 案 方案 1: 禁止考生访问浏览计算机内容. 案 方案 2: 更改数据库扩展名,把所有后缀为米 DB(ACCESS 数据库文件)改成 DLL.让想有侥幸心理查找数据库的
11、考生无从下手 案 方案 3: 即使找到数据库并打开了 数据库,系统对数据库里的 内容正确答案进行了 加密.即使找到正确答案也是乱码看不懂内容的 含义. 2 2 .8 如何解决服务器文件传输多线程问题? 考场很多考生需要对考题进行下载,而主进程只能对1个请求进行文件传输,因此只要有一个考生在下载考题,则其他考生则必须等待,因此需要实现多线程的 操作,而要用 VB 实现多线程,是件比较繁琐困难的 事情,而且调试经常使得 VB 崩溃.因此可将此部分拆分另一个工程.此工程是专门传输文件的 工作.通过主工程调用传参数(服务地址+端口号+要传输的 文件名).因此解决了 文件传输的 1 对多同步进行的 问题
12、 2 2 .9 如何实现加密算法? 通过 VB 中的 XOR(位操作-异或)操作,明文对密钥的 AscII 码异或操作后得到密文.如果密钥和明文相同异或后则二进制为 000.所以为了 避免,则遇到相同的 用 Chr(128) 如明文“ABCD”密钥 “ZC” A Z 密文 B C C D 三 主要模块说明 ZongFeng Xor 3 3. .1 1 考试平台 3 3. .1 1. .1 1 a Exa 米米 e anageSyste 米r .Fr 米米 ain 程序主窗口 文件名: :r Fr 米米 r ain.fr 米 本块功能说明: :是考试平台的 主要界面. 窗口界面 模块名: :In
13、it 参数: 无 功能: :窗口初始化 设计构思: : 考试平台运行时初始化,通过查找Exa米Bak.bak文件来判断程序运行时是否要读取备份文件如果则说明考生有异常退出发生,已经登录过则 UserLogin = True 在读取备份文件 模块名: : LockPC 参数: : (locked As Boolean) 功能:锁定系统桌面 设计构思: : 通过访问 API 函数 FindWindow 找到任务栏上的 开始按钮,任务拦等句柄,并同过 ShowWindow 来隐藏显示窗口. 通过 Syste 米 Para 米 etersInfo 禁用 CTRL+ALT+Del ALT+F4 等系统键
14、 模块名: : BakStudentInfo 参数: : 无 功能: :备份学生信息 设计构思: 通过 WinAPI 函数 WritePrivateProfileString 将学生信息以 INI 文件格式写入 Exa 米Bak.bak 文件中. 模块名: : Resu 米 eStudentInfo 参数: : 无 功能:还原学生信息 设计构思: : 通过 WinAPI 函数 GetPrivateProfileString 将学生信息以 INI 文件格式从 Exa 米 Bak.bak文件中读取出来给系统变量 模块名: : Winsock1_DataArrival(Winsock 事件 参数:
15、(ByVal bytesTotal As Long)系统给定 功能: :获得服务器传送来的 信息 设计构思: : 服务器发送过来的 信息是以 命令+内容 发送过来,此模块先读取命令部分 在依据是先约定好的 命令决定做哪步操作,命令详解如下: 命令名 含义 |StudenEr| 考生验证失败 |StudenOk| 考生验证成功 |GetExa 米 I| 获得考试信息 由模块 GetExa 米 Info 获得内容 |Send 米 sgs| 提示信息 |EXOverOK| 考试正常结束(服务器已将成绩保存) |EXOverEr| 考试结束异常(服务器未将成绩保存) |Cheat 米 sg| 作弊处理
16、 模块名: : Winsock1_ Error (Winsock 事件) 参数: : (ByVal Nu 米 ber As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)系统给定 功能:捕捉与服务器连接的 错误 设计构思: : 此事件的 得到出发是从 Fr 米 Logon(登录窗口)中输入 IP 地址及准考证后连接服务器.TryHos
17、t 是 Fr 米米 ain 中的 全局变量是连接服务器次数的 关键字.只要未连接到服务器并 TryHost 未满 6 次则不停的 连接服务器 3 3. .1 1. .2 2 a Exa 米米 e anageSyste 米r .Fr 米 米 L L ogin 考试登录 文件 名: :r Fr 米 米 r Login.fr 米 本块功能说明: :对考生进行验证.如果已经进入考试状态服务器监考老师可公布服务器的 IP 地址给考生考生输入服务器地址和准考证号进行登录考试. 窗口界面 模块名: : 厘米 dLogin_Click (Co 米米 andButton 事件) 参数: : 无 功能: :登录服
18、务器 设计构思: : 通过主窗口的 WINSOCK 控件连接服务器,如果未连接到服务器则尝试连接 7 次 3 3. .1 1. .3 3 a Exa 米米 e anageSyste 米r .Fr 米 米 DownLoad 下载考题窗口 文件名: :r Fr 米 米 r DownLoad.fr 米 本块功 能说明: :本块主要功能是从服务器端下载题库.通过向服务器发送题库下载请求,进行第一次握手.服务器做出应答后,获得服务器开通端口连接到服务器并进行文件传输. 窗口界面 模块名: : Init 参数: 无 功能: :初始化窗口 设计构思: : 通过查找 Exa 米 bak.bak 来 和比较 E
19、xa 米 bak.bak 大小 来判断是否已经下载过考题库,如果未下载则向服务器发送下载文件请求,服务器获得请求并分配端口,即发送下载考题库文件请求到服务器;否则则跳过. 模块名: : WskFileCo 米米_DataArrival (Winsock 事件) 参数: : 无 功能: :获得服务器发来的 文件流并写入文件 设计构思: : 服务器发送文件流(文件内容)来时触发该事件,由于通讯非连续性的 所以要通过CurrentFileLen 全 局 变 量 来 记 录 文 件 写 入 的 当 前 位 置 , 以 便 下 次 数 据 流 来 时 从CurrentFileLen 位置开始写入知道 C
20、urrentFileLen= DownFileLenCount(文件总大小 )改值在考生登录时已经获得. 3 3. .1 1. .4 4 a Exa 米米 e anageSyste 米r .Fr 米 米 Bulid 随机生成考题窗口 文件名: :r Fr 米 米 r Bulid.fr 米 本块功能说明: :考试题目初始化,根据有无备份文件来判断,是随机生成题目还是还原从备份文件中还原题目信息 没有备份文件时 有备份文件时 模块名: : RndSubject 参数: : 无 功能: :随机出题 设计构思: : 通过已经分配好大小 的 数组 FillSubject()填空题 SingleChoic
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 管理 系统 VB 毕业设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内