《毕业设计(论文)基于Web的远程辅助教学系统的研究网上测试子系统的设计与开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于Web的远程辅助教学系统的研究网上测试子系统的设计与开发.doc(42页珍藏版)》请在三一办公上搜索。
1、前 言 Internet是一个全球性的网络集合,目前的用户数以超过了一亿。以计算机网络为代表的第五代媒体进入网上教学领域,正在导致教学事业的深刻变革,利用Internet的WWW技术建立一个交互式的网上辅助教学系统已经成为可能。我们为适应现代远程教育的发展,开发了Internet上基于Web的远程辅助教学系统。该系统实现了网络辅助教学的基本功能,如在线学习、在线作业、在线练习和测试、在线交流等。既能帮助教师的教学工作,减轻教师教学负担,同时,也能辅导学生更好地学习和吸收各类知识。从而达到辅助“教”和“学”的作用。系统的设计采用的是SUN公司推出的一种服务器端脚本环境JSP作为系统的开发,并选择
2、了功能强大,使用方便的可视化企业级数据库系统Microsoft SQL Server 2000作为数据库支持。JSP(Java Server Pages)技术可以进行复杂的数据库操作,生成的页面具有很强的交互性,允许用户方便的控制和管理数据库,并且易于掌握。MS SQL Server 2000安装及使用都很简单,具有很强的伸缩能力和可靠性,与Internet有良好的集成,仍然保持了极高的运行效能。本设计是建立在Browser/Server结构上的。它通过建立在网络互连基础上的信息共享、工作组协同工作,为学生和教师提供了一个完整的教学平台。同时,本系统还具有高度可靠性和安全性,易于管理与维护。内
3、容简介:第一章:JSP综述 对JSP及其做了概要性的介绍。第二章:远程辅助教学系统 介绍并分析了远程辅助教学系统的需求分析和技术可行性,并按照用户各方面的实际需要,构建系统框架。第三章:网上测试子系统 这章是本文的核心部分,详细的介绍了系统的构架,模块设计以及数据库的设计和建立。第四章 系统构建的主要问题 分析了本系统设计和实现的过程中所遇到的一些难题和阻碍,描述了系统的解决方法和最后的实现。第五章:结束语 分析了系统的优缺点,提出了一些改进的方法,供以后的开发者借鉴。第1章 JSP综述1.1 JSP技术简介3JSP(JavaServerPages)是由SunMicrosystems公司倡导、
4、许多公司参与一起建立的一种动态网页技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。JSP技术是完全与平台无关的设
5、计,包括它的动态网页与底层的Server元件设计。正因为如此,你可以在Windows环境下调试程序,成功后把程序上载到你的Linux服务器去运行,另外由于是先编译后执行,所以执行速度远远快于以往的服务器端语言。1.2 JSP与ASP技术比较4Microsoft公司的ASP技术也是动态网页开发技术。JSP和ASP从形式上非常相似,ASP程序员一眼就能认出以及。但是深入探究下去会发现它们很多的差别,其中最主要的有以下三点:1.2.1 JSP的效率和安全性更高 ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要 对源码进行解释,运行效率不高。另外,IIS的漏洞曾使得许多网站源程序大曝光,
6、 ASP程序全部被人下载了去。JSP在执行以前先被编译成字节码(bytecode),字节码由Java虚拟机(JavaVirtualMachine)解释执行,比源码解释的效率高;服务器上还有字节码的Cache机制,能提高字节码的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。1.2.2JSP的组件(Component)方式更方便 ASP通过COM来扩充复杂的功能,如文件上载、发送email以及 将业务处理或者复杂。计算分离出来成为独立可重复利用的模块。JSP通过JavaBea
7、n实现了同样的功能扩充。在开发方面,COM的开发远比JavaBean复杂和繁琐,学会ASP不难,但学会开发COM可不简单。而JavaBean就简单多了,开发JavaBean是很方便的。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。如果JavaBean进行了修改,则JSWDK和Tomcat现在还需要关闭和重新运行(但不是关机),但开发者已经许诺将在以后的版本中做到不需要关闭服务器。另外JavaBean是完全的OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对
8、象库,例如用户权限控制、email自动回复等等。1.2.3JSP的适应平台更广 ASP目前仅适用于NT和IIS。虽然Unix下有ChiliSoft的插件来支 持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。JSP则不同,几乎所有平台都支持Java,JSP+JavaBean可以在所有平台下通行无阻。NT下IIS通过一个插件,例如JRUN或者ServletExec,就能支持JSP。著名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的运行平台。虽然现在NT操作系统占了
9、很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。1.3 JSP运行环境3JSP是基于Java Server的技术,是Servlet2.1API的扩展。因此支持Server的新版本平台都应该支持JSP,提供这种平台的厂商众多。Servlet是一种在服务器端运行的Java应用程序,它可以作为一种插件(Plug_ins)嵌入到Web Server中去,提供诸如HTTP、FTP等以及用户定制的协议服务。1.3.1 JSWDK(JavaServer
10、Web Development)JSWDK是由Sun提供的最简洁的平台,它只包含必须的内容;但不符合商业制作,是开发与调试较佳的选择。1.3.2 ResinResin是最快JSP平台。Resin的一种先进的语言XSL(XSL Stylesheet Language)可以使形式和内容分离,Resin更为出色的一点是提供更为正确的错误提示。作为Internet商业站点的JSP平台的支撑平台,Resin在速度、价格和稳定性等方面都十分出色。1.3.3 JRUN Allaire公司的JRun是一个具有最广阔使用的Java引擎,用于开发及实施由Java Servlets(JSP)和JavaServer
11、Pages编写的服务器端Java应用。JRun是第一个完全支持JSP1.0规格书的商业化产品,目前有3个版本,全球有超过80,000名开发人员使用JRun在他们已有的Web服务器上添加服务器端Java的功能。其中Web服务器包括Microsoft IIS、NetscapeEnterprise Server、Apche等。1.3.4 TomcatTomcat结构非常合理,但是不同Resin的一点是不能直接支持J2EE,而J2EE是基于Java服务器的系统基础,Tomcat的操作界面是文字界面,不易操作,而且提供的出错信息众多而无实用价值。 1.4 Java Servlet技术4Servlet是J
12、ava2.0中新增的一个功能。它是与Applet相对应的,Applet是运行在客户端的浏览器,而Servlet是运行在服务器的。Java Servlet是运行在请求/面向请求服务器上的模块,一个Servlet可以从一个HTTP订单表中获取数据然后用一些商业上的算法来更新公司相应的订单数据库。也就是说:Servlet能够象CGI脚本一样扩展Web服务器功能,但是Servlet只占用很少的资源,当一个服务器装载Servlet时,它运行Servlet的init方法。这个方法不能反复调用,一旦调用就是再装载Servlet,直到服务器调用destroy方法卸载Servlet后才能在调用。每个新的CGI要
13、求在服务器上新增一个进程。如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。有很多用CGI脚本编制的一些站点由于访问量剧增,性能迅速下降,这是CGI脚本的一个缺点。同时由于Servlet是用Java编写的,因此是跨平台的。实际上Servlet是电子商务真正的开始。Servlet是一种采用Java技术来实现CGI功能的一种技术。Servlet和CGI一样都是运行在Web服务器上,用来生成Web页面。当一个Servlet接收来自客户端请求时,它接收两个对象:一个是ServletRequest,另外一个是ServletResponse类概括从
14、Servlet返回客户端的联系。ServletRequeat interface可以获取到这样一些信息如由客户端传送过来的阐述名称,客户端正在使用的协议,产生请求并且接受请求的服务器远端主机名。它也提供获取数据流的Servlet,ServletInputStream,这些数据是客户端引用中使用HTTP POST和PUT方法递交的。一个ServletRequest的子类可以让Servlet获取更多的协议性数据。例如,HttpServletRequest包含获取HTTP-specific头部信息的方法。ServletReaponse interface给出相应客户端的Servlet方法。它允许Se
15、rvlet设置内容长度和回应的MIME类型,并且提供输出流ServletOutputStream,通过编写者可以发回相应数据。ServletResponse子类可以给出更多protocol-specific容量的信息。例如:HttpServletResponse包含允许Servlet操作HTTP-specific头部信息的方法。1.5 Java Bean7 JavaBean是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。在Java模型中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean可以实现代码的重复利用,另外对于程序的易维护性等等也有很重
16、大的意义。 JavaBean通过Java虚拟机(Java Virtual Machine)可以得到正确的执行,运行JavaBean最小的需求是JDK1.1或者以上的版本。 JavaBean传统的应用在于可视化的领域,如AWT的应用。自从JSP诞生后,JavaBean更多的应用在了非可视化的JavaBean,在服务器端应用方面表现出来了越来越强的生命力。 非可视化的JavaBean,顾名思义就是没有GUI界面的JavaBean。在JSP程序中常用来封装事务逻辑、数据库操作等等,可以很好地实现业务逻辑和前台程序的分离,使得系统具有更好的健壮性和灵活性。 一个简单的例子,比如说一个数据库查询的例子,
17、我们可以将连接数据库这样一个功能写成一个连接数据库的JavaBean,建立一个public的class。前台JSP文件里面直接调用这个方法来实现。 当然,也可以把这些处理操作完全写在JSP程序中,不过这样的JSP页面可能就有成千上百行,光看代码就是一个头疼的事情,更不用说修改了。由此可见,通过JavaBean可以很好地实现逻辑的封装、程序的易于维护等等。1.6 JSP与数据库的连接7 JDBC是一种用于执行SQL语句的Java API,JDBC本身是一个商标名而是一个缩写字。现在JDBC代表Java数据库连接(Java Database Connectivity)。JDBC是由一组用Java编
18、程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。 JDBC的意义:1) 有了JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。运用JDBC API,写一个Bean控件、或者一段连接数据库的通用代码,便可以访问Sybase、Oracle、Informix、SQL Server、MySQL等数据库。通过通用的数据模块,便可以向相应数据库发送各种SQL语句,而JDBC不会对这些语句进行有效性检验,可以放心使用后台数据库的加强功能。这些操作如使用JSP的内建对象一样容易操作。2) JDBC提供了Java应用程
19、序与各种不同数据库之间进行对话的方法同时JDBC扩展了Java的功能。例如:用Java和JDBC API可以发布含有Applet的网页(下面将介绍Applet的数据库连接),而该Applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Intranet将所有职员连接到一个或多个内部数据库中。3) 通过Java和JDBC的结合,使信息传播变得容易和经济。企业使用它们安装好的数据库可以通过JDBC便捷地存取信息,不管这些信息是否储存在不同数据库管理系统上。4) 安装和版本控制将大为简化。如果不是服务器方面的程序,程序一旦更新,就要将其作成一张软盘或光盘,并将其发到每一个用户手中,每一个用户
20、执行安装后才可以进行升级。而服务器的程序,程序员可只编写一遍应用或只更新一次,使用该服务器软件的人就都可以享受到最新版本的应用服务,这和Microsoft所提出的.net计划较为相似。第2章 远程辅助教学系统2.1 需求分析 随着计算机技术和网络技术的飞速发展,世界已经进入了网络时代。Internet是一个全球性的网络集合,目前的用户数以超过了一亿。通过Internet中的WWW技术,学习者可随时、随地的学习多媒体课件;与教师和其他学员进行在线或离线的交流;完成并接受批改的作业,并可对所学课程的相关知识进行检索和查询。以计算机网络为代表的第五代媒体进入远程教育领域,正在导致远程教育事业的深刻变
21、革,利用Internet的WWW技术建立一个交互式的远程辅助教学系统已经成为可能。我们为适应现代远程教育的发展,开发了Internet上基于Web的远程辅助教学系统。 2.2 系统功能定位 在传统的教学过程中,口述和板书是教师采用的主要教书方法。但是,这两种方法却是最消耗教师人力资源的,同时,它并不能使学生得到最好的收效。针对传统教学中的这种弊端,辅助教师和学生的“教”、“学”工作,提高教学质量和学习效率,我们提出了一种基于Web的远程辅助教学系统。2.2.1 功能分析该系统需要实现以下几大功能:1) 成为学生学习课程的辅助工具。在原有的教学模式中,学生只能在课堂时间上听老师讲课。对于接受较慢
22、的同学,他们不能在上课的短短45分钟时间内完全接受教师所讲授的全部知识。远程辅助教学系统解决了这样一个问题。它提供了在线学习功能,使学生在课后也能象上课一样学习。同时,该系统包括了一个网上练习和考试的子系统,可以提供给学生大量的理论练习题和操作练习题,用于学生的网上练习及自我检测知识。通过系统的交互功能,增强同学们的上机积极性;提高学习效率。2) 为教师的教学工作提供帮助在传统的教学过程中,教师出题考试是教师的重要工作之一。在传统的考试方式下,教师需要命题、阅卷、统计分数等等,工作量非常大。尤其当考生数量比较大时,阅卷和成绩统计将十分烦琐而且容易出错。同时,由于理论性较强、内容繁多且复杂、操作
23、性十分强的课程,只凭理论考试难以检测学生的掌握情况。本系统可用于期末等各阶段的考试,不仅可以检测学生的理论知识,还可以检测操作水平,提高考试质量,并减轻教师的工作负担和提高工作效率。3)加强教师与学生之间的交流教学的过程是一个教师、学生相互交流的过程,良好的交流不但可以促进学生的学习,而且能够帮助教师的授课。传统教学过程中,一般通过作业、答疑等方式进行。远程辅助教学系统为教师和学生提供了一种新的交流方式。教师可以通过在网上布置和批改作业,学生可以通过网络向教师提问,在平时面对面的交流方法之外,又多了一种交流的途径。这样克服了时间和空间的阻碍,使学生和教师能够更多的进行交流,以促进教学工作。2.
24、2.2 考试模块功能作为一个庞大的教学系统,该系统可以实现基本的辅助教学功能,下面对该系统的网上考试子系统进行进一步的说明。为了能够将该系统的功能描述得更为详细,并且更具有逻辑性;下面分别按照服务器端和客户端所要实现的具体功能来进行描述,而对于这些功能又具体归属与哪一个模块的问题将在第三章的模块设计说明中作更进一步的说明。服务器端功能:1)用户验证功能由于考试具有一定的保密性,所以系统需要设置用户的验证功能。只有拥有合法用户名和密码的人才能进入,不允许没有进行身份验证的用户登陆或者使用测试子系统。不同身份的用户只能访问相应的功能模块。不允许使用其他身份可以使用的功能,如:以学生身份登陆的用户不
25、能修改题库。2)自动组卷功能在接受到客户端“开始考试”的信息后,系统从题库中自动抽取一定数目的试题,生成一份随机考卷,发送到客户端,供学生测试使用。系统必须每次抽取的题目数量相同,且一份试卷中没有重复的试题。3)自动评分功能在学生答卷的同时,将学生的答案保存到数据库中,必须正确答案进行比较,得到每道试题的得分,并相加得到总分。4)断线保存功能由于客户端采用Internet登陆到本系统,由于网络的不稳定性,所以存在着考试中断线的可能。系统将随机生成的试卷保存在暂存表中,同时,在学生每回答完一道试题后,及时将此题的答案保存到数据库中。从而保存了学生的考试信息,即使断线,学生也可再次登陆继续考试。5
26、)考试信息的保存在学生完成了一次考试后,系统自动对选择题部分评分后,系统将学生此次考试的全部信息,如:考生姓名、考试时间、考试成绩等全部保存到数据库中。6)查询、更新数据库功能服务器端可将从客户端传送过来的对数据库的操作信息,对数据库进行实际操作,并将操作结果传送回客户端。客户端功能:1) 用户登陆功能为不同身份的用户提供登陆表单,用户在输入合法的登陆名和密码,经过后台数据库验证合法后,即可进入测试子系统相应的模块。2)科目选择功能向用户提供所有现有的科目,学生可选择需要访问的科目,进行考试或者成绩查询的操作。3)在线考试功能由系统自动生成试卷后,学生在线考试。4)成绩查询功能学生和教师均可在
27、此查询历史考试成绩。学生可查询到自己所有科目的成绩;教师可以查看到所有学生测试自己所教科目的成绩。5)文字题评分功能由于文字题具有灵活性很大,答案没有统一标准,所以将学生试卷中文字题答案保存在库表中,由教师在线批改和评分的办法。6)题库修改功能教师可在任何地点,使用系统的“修改题库”功能,对题库进行查询、添加、删除、修改等各种操作。2.3 技术可行性2.3.1 技术可行性分析 本系统主要采用JSP编程技术。 JSP技术被设计成为一个开放的、可扩展的建立动态Web页面的标准。我们可以使用JSP页面来创建可移植的Web应用,在不同的Web和应用服务器上为不同的场合所运行,而不论采用什么适合本身场合
28、和需要的创建工具。通过与业内领域的合作,Sun保证JSP规范是开放的和可移植的,可以使用任何客户机和服务器平台,在任何地方都可以编写和部署它们。 JSP给开发者提供了两个重要的能力:1) 提供了访问远程数据库的机制。如:JDBC等2) 让开发者从表线中封装和分离程序逻辑而达到最大程度的代码重用和灵活性。逻辑与表现的分离是它超越其他Web应用结构的一个主要优势。JSP提供了创建动态内容页面的解决方案。1) 能够在任何Web或应用服务器上运行;2) 将应用程序逻辑和网页显示分离;3) 能够快速地开发和测试;4) 简化开发基于Web的交互式应用程序的过程。2.3.2 采用技术硬件配置:CPU主频60
29、0Hz;内存128KB技术选择:基于Java2.0的JSP技术(Java+JSP+JavaBean+JDBC)JSP支撑平台:JDK1.2.2+Resin2.0.1JSP开发工具:HomeSite4.5 网页界面设计:DreamWeaver运行环境:操作系统:Windows2000 Server 数据库:SQL Server 20002.4 方案设计2.4.1 系统的硬件方案支撑Internet远程教学系统的硬件设施要求在逻辑上比较简单,各用户只要能有计算机接入Internet.便能进入本系统进行教学、管理。用户可以通过两种种方式接入Internet:首先是通过电话线路直接拨号访问:1)用户只
30、需拥有一条电话线,购买一个调制解调器,进行登记注册后,便可以拨 号进入网络进行学习;2)对于有条件的用户或者是集团用户,如函授学校和培训机构,可通过专线接入,这些用户可享受高速信息传输服务。服务器模块主要负责信息的收集、储存、发布,它们是对外提供教学与信息服务主要实体,一般有WEB服务器、FTP服务器、E_MAIL服务器、DNS服务器、数据库服务器等等,它们可以由一台或多台高性能的计算机承担。 系统硬件结构如图2-1所示:图2-1 网络基本物理结构示意图2.4.2 系统的软件方案本系统的应用软件直接在统一平台上运行和进行维护,统一平台使用高档群集服务器。在综合考虑了各种情况之后,决定采用Mic
31、rosoft的Backoffice的网络解决方案。网络操作系统采用Microsoft的Windows 2000,它提供本系统平台所需要的WWW Server(IIS 4.0),易于管理。数据库服务器采用SQL Server 2000,它具有大型数据库的功能,在数据的完整性、安全性方面能够得到保障,并且能和Windows 2000无缝连接。服务器程序开发使用JSP技术,能够动态完成网站的交互性工作。通过B/S模式对SQL SERVER 数据库进行操作。WWW/ IIS服务器SQL数据库JDBC(Java Dat-abase Con-nectivityJSP(Java ServerPaper)客户
32、端浏览器(如IE等)JSP操作数据库的过程如图2-2所示意:图2-2 JSP操作数据库的过程示意图客户器端脚本使用Frontpage与DreamWeaver进行编辑,并在部分html中加入Servlet与JavaBean。灵活的使用不同的html代码编辑器使生成网页的过程 更加高效。2.4.3 系统设计 基于Web的远程辅助教学系统主要是为协助、简化教师教学工作而设计的一种辅助教师教授和学生学习的教学系统,其功能有:在线学习、课件下载、在线考试和在线交流等。分别对应设计中的在线学习、文件上传/下载、在线考试及在线交流四个模块,外加个人信息管理和教师通道两个模块,系统由六个主要模块组成,其具体结
33、构如下图2-3所示:注册个人信息管理文件上传/下载在线学习在线考试教师通道在线交流信息查询密码机制网上课件课后练习必修课程选修课程文件上传文件下载学生资料查询题库管理通知发布聊天室留言板 图2-3 学习系统模块示意图说明: 个人信息管理:包括本人的资料,如姓名、性别、学号、专业、E-Mail及累计在线时间。 系统通过计算用户的在线时间来判断用户的能力值,在线时间越久,系统就认为其能力值越高。 密码:系统提供密码修改机制,允许用户无限次修改本人密码。 必修课程:以PowerPoint或其他非自动播放方式的课件,学生可自行选择所要学习的章节和内容。在此系统中,必修课程就是指计算机网络基础课程,在以
34、后的应用中,可以在添加其他课程。 选修课程:提供一些如“参考实验”、“MCSE”、“CCNA”等超级链接,供学生自由点击学习。 练习:作为课件的一个组成部分,由学生意愿点击进入。不必学习学习完此章节内容,也不必按照课件的先后顺序,可谁意点击进入。 每章节均有相关练习,练习题目数目不多,且固定不变,学生可马上查看正确答案。无任何评分标准及作用。 文件上传:学生可将自己的作业、作品及程序等上传到网络,由教师在线查看和判分。上传文件格式包括如.txt、.doc、.exe、.ppt等多种格式。 文件下载:在下载专区中,用户可随意选择提供下载功能的程序或文件等。如必修课程的课件,学生制作的优秀作品等。在
35、线考试:学生可在考试前期,使用此功能进行考前复习和考前自测。每门考试均设有“开考”设置,只有在教师点击“开考”后,系统开启考试功能后,学生方可使用此功能。学生资料查询:教师可在此处查看到所有学生的个人信息,如累计在线时间等,并可通过学生在线时间来评定学生平时成绩。题库管理:教师可在此处对题库进行添加、删除、修改等管理。以学生身份登录的用户不能进入此模块。通知发布:教师可在此处发布通知,以通知学生交作业、作实验等信息。聊天室:学生可在此处实现在线交流、协商、辩论、合作等,学生之间可以借此交流学习心得,讨论课难点等。留言板:此处为学生与教师的交流提供了一片新天地。学生在学习中遇到的困难可在此处,以
36、留言的方式传达给教师;教师也以回复留言的方式解答学生的疑问,帮助学生学习。第3章 网上测试子系统3.1 系统概述 本系统WebExam(是本小组成员设计的远程辅助教学系统的子系统-网上测试子系统)。主要用于正式考试前的自我测试和考前复习使用。它的考试模块采用WEB方式,同时适用于局域网和Internet,无需安装客户端,即可实现网上测试、自动判分、成绩查询和结果分析等功能。该系统专为教育领域和学校而设计,能提供基于校园网或Internet的网上测试、网上作业、练习培训等应用。能够让教师在网上布置作业,学生回家通过Internet参加作业。网上测试子系统也可以适用于在Internet网站上提供公
37、开的网上考试或练习。3.2 系统架构采用B/S模式:该系统采用Browse/Server模式开发,无需安装客户端,便于维护和升级,并能够与现有的校园网和Internet集成。用户可在任何地方登陆网络的地方使用该系统,非常方便,不受地理上的限制。目前比较流行的两种网络开发模式分别是Client/Server模式与Browser/Server模式。C/S模式主要是以居域网为基础的环境下展开应用的,它受到地域的限制。而B/S模式通过Internet进行通信,可以不受地域限制,但是它不能够进行联机事务处理,并且在大量数据处理的情况下,速度较慢。从目前的开发技术来看,Brower端作为信息收集源,特别是
38、大量的数据录入工作还不能完全取代Client端的用户界面。在这方面,Client端的各种开发工具的功能的功能更加强大也更加灵活,而Brower端却由于其功能结构的限定过于“瘦小”。对于本系统,其功能目标是实现将现有的纸张答题式考试向基于Internet的无纸张测试系统的转变,所以它必须实现整个考试流程的进行,实现对系统的帐户不同管理,以及完成阅卷、评分这些环节的处理。由于系统数据收集的实时性要求并不高,因此采用B/S结构来进行设计是合理可行的。该系统的网络应用原理示意如下图3-1所示:Internet上的用户Internet Internet系统服务器系统后台 数据库 图3-1 系统网络应用示
39、意图基于SQL Server数据库平台: 该系统采用企业级大型数据库平台,能够容纳大量的专业知识题库,处理大量的题库,性能更稳定,为在线测试提供更快和更稳定的运行环境。3.3 系统实现功能1) 用户登陆系统的主要功能:登陆欢迎页面;不同类型用户登陆的用户名和密码的验证;不同的功能选择页面。(由于本系统是网上学习系统的子系统,用户在登陆学习系统时,已经进行了身份验证,顾此功能在网上学习系统中没有再次实现。)2) 在线测试子系统的主要功能:让用户选择考试科目;从题库中随机生成一份试卷;将随机试卷及用户完成情况保存;为试卷中的选择题自动判分;将试卷中的文字题保存留给教师批改;保存用户考试信息查询用户
40、考试信息3) 在线阅卷系统的主要功能:浏览系统中用户考试文字题的答案批改用户文字题答案保存批改信息3.4 系统模块设计系统大致分成五个模块:用户登陆模块、学生考试模块、查看管理模块、题库成绩模块,以及教师阅卷模块。系统模块架构如图3-2所示:网上测试子系统用户登陆模块学生考试模块教师阅卷模块查看成绩模块题库管理模块添加试题删除试题修改试题随机出题保存试卷自动判分保存考试信息用户注册用户登陆浏览考生试卷保存批改信息批改文字题 图3-2 系统框架示意图 系统分为“前台使用”和“后台管理”两大部分。其中“前台使用”主要实现为学生提供“在线考试”和“成绩查看”两个功能;而“后台管理”可以实现教师的“在
41、线阅卷”、“成绩查看”以及“题库管理”等功能。 下面分别以学生身份和教师身份,简述一下系统各功能模块。3.4.1 前台使用系统流程大致如图3-3所示:学生登录选择科目选择功能 选择“开始考试” 选择“查看成绩”进入成绩查看模块进入在线考试模块图3-3 前台使用系统流程示意图3.4.1.1 学生考试模块 该模块主要学生在线测试使用。 考试页面如图3-4所示: 图3-4 学生考试界面示意图学生考试模块:学生在选择考试科目后,点击“开始考试”,进入测试子系统,Server随机产生一套试卷,计时器开始计时。学生考试完毕后,点击“提交”,显示选择题分数。并将该生的考试成绩,姓名,时间存入数据库,供老师查
42、看。 试卷:总共包括二十道选择题,每题4分;采用自动判分制。 两道文字题,每题10分;将答案保存在留言版中,由教师批改。 学生测试子系统流程如图3-5所示:点击“开始考试”系统随即生成一套试卷 将试卷选择题部分保存在“Paper1”表中将试卷文字题部分保存在“Paper2”表中将“Paper1”和“Paper2”中的内容显示到客户端学生答卷将考生的答案保存到“Paper1”和“Paper”中将“Peper2”中的内容保存在“wenzi”表中将“Paper1”中的“answer”字段中的内容与“answer_s”字段中的内容相与将老师对文字题的批改保存到“answer2”字段中 True flo
43、se在“mark_s”字段值=0在“mark_s”字段值=“mark”的字段值 将教师的评分保存在“mark_s”字段中将“paper_ID”值相同记录的“mark_s”值累加,并附值给“mark”表中的“mark2”字段将“mark_s”字段值累加,附给“mark”表中的“mark1”字段将“paper_ID”值相同的“mark1”与“mark2”字段值相加,附给“mark”字段。显示考生的考试成绩图3-5 测试子系统流程示意图模块中各文件调用如图3-6所示: Gongneng.html 进入考场Subject.jsp Examination.jspMark.jspp图3-6 考试模块文件调用示意图 其中:Gonggong.html文件:显示系统提供的各种功能,供用户选择。 若选择“进入考场”,调用subject.jsp。Subject.jsp文件:显示subject表“subject”字段的所有值。 选择后,点击“开始考试”,调用examination。Examiation.jsp文件:随机生成一套试卷。并保存在paper1表和paper2表中。 点击“提交”后,调用mark.jsp。Mark