当前位置: 首页 > 免费论文下载 > 科学技术 > 电子技术 >
论文服务

基于网络环境下考试系统软件的设计与实现

时间:2013-05-27来源:易品网 点击:
0 引言 
  随着信息技术的快速发展,计算机技术已广泛应用于生产生活的方方面面,在学校的日常教学过程中尤为如此。老师对所讲授课程的准备、教学过程的实施以及教学成果的评价,都离不开计算机。我们传统的教学考试,要提前准备试题,印刷试卷,考试以后试卷就会变成废纸一堆,不但费工费时,还浪费资源,在提倡绿色环保的今天,可以更多的使用计算机技术,不但能够节能减排,还能极大地提高工作效率,以下是基于网络环境下的计算机考试软件的功能设计。 
  1 考试软件的结构 
  考试系统软件采用客户机/服务器(C/S)工作模式,客户机主要负责考试试题的显示、考生考试过程的记录;考试服务器负责考生身份的验证、考试数据的收集汇总,考试过程的管理及特殊情况的处理。可以把试题信息放在客户机上,这样做的好处是减轻考试服务器的负担,减轻网络的通信量,可以保证连入较多客户端时,不会影响考试服务器的正常工作,达到均衡负载的目的。在网络通信过程中,客户机与服务器使用TCP/IP通信协议,保证信息传递的安全、快速、准确。(本文中的客户机、服务器均指考试系统客户机软件、考试系统服务器软件。) 
  2 考试服务器的主要功能 
  考试服务器主要设置两个通信端口,一个是负责考试服务器间的通信,一个是与客户机的通信。 
  2.1 保证唯一存在 在一个局域网络中,为了客户机能够自动寻找到唯一的服务器并与其建立通信联系,就必须要保证只能有一个考试服务器存在,所以在考试服务器启动后,就要以广播的方式查询是否有其它的考试服务器,如果有它会收到相应的命令并停止执行,从而保证考试服务器的唯一存在。 
  2.2 与考试客户机建立联系 考试服务器启动后,把自己的地址及端口信息以广播的方式通知各考试机,各考试机收到后自动与考试服务器建立联系。 
  2.3 管理考试客户机 考试服务器负责验证考生登录身份的合法性,防止多次登录、擅自换机考试、替考等现象发生。管理人员也可以通过考试服务器向考试机发送各种控制命令及信息,如强制收卷、考生重考、考生考试时间延迟、考生换机考试、收取考试机的考试数据,向考生个体或全体发送通知。 
  2.4 考试服务器故障时更换机器 如果在考试过程中,考试服务器故障而必须更换机器,只要另启一台考试服务器就可以了,当考试客户机收到其地址信息后,会自动与新的考试服务器建立联系,并将考试客户机中已经存在的考试信息自动上传到考试服务器中,即自动回收历次的考试信息,使考试服务器的工作达到无缝连接,不会因更换考试服务器而丢失数据,也没有其它繁琐的操作。 
  3 考试客户机主要功能 
  3.1 与考试服务器建立通信联系 考试客户机启动后,以广播的方式向本网查找考试服务器,如果收到服务器传来的地址信息,就可以与其建立通信联系,如果未收到,就等待考试服务器的启动。 
  3.2 考生登录 当考试客户机与考试服务器建立联系后,考生就可以进入登录界面,向考试服务器发出登录身份验证请求。身份验证合格后,就可以从题库中抽取试题进入考试实施过程,系统考试计时开始。 
  3.3 考试信息转移 当考试服务器地址发生改变时(更换考试服务器),可以将本考试机中历次考试的信息自动上传到考试服务器中,防止因更换考试服务器而造成的数据丢失。 
  一旦考试客户机与服务器建立通信联系,就可以随时响应服务器发来的各种操作命令。 
  4 部分程序代码 
  …… 
  Server_hEvent = WSACreateEvent 
  If Server_hEvent = 0 Then 
  Debug.Print "Failed to create event.error:" & Err.LastDllError 
  End 
  End If 
  '--------------------------- 
  '获得本地IP地址及机器名称 
  ServerIp = GetIPAddress 
  ServerName = GetIPHostName 
  BroadCastIP = GetBroadCastIP(ServerIp) 
  If BroadCastIP = "" Then End 
  '获得winsock名柄 
  Server_sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
If Server_sock = INVALID_SOCKET Then 
  MsgBox "不能建立 Server_socket() :" & Err.LastDllError 
  Else 
  '建立本地地址 
  Server_Addr.sin_family = AF_INET 
  Server_Addr.sin_port = htons(CInt(ServerPort)) ' htons(CLng(Text2.Text)) 
  Server_Addr.sin_addr = INADDR_ANY 
  dwYes = 1 
  '设定是否能多个进程绑定到同一个端口 
  dwRet = setsockopt(Server_sock, SOL_SOCKET, SO_REUSEADDR, dwYes, LenB(dwYes)) 
  dwYes = 1 
  '设定是否进行广播 
  dwRet = setsockopt(Server_sock, SOL_SOCKET, SO_BROADCAST, dwYes, LenB(dwYes)) 
  If bind(Server_sock, Server_Addr, LenB(Server_Addr)) = SOCKET_ERROR Then 
  Debug.Print "couldnot bind() to socket locally.error:" & Err.LastDllError 
  closesocket (Server_sock) 
  Server_sock = INVALID_SOCKET 
  Else 
  End If 
  End If 
  …… 
  5 小结 
  由于考试系统中,服务器与客户机都能以广播的方式自动获得地址信息,免去了设置地址的操作,而且具有较强的故障处置能力,比如在考试过程中随时可以更换考试服务器,各考试客户机会迅速连接到新的服务器上并将历次考试信息自动上传到新的服务器上,保证了数据的完整性,操作过程完全是透明的,把复杂工作简单化,实现了傻瓜式操作。对于客观试题的考评,考生交卷后会自动评分,成绩一目了然,不但提高效率、节约资源、降低成本,而且可以对成绩进行分析,找出教学过程中的薄弱环节,提高教学效率。
  • 认准易品期刊网

1、最快当天审稿 最快30天出刊

易品期刊网合作杂志社多达400家,独家内部绿色通道帮您快速发表(部分刊物可加急)! 合作期刊列表


2、100%推荐正刊 职称评审保证可用

易品期刊网所推荐刊物均为正刊,绝不推荐假刊、增刊、副刊。刊物可用于职称评审! 如何鉴别真伪期刊?

都是国家承认、正规、合法、双刊号期刊,中国期刊网:http://www.cnki.net 可查询,并全文收录。


3、八年超过1万成功案例

易品期刊网站专业从事论文发表服务8年,超过1万的成功案例! 更多成功案例


4、发表不成功100%全额退款保证

易品期刊网的成功录用率在业内一直遥遥领先,对于核心期刊的审稿严格,若未能发表,全额退款! 查看退款证明

特色服务
杂志社内部绿色审稿通道,快速发表论文
发表流程
论文发表流程
专题推荐