当前位置:首页>> >>


vb考试管理系统(源代码 论文).rar

收藏

资源目录
    文档预览:
    编号:20180913212522724    类型:共享资源    大小:707.55KB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    35
    金币
    关 键 词:
    vb 考试 管理 系统 源代码 论文
    资源描述:
    考试管理系统1引 言考试与我们的关系是非常密切的,考试的出题一直是一个比较麻烦的问题,要花费大量的时间和精力;传统的考试用的考卷,需要大量人工和打印机来印制试卷, 而对与计算机上机考试传统的考试根本行不通,无纸化考试必将是以后考试的主要形式。基于以上这几点,为了解决考试试题的多样性、随机性和上述一些问题,编写一套考试管理系统来是很有必要的。目 录第一章 系统简介------------------------------------------------------------------------第二章 总体设计构思-------------------------------------------------------------------2.1 数据库如何设计----------------------------------------------------------------2.1.1 考题数据库---------------------------------------------------------------2.1.2 考生信息数据库----------------------------------------------------------2.1.3 用户信息数据库----------------------------------------------------------2.2 如何通讯----------------------------------------------------------------------2.3 如何生成考题------------------------------------------------------------------2.4 如何避免系统蹦溃后考生信息及题目信息丢失 ----------------------------------2.5 如何计算总分------------------------------------------------------------------2.6 如何防止考生作弊--------------------------------------------------------------2.7 数据如何隐蔽------------------------------------------------------------------2.8 如何解决服务器传输文件多线程问题 --------------------------------------------2.9 如何实现加密算法---------------------------------------------------------------第三章 主要模块说明--------------------------------------------------------------------3.1 考试平台------------------------------------------------------------------------3.2 服务器--------------------------------------------------------------------------第四章 总结-----------------------------------------------------------------------------4.1 系统不足-------------------------------------------------------------------------4.2 心得体会-------------------------------------------------------------------------考试管理系统2一 简 介课题名:考试管理系统开发工具:Microsoft Visual Basic 6.0 中文版数据库:Access运行环境:Windows98/2000/XP/ME,考试机房需连成局域网安装:在机房中设一台机器为服务器将服务器程序安装到此机器中运行即可. 将考试平台程序分别安装到其他用机中运行即可.功能说明:考试管理系统是针对学校上机考试所编写的管理软件, 系统分为两部分一部分是管理考生,考题,考试类型,考试时间等信息, 这部分由管理员(教师) 进行管理. 另一部分是考试平台,是考生完成试卷的主要接口.考生登录到考试平台后, 则系统则对该考生输入的准考证号发送到服务器进行验证.验证成功则发送考题库文件至考试平台端. 并通过考题库文件随机生成考题(考题分为填空题,单项选择题, 多项选择题,操作题.)考生答卷后提交试卷, 并提示考生未做的题目.如果无误则系统算出总分发送到服务器进行储存 .二 总体设计构思2.1 数据库如何设计?2.1.1 考题数据库(文件:examktl.dll)FillSubject 表单 (填空题)字段名 宽度 类型 说明Subject Memo 题目内容FillPostion 2 Text 填空位置标记FillResult Memo 正确答案FillSelected Memo 当前选择的答案FillNum 2 Integer 需要填充的数量Key 10 Text 密钥考试管理系统3ChoiceExercise 表单( 单选题 )字段名 宽度 类型 说明Subject Memo 题目内容ChoiceA Memo 答案 AChoiceB Memo 答案 BChoiceC Memo 答案 CChoiceD Memo 答案 DChoiceResult 2 Text 当前选择的答案RightResult 2 Text 正确答案Key 10 Text 密钥MultiChoice 表单(多选题)字段名 宽度 类型 说明Subject Memo 题目内容ChoiceA Memo 答案 AChoiceB Memo 答案 BChoiceC Memo 答案 CChoiceD Memo 答案 DChoiceE Memo 答案 EChoiceF Memo 答案 FChoiceResult 10 Text 当前选择的答案(如:”DEF”) 说明你选择了 DEFRightResult 10 Text 正确答案Key 10 Text 密钥OperationSubject 表单(操作题 )字段名 长度 类型 说明Subject Memo 题目内容考试管理系统42.1.2 考生信息数据库(文件:examext.dll)Student 表单(考生信息)字段名 长度 类型 说明ID 20 TEXT 准考证号Name 16 TEXT 考生姓名Class 20 TEXT 考生班级Photo Binary 考生照片Point Double 考生分数Examed 1 TEXT 考试记录2.1.3 用户信息数据库(文件:examyh.dll)UserInfo 表单(用户信息)字段名 长度 类型 说明UserName 20 TEXT 用户名UserPassword 16 TEXT 用户密码UserType 8 TEXT 用户类型2.2 如何通讯?可通过 Winsock 控件可实现通讯功能 .服务器开放两个端口来与客户机进行通讯 ,端口”10088”考生信息通道,”10087” 文件传输通道, 请求文件传输,服务器为该请求分配一个进程对其进行文件传输操作(这里的进程其实就是将工程拆分成两个工程,主工程调用专门对文件传输的工程操作)2.3 如何生成考题?首先验证通过后获得考试的信息(如填空题 10 题- 每题 1 分,单选 30 题- 每题 1 分,多选 5 题-每题 2 分,操作题目 5 题-每题 10 分),分别存入变量中,通过下载过来的数据库,及题目信息的变量做随机抽取题目(此部分功能请参考 模块详细说明)考试管理系统5题目 1 题目 2 A Empty题目 2 题目 5 C Empty题目 3 题目 6 D Empty题目 4 题目 1 A Empty题目 5 题目 4 B Empty题目 6 题目 3 C Empty::::::Empty题目 n 题目 n A Empty2.4 如何避免系统蹦溃后考生信息及题目信息丢失 ?可在考生登获得考试信息并生成考题后把考生信息,服务器地址, 考试题目信息,存入备份文件Exambak.bak 中.每次异常退出后在运行时读文件的信息到程序中.2.5 如何计算总分?考生在提交试卷前,对所有题目进行检索发现考生为做的题目并给予提示. 可将考生选择的题目和正确答案放入两个数组中.然后对两个数组中的元素进行比较相同则总分+该题的分值A DEmpty AB BD DA C::::C DD循环比较D存放选择答案数组存放正确答案数组正确?正确:累加该题分值ZongFeng数据库题目索引数组正确答案数组选择答案数组随机考试管理系统62.6 如何防止考生作弊?通过随机出题目加强系统防作弊功能,锁定系统桌面.2.7 数据如何隐蔽?方案 1:禁止考生访问浏览计算机内容。方案 2:更改数据库扩展名,把所有后缀为 MDB(ACCESS 数据库文件)改成 DLL。让想有侥幸心理查找数据库的考生无从下手方案 3:即使找到数据库并打开了数据库,系统对数据库里的内容正确答案进行了加密。即使找到正确答案也是乱码看不懂内容的含义。2.8 如何解决服务器文件传输多线程问题?考场很多考生需要对考题进行下载,而主进程只能对 1 个请求进行文件传输,因此只要有一个考生在下载考题,则其他考生则必须等待,因此需要实现多线程的操作,而要用 VB 实现多线程,是件比较繁琐困难的事情,而且调试经常使得 VB 崩溃。因此可将此部分拆分另一个工程。此工程是专门传输文件的工作。通过主工程调用传参数(服务地址+端口号+要传输的文件名) 。因此解决了文件传输的 1 对多同步进行的问题2.9 如何实现加密算法?通过 VB 中的 XOR(位操作 -异或)操作,明文对密钥的 AscII 码异或操作后得到密文。如果密钥和明文相同异或后则二进制为 000….所以为了避免,则遇到相同的用 Chr(128)如明文“ABCD”密钥 “ZC”A ZB CCD密文三 主要模块说明3.1 考试平台3.1.1 ExamManageSystem.FrmMain 程序主窗口文件名:FrmMain.frmXor考试管理系统7本块功能说明:是考试平台的主要界面。窗口界面模块名:Init参数: 无功能:窗口初始化设计构思:考试平台运行时初始化,通过查找 ExamBak.bak 文件来判断程序运行时是否要读取备份文件如果则说明考生有异常退出发生,已经登录过则 UserLogin = True 在读取备份文件模块名: LockPC参数: (locked As Boolean)功能:锁定系统桌面设计构思:通过访问 API 函数 FindWindow 找到任务栏上的开始按钮,任务拦等句柄,并同过ShowWindow 来隐藏显示窗口. 通过 SystemParametersInfo 禁用 CTRL+ALT+Del ALT+F4 等系统键模块名: BakStudentInfo考试管理系统8参数: 无功能:备份学生信息设计构思:通过 WinAPI 函数 WritePrivateProfileString 将学生信息以 INI 文件格式写入ExamBak.bak 文件中.模块名: ResumeStudentInfo参数: 无功能:还原学生信息设计构思:通过 WinAPI 函数 GetPrivateProfileString 将学生信息以 INI 文件格式从 ExamBak.bak文件中读取出来给系统变量模块名: Winsock1_DataArrival(Winsock 事件参数: (ByVal bytesTotal As Long)系统给定功能:获得服务器传送来的信息设计构思:服务器发送过来的信息是以 命令+内容 发送过来, 此模块先读取命令部分 在依据是先约定好的命令决定做哪步操作,命令详解如下 :命令名 含义|StudenEr| 考生验证失败|StudenOk| 考生验证成功|GetExamI| 获得考试信息 由模块 GetExamInfo 获得内容|SendMsgs| 提示信息|EXOverOK| 考试正常结束(服务器已将成绩保存 )|EXOverEr| 考试结束异常(服务器未将成绩保存 )|CheatMsg| 作弊处理模块名: Winsock1_ Error (Winsock 事件)参数: (ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)系统给定功能:捕捉与服务器连接的错误设计构思:考试管理系统9此事件的得到出发是从 FrmLogon(登录窗口) 中输入 IP 地址及准考证后连接服务器。TryHost 是 FrmMain 中的全局变量是连接服务器次数的关键字 .只要未连接到服务器并TryHost 未满 6 次则不停的连接服务器3.1.2 ExamManageSystem.FrmLogin 考试登录文件名:FrmLogin.frm本块功能说明:对考生进行验证。如果已经进入考试状态服务器监考老师可公布服务器的 IP 地址给考生考生输入服务器地址和准考证号进行登录考试。窗口界面模块名: CmdLogin_Click (CommandButton 事件)参数: 无功能:登录服务器设计构思:通过主窗口的 WINSOCK 控件连接服务器,如果未连接到服务器则尝试连接 7 次3.1.3 ExamManageSystem.FrmDownLoad 下载考题窗口文件名:FrmDownLoad.frm本块功能说明:本块主要功能是从服务器端下载题库。通过向服务器发送题库下载请求,进行第一次握手。服务器做出应答后,获得服务器开通端口连接到服务器并进行文件传输。考试管理系统10窗口界面模块名: Init参数: 无功能:初始化窗口设计构思:通过查找 Exambak.bak 来 和比较 Exambak.bak 大小来判断是否已经下载过考题库,如果未下载则向服务器发送下载文件请求,服务器获得请求并分配端口,即发送下载考题库文件请求到服务器;否则则跳过。模块名: WskFileComm_DataArrival (Winsock 事件)参数: 无功能:获得服务器发来的文件流并写入文件设计构思:服务器发送文件流(文件内容)来时触发该事件,由于通讯非连续性的所以要通过CurrentFileLen 全局变量来记录文件写入的当前位置,以便下次数据流来时从CurrentFileLen 位置开始写入知道 CurrentFileLen>= DownFileLenCount(文件总大小)改值在考生登录时已经获得。3.1.4 ExamManageSystem.FrmBulid 随机生成考题窗口文件名:FrmBulid.frm本块功能说明:考试题目初始化,根据有无备份文件来判断,是随机生成题目还是还原从备份文件中还原题目信息
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:vb考试管理系统(源代码 论文).rar
    链接地址:http://www.gold-doc.com/p-138978.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开