1、目录前言1第章绪论2第2章基础技术简介3第2.1节Java语言3第2.2节JSP语言6第2.3节CSS+DIV7第2.4节 MySQL7第2.5节 JavaScript语言10第3章在线考试系统的基本设计11第3.1节需求分析11第3.2节可行性分析11第3.3节功能概述12第3.4节页面迁移设计13第3.5节数据库设计13第4章在线考试系统的实现17第4.1节系统框架17第4.2节数据访问模块的设计18第4.3节登录页面编写19第4.4节考生导航页面编写21第4.5节考试页面编写22第4.6节历史成绩页面编写24第4.7节管理员导航页面编写25第4.8节试题维护页面编写26第4.9节试卷设置
2、页面编写27第4.10节管理员历史成绩页面编写28第章 系统测试30第5.1节 运行环境30第5.2节 测试用例30结论32参考文献33致谢3436摘要在线考试系统模拟在线考的流程,允许考生在线选择考试内容,查看考试结果;同时允许管理人员对试题及其分类进行维护,并查看成绩分布等功能。一个在线考试系统可实现无纸化考试,提高老师的阅卷效率以及改卷的正确率,为了加大教育信息化的程序许多学校正在研发使用在线考试系统。在线考试系统用目前最流行的动态网页编程技术JSP来完成,该系统功能强大,能实现远程的动态在线考试、在线改卷,能够远程的实现对后台试卷的管理,随时都可以对后台数据库中的各种题型进行修改、添加
3、,对学生的成绩进行跟踪。该系统中采取了一系列措施保证了试卷的随机生成、数据库的有效部署,从而保证整个系统能够稳定的运行。现如今,每个企业或学校都在优化自己的网络资源环境,力争处于信息化的前沿。在设计过程中,使用了Java(工具),XML,UML,MySQL,JSP,JavaScript等核心技术来实现功能,开发了具有对资源和信息进行分类的在线考试系统的功能,便于教师对资源信息进行更好的管理,学生可以对所学知识进行检测。关键词:JSP考试系统数据库在线According to the design and realization of JSPs on-line examination syste
4、mAbstractThe on-line examination system imitates on-line test of process, allow examinees on-line choice examination contents, look into examination result;Allow a manager to carry on a maintenance towards trying and its classification in the meantime, and look into result to distribute to wait func
5、tion.An on-line examination system can carry out to have no paper to turn examination and raise the efficiency of grading examination papers of teacher and change the correctness of winding and educate information-based procedure for the sake of the enlargement many schools is developing to use on-l
6、ine examination system. The on-line examination system is used currently the most popular dynamic state web page to weave a distance technique JSP to complete, the systems function is strong, can carry out the dynamic state of long range on-line examination, on-line change book, can the realization
7、of long range try the management of winding to the backstage, can carry on a modification and add to various type in the backstage database at any time and carry on following to the students result.Adopted in that system a series of measure promised to try winding of random born, the effective deplo
8、yment of the database, promise the whole movement that the system can stabilize thus.Now now, each business enterprise or schools at excellent turn their own network of resources environment, follow before working hard for to be placed in information-basedly.In the process of designing in, used Java
9、(tool), XML,UML,MySQL,JSP,JavaScript etc. core technique to carry out function, developed to have the function to carry on the classified on-line examination system to the resources and the information, the easy to teacher carries on a better management to the resources information, the student can
10、carry on an examination to the knowledge learned.Key words: JSPexamination systemdatabaseon-line前言科学技术突飞猛进,知识经济和信息产业初见端倪,特别是信息技术与网络技术迅速发展和广泛应用。在线考试是现代远程教育系统的一部分,是对学生学习情况的评价。考试系统设计的好坏,会直接影响对学生学习情况的测量。在线考试系统是专门针对教育机构设计的新一代网络学习平台,它在承接传统教育的基础之上充分实现了Blended-Learning的设计理念,它为学校提供了有效的学习与测评方案,能够通过在线考试的方式轻松完成
11、针对学生制定的学习计划。它运用方便、操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入、修改和查询,自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,同时也大大减轻了教师出题、组卷和改卷等繁重的工作量。在线考试系统模拟在线考的流程,允许考生在线选择考试内容,查看考试结果;同时允许管理人员对试题及其分类进行维护,并查看成绩分布等功能。一个在线考试系统可实现无纸化考试,提高老师的阅卷效率以及改卷的正确率,为了加大教育信息化的程序,许多学校正在研发使用在线考试系统。考试系统中的试卷采用随机抽题、自动判卷,从而使
12、得考试相对更加客观、公平和公正、大大提高了教学效率、提高阅卷效率、实现了教考分离。另外,在线考试系统还不受地域的限制,大大提高了考试的灵活性;考生可以通过姓名、密码进行登录考试,考试结束后学生所答的试卷以及客观试题的成绩便立即自动入库。由此可见,这种基于网络的在线考试是一种灵活、高效的考试方法,是今后考试的一种发展趋势。第章 绪论随着Web技术的发展,考试的技术手段和载体发生了革命性的变化。Web的开放性、分布性的特点和基于Web的巨大计算能力使得考试突破了时间和空间的限制。基于Web的考试系统正成为人们的研究热点之一。本文根据一般院校等中小型机构在线考试的要求,通过调查分析,采用适当的技术方
13、案设计并开发了一个在线考试系统。该系统是在网上模拟考试的应用程序,它存储着考生、题库等信息,包含管理员录入试题、考生在线考试、自动判卷以及相关的系统维护等功能,使得只要有浏览器的地方,就能使用它来学习、考试,并且功能也比较全面,可以满足一般中小型学校或企业的需要,有较好的社会实用价值。目前教育技术在高校的应用也越来越广泛。针对随之出现的教育资源的管理使用等问题,基于校园网的教育资源管理系统的设计方案及其主要功能模块,指出了该系统的特点和今后改进的方向1。传统的MIS系统的核心是CS(Client/Server客户端/服务器)架构,而基于Internet的MIS系统的核心是BS(Browser/
14、Server浏览器/服务器)架构。BS架构比起CS架构有着很大的优越性,传统的MIS系统依赖于专门的操作环境,这意味着操作者的活动空间受到极大限制;而BS架构则不需要专门的操作环境,在任何地方,只要能上网,就能够操作MIS系统,这其中的优劣差别是不言而喻的。本系统要解决因地域或者其他限制,不能实地参加教育系统的考试,提供了一种通过Web方式进行考试的方式。系统基于大量的题库,随机从试题库中抽取一定量的题目,提供给考生在线答题,不受地域限制。考生必须提供用户名和密码才能访问系统,可以进行在线考试,或者查看以往的考试成绩。管理员通过用户名和密码登录,进行系统维护,来维护题库和试题分类,对试题进行添
15、加和修改,并可以查看不同分类的试题的考试情况2。第2章基础技术简介为了实现系统的跨平台性,数据库兼容性,必须使用JAVA来实现;数据库必须使用支持JDBC/ODBC的关系数据库。下面对所用到的基础技术进行简要的介绍。第2.1节Java语言现代技术的发展,尤其是网络技术,给现代企业带来了许多新的机遇和挑战,如改善客户服务、全球化和信息检索等,这些在技术上反映为信息的获取、系统管理、系统集成、新技术的开发、Internet等等与商业的结合。而这些要求一个随处可用的开放的结构和在不同的平台之间低成本的信息传递方式,Java正好满足这些要求。 Java是由Sun Microsystems公司于1995
16、年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C+语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:(1)Java语言是简单的。Java语言的语法与C语言和C+语言很
17、接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C+ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。(2)Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C+ 语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。(3)Java语言是分布式的。Ja
18、va语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。(4)Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。(5)Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的
19、许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。 (6)Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件), 然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 (7)Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系
20、统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。(8)Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式, 然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。(9)Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C+。 (10)Java语言是多线程的。在Java语言中,线程是一种特殊
21、的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable) 的构造子将一个实现了Runnable接口的对象包装成一个线程;其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。(11)Java语言是动态的。Java语言的设计目标之一是适应于
22、动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查3。Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富
23、的类库。JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。Java IDL(Java Interface Definition Language) 提供与CORBA(Com
24、mon Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。JTS(Java tr
25、ansaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控4。在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造
26、出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB (Enterprise JavaBeans) 将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA。第2.2节JSP语言JSP, JavaServer PagesTM 是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术标准 。 在传统的网页HTML文件(*.htm, *.html)中加入Java程序片段 (Scriptlet)和JSP标记(tag),就构成了JSP网页(
27、*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。程序片段可以操作数据库、可以重新定向网页、可以发送 email 等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端仅是得到的结果,对客户浏览器的要求最低,可以实现 No Plugin,No ActiveX,No Java Applet,甚至 No Frame。 在 Sun 正式发布 JSP(JavaServerPages) 之后,这种新的 Web 应用开发技术很快引起了人们的关注。JSP 为创建高度动态的 Web 应用提供了一个独特的开发环
28、境。按照 Sun 的说法,JSP 能够适应市场上包括 Apache WebServer 、IIS4.0 在内的 85% 的服务器产品。即使您对 ASP “一往情深”,我们认为,关注 JSP 的发展仍旧很有必要,这是基于以下的比较分析5。 JSP 与 Microsoft 的 ASP技术非常相似。ASP 的编程语言是 VBScript 之类的脚本语言,JSP 使用的是 Java ,这是两者最明显的区别。此外,ASP 与 JSP 还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在 ASP 下,VBScript 代码被 ASP 引擎解释执行;在 JSP 下,代码被编译成
29、Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。 事实证明,Java Servlet 是一种开发 Web应用的理想构架。JSP 以 Servlet技术为基础,又在许多方面作了改进。利用跨平台运行的 JavaBean 组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。JSP必将成为ASP技术的有力竞争者。第2.3节CSS+DIV在制作网站页面时,首先构思出整个网站的样式,利用Photoshop和Dreamweaver图片处理软件制作出界面布局所需要的图片。然后根据构思的布局利用DIV将页面布局规划,接下来使用CSS和HTML实现整个页面的效
30、果。这样,样式的调整更加方便。内容和样式的分离,使页面和样式的调整变得更加方便。CSS的极大优势表现在简洁的代码,对于一个大型网站来说,可以节省大量带宽,表现和结构分离,在团队开发中更容易分工合作而减少相互关联性。第2.4节 MySQL2.4.1MySQL概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购。对于Mysql的前途,没有任何人抱乐观的态度。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网
31、站为了降低网站总体拥有成本而选择了MySQL作为网站数据库6。MySQL最初的开发者的意图是用mSQL和他们自己的快速低级例程(ISAM)去连接表格。不管怎样,在经过一些测试后,开发者得出结论:mSQL并没有他们需要的那么快和灵活,这导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生。这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。2.4.2MySQL的特性(1)使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。 (2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netwa
32、re、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。 (3)为多种编程语言提供了API。这些编程语言包括C、C+、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。 (4)支持多线程,充分利用CPU资源。 (5)优化的SQL查询算法,有效地提高查询速度。 (6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名。(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径。 (
33、8)提供用于管理、检查、优化数据库操作的管理工具。 (9)可以处理拥有上千万条记录的大型数据库7。2.4.3MySQL的应用与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。目前Internet上流行的网络架构方式LAMP(Linux+Apache+MySQL+PHP),即使用Linux作为操作系统,
34、Apache作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本解释器。由于这四个软件都是自由或开放源码软件(FLOSS),因此使用这种方式不用花一分钱就可以建立起一个稳定、免费的网站系统。2.4.4MySQL的管理可以使用命令行工具管理MySQL数据库(命令mysql 和 mysqladmin),也可以从MySQL的网站下载图形管理工具MySQL Administrator和MySQL Query Browser。phpMyAdmin是由php写成的MySQL资料库系统管理程式,让管理者可用Web界面管理MySQL资料库。phpMyBackupPro也是由PHP写成的,可以透过We
35、b介面创建和管理数据库。它可以创建伪cronjobs,可以用来自动在某个时间或周期备份MySQL 数据库。2.4.5MySQL存储引擎(1)MyISAM Mysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务。(2)InnoDB 事务型数据库的首选引擎,支持ACID事务,支持行级锁定。(3)BDB 源自Berkeley DB,事务型数据库的另一种选择,支持COMMIT和ROLLBACK等其他事务特性。(4)Memory 所有数据置于内存的存储引擎,拥有极高的插入,更新和查询效率。但是会占用和数据量成正比的内存空间。并且其内容会在Mysql重新启动时丢失。(5)Merge 将一
36、定数量的MyISAM表联合而成一个整体,在超大规模数据存储时很有用。(6)Archive 非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差。(7)Federated 将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库,非常适合分布式应用。(8)Cluster/NDB 高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用。(9)CSV 逻辑上由逗号分割数据的存储引擎。(10)BlackHole 黑洞引擎,写入的任何数据都会消失,一般用于记录binlog做复制
37、的中继8。第2.5节 JavaScript语言JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java 脚本语言(Java小程序)一起实现在一个Web页面中连接多个对象,与Web客户交互作用。从而可以开发客户端的应用程序等。它是通过嵌入或调入到标准的HTML语言中实现的9。它的出现弥补了HTML语言的缺陷,它是Java与HTML折衷的选择,使用JavaScript语言可以使网页增加互动性。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应
38、用户的操作,对提交表单做即时的检查,无需浪费时间交由 CGI 验证。第3章在线考试系统的基本设计第3.1节需求分析随着Web技术的发展,考试的技术手段和载体发生了革命性的变化。Web的开放性、分布性的特点和基于Web的巨大计算能力使得考试突破了时间和空间的限制。基于JSP的考试系统正成为人们的研究热点之一。根据一般院校等中小型机构在线考试的要求,通过调查分析,我采用适当的技术方案设计并开发一个在线考试系统。该系统是在网上模拟考试的应用程序,它存储着考生、题库、管理员等信息,包含管理员对试题进行维护、考生在线考试、自动判卷以及相关的系统维护等功能。使得只要有浏览器的地方,就能使用它来学习、考试,
39、并且功能也比较全面,可以满足一般中小型学校或企业的需要,有较好的社会实用价值10。一个在线考试系统可以实现无纸化考试,提高阅卷的效率和改卷的准确率,加大教育信息化的程序。在线实时考试系统也给学生提供了一个自我检测的平台。看书是一个不断接受知识的过程,而要学会掌握知识,灵活运用知识的能力则要通过不断的做题。考生可以通过一次次地做题,从中发现并找出问题,并在不断的积累中,达到由质变到量变的飞跃。根据自己的测试情况,及时的调整自己的状态,以便在以后的学习中达到事半功倍的效果。第3.2节可行性分析可行性分析也称为可行性研究,即是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发
40、从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容:(1)社会因素方面的可行性:本系统用于学校考试,无法律和政策方面的限制。(2)经济方面的可行性:主要是对项目的经济效益进行评价。本系统无需开发经费,对于我系在经济上是可以接受的,并且本系统实施后可以显著提高考试效率,有助于学院完全实现网络化管理。所以本系统在经济上是可行的。(3)技术方面的可行性:技术上的可行性分析主要分析技术条件是否能顺利完成开发工作,硬软件能否满足开发者的需要等。软件方面,网络化考试需
41、要的各种软件环境都已具备,数据库服务器方面则有MySQL,能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。其灵活性,安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要11。(4)操作方面的可行性:目前,大学的校园网路覆盖了教学区和学生区的主要建筑物及部分家属宿舍,从而满足校内各学院、各职能部门、各直属单位上网需求,学校良好的网络设施为开发使用无纸化网络考试系统提供了坚实的基础。综上所述,此系统开发目标已明确,在技术和经济等
42、方面都可行,并且投入少,见效快。第3.3节功能概述按照使用者角色的不同,本系统的模块可以分为六部分:对于考生角色,主要分为以下两个模块:(1)考试模块。 在此模块中,考生可以选择自己想要参加的考试类别,并进行考试,考试完成后可获得此次考试成绩。(2)历史成绩模块。在历史考试成绩中,学生通过这个模块可以看到自己以前参加的考试成绩,并对自己的进步情况进行一次把握。对于系统管理员角色,主要分为三个模块。(3)试题维护模块。系统管理员需要选择试题分类,然后针对该试题分类中的所有试题进行维护。可以添加新题目,也可对现有题目进行修改和删除处理,便于及时更新试题库。(4)试卷设置模块。题库中的题目一定是按照
43、一定分类存放的,不同的分类试题设置也不一样,例如某分类的题目数量是20,而另一类题目数量是10。所以这个模块中包括分类添加、修改和删除操作。(5)历史成绩模块。这个模块和学生看到的历史成绩模块有所区别,学生角色看到的是自己以往每次考试的成绩记录,作为系统管理员看到的是试题分类的整体考试情况,从这些信息中可以看出题库中题目难易水平,并可以在以后的维护中做出适当的调整。第3.4节页面迁移设计在登录页面,输入用户名和密码,单击“登录”按钮,服务器首先根据用户名和密码在数据库中进行校验,如果校验通过,则根据数据库中该用户名对应的级别决定页面迁移到考生目录页面还是管理员目录页面。在考生答题页面,整个考试
44、过程中需要在session中保存一些信息,例如当前的试题分类以及考生所有题目的解答结果等,保存这些信息的目的是在考生最后单击“完成答题”按钮的时候能够进行试卷的评判并且往数据库中登录对应的成绩信息。在历史成绩页面中,由于要选择试题分类,并且在生成历史成绩一览以后还要保留试题分类的值并显示在页面上,所以在此页面上,试题分类既是页面输出又是页面输入。在管理员的试题一览维护页面和试题分类一览维护页面中修改、删除对应的条目的时候,对应试题或者试题分类的编号也就是页面间传递的重要依据。第3.5节数据库设计本系统所采用的主要数据对象有四个,分别是试题、试题分类、用户和考试记录。针对这四个数据对象系统用的数
45、据库表也分别有以下四个12。用户表主要是关于用户个人信息,试题表主要是试题编号和试题的选项,试题分类表主要是试题的编号数目和分类名称,考试记录表主要是存储考试的考试用户名,试题分类号,考试成绩和考试时间。(1)用户表,表名为USER表3.1用户表字段名数据类型是否为空是否主键长度说明USERNAMEVARCHAR否是20登录的用户名PASSWORDVARCHAR否否20登录的密码RANKCHAR否否10:考生1:管理员REALNAMEVARCHAR否否20用户实际姓名(2)试题表,表名为QUESTION表3.2试题表结构字段名数据类型是否为空是否主键长度说明QUESTION_IDCHAR否是1
46、0试题编号CATEGORY_IDCHAR否否2试题分类编号SUBJECTVARCHAR否否300题目CHOICE_AVARCHAR否否100选项ACHOICE_BVARCHAR否否100选项BCHOICE_CVARCHAR否否100选项CCHOICE_DVARCHAR否否100选项DANSWERCHAR否否1正确答案(3)试题分类表,表名为CATEGORY表3.3试题分类表字段名数据类型是否为空是否主键长度说明CATEGORY_IDCHAR否是2试题分类编号CATEGORY_NAMEVARCHAR否否20试题分类名称QUESTION_NUMBERINT否否NULL试题数目 (4)考试记录表,表名为TEST_RECORD表3.4考试记录表字段名数据类型是否为空是否主键长度说明RECORD_IDCHAR否是10考试记录编号USERNAMEVARCHAR否否20考试用户名CATEGORY_IDCHAR否否2试题分类编号TEST_TIMECHAR否否14考试时间TEST_RESULTINT否否考试成绩(5)标准SQL语句增加(INSERT)INSERT语句是将一行记录插入到指定的