模块名: ConnectServer
参数: 无
功能:连接服务器
模块名: CountZongFeng
参数: 无
功能:计算总分并发送总分到服务器 准考证+分数
设计构思:
通过对考生所选的答案和正确答案进行循环对比正确则加上改题所得的分数。
模块名: JieMi
参数: (Dstr As String, Dkey As String)
功能:计算总分并发送总分到服务器 准考证+分数
设计构思:
参数Dstr 密文, 参数Dkey 密钥 通过密文的每个字符和密钥的每个字符进行异或操作得到明文,
模块名: GetExamInfo
参数: (CData As String)
功能:获取考试信息
设计构思:
参数Cdata是存放考试信息的文本流 格式是:填空题总数+填空题每题分数+单选题总数+每题分数+多选题总数+每题分数+操作题总数+考试时间+考题文件大小;将内容分别提取到变量中去。
3.2 考试服务器
3.2.1 ExamServer.FrmMain 主模块
文件名:FrmMain.frm
本块功能说明:是考试服务器的主要界面。是系统的核心,该模块接受考试平台的连接请求并与其通讯。是进入系统其他模块的主要途径。
模块名: Init
参数: 无
功能:初始化系统
设计构思:
初始化系统,初始化考试信息,初始化服务器状态信息。
模块名: Winsock1_DataArrival
参数: (Index As Integer, ByVal bytesTotal As Long)
功能:获得考试平台的传输的信息
设计构思:
考试平台是以命令类型+内容 返回或请求给服务器端的
如下表单:
命令名 含义
|StudenID| 请求验证考生成功返回发送|StudenOk|失败|StudenEr|
|GetExamI| 请求获得考试信息。并发送"|GetExamI|"+信息到考试平台
|ExamOver| 请求考试结束,服务器将发过来的成绩进行记录如果成功返回|EXOverOK|如果失败返回|EXOverEr|
|CheatMsg| 考试平台收到作弊处理的反馈信息,服务器将对改考生进行作弊记录
"|SendFile|" 文件传输请求,(分配一个线程并随机开放一个临时端口等待传输文件)
模块名: Winsock1_ConnectionRequest
参数: (Index As Integer, ByVal requestID As Long)
功能:响应考试平台计算机的连接请求
设计构思:
每当获得一次请求 则会为这台请求的的计算机分配一个Winsock与它建立连接或找取空闲的Winsock与他建立连接
3.2.2 ExamServer.FrmLogin 登录模块
文件名:FrmLogin.frm
本块功能说明:登录界面,通过用户输入的用户名和密码在数据库中检索,如果正确则登录
3.2.3 ExamServer.FrmEditPW & FrmAddUser 修改密码模块添加用户模块
文件名:FrmEditPW.frm & FrmAddUser.frm
本块功能说明:修改密码和添加密码模块
3.2.4 ExamServer.FrmExamSetup 考试信息设置模块
文件名:FrmExamSetup.frm
本块功能说明:考试设置,将考试信息储存在ExamSetup.ini文件中
说明:
FillSubject对应填空题 Count题目总数 Value为每题分值
Select对应单选题 Count题目总数 Value为每题分值
MultiSelect对应多选题 Count题目总数 Value为每题分值
Operation对应操作题 Count题目总数 Value为每题分值
Time对应考试时间 Value时间值
3.2.5 ExamServer.FrmAddFillSubject 添加填空题模块
文件名:FrmAddFillSubject.frm
本块功能说明:添加填空题目,填空位置以特殊符号代替如(1+1=☆),通过CheckSubject转换成1+1=____
同时算出填空的数量,分配好存放答案的TextBox,管理员输入后存入数据库。(答案加密)密钥为当前记录号也一起存入数据库
模块名: CheckSubject
参数: (Sign As String)
功能:转换填空分隔符,计算分割符数
设计构思:
填空位置以特殊符号代替如(1+1=☆),通过CheckSubject转换成1+1=____同时算出填空的数量,分配好存放答案的数组变量。
模块名: CheckResult
参数:无
功能:转换填空分隔符,计算分割符数
设计构思:
检查答案是否全部输入。
3.2.6 ExamServer.FrmEditFillSubject 编辑填空题模块
文件名:FrmEditFillSubject.frm
本块功能说明:编辑填空题目,与上一节功能相似只是做编辑操作,填空分隔符不可修改
3.2.7 ExamServer.FrmAddSubject 添加单选题模块
文件名:FrmAddSubject.frm
本块功能说明:添加单选题,将用户输入的信息存入数据库(答案加密)密钥为当前记录号也一起存入数据库
3.2.8 ExamServer.FrmEditSubject 编辑单选题模块
文件名:FrmEditSubject.frm
本块功能说明:编辑单选题,答案通过当前记录的密钥解密出来,将用户修改的信息存入数据库(答案加密)密钥为当前记录号也一起存入数据库
3.2.10 ExamServer.FrmAddMultiChoice 添加多选题模块
文件名:FrmAddMultiChoice.frm
本块功能说明:添加单选题,将用户输入的信息存入数据库(答案加密)密钥为当前记录号也一起存入。
3.2.11 ExamServer.FrmAddMultiChoice 编辑多选题模块
文件名:FrmAddMultiChoice.frm
本块功能说明:添加单选题,将用户输入的信息存入数据库(答案加密)密钥为当前记录号也一起存入数据库
3.2.12 ExamServer.FrmAddOperation添加操作题模块
文件名:FrmAddOperation.frm
本块功能说明:添加操作题目。
3.2.13 ExamServer.FrmEditOperation编辑操作题模块
文件名:FrmEditOperation.frm
本块功能说明:编辑操作题目。
3.2.13 ExamServer.FrmAddStudent 添加考生模块
文件名:FrmAddStudent.frm
本块功能说明:添加考生
3.2.14ExamServer.FrmEditStudent 编