《基于WEB的在线自测系统的设计与实现毕业设计说明书.doc》由会员分享,可在线阅读,更多相关《基于WEB的在线自测系统的设计与实现毕业设计说明书.doc(79页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、盐城工学院本科生毕业设计说明书(2009)毕业设计说明书基于WEB的在线自测系统的设计与实现3基于WEB的在线自测系统的设计与实现摘 要:计算机应用技术的日益发展,为教育技术学的研究与发展带来了新的机遇,如何把计算机和网络更有效地引进教育领域为教育服务,已成为教育领域中的一个新的课题。随着网络应用的多元化与普及化,学生学习的途径更加多样化。通过网络,学生可以更好的完成对所学知识的巩固和理解,同时通过在线自测系统,可以在网上对所学内容进行自我测试,清醒的认识自己的学习情况,发现不足,以便更好的完成学习任务。在线自测系统可以配合多元化教育,对学习效果直接进行考察并自动组卷、自动判卷。根据成绩库学生
2、可以很直观的看到自测练习的成绩,以便了解自己近期的学习效果,有利于学生的自学。本文主要阐述了基于WEB技术的在线自测系统的体系结构和具体设计以及实现过程。介绍了在线自测系统中对题库的管理、试卷的管理、学生成绩的查询,在线自测功能的实现以及用户权限的管理和试卷发布等功能。着重介绍了组卷功能、时间控制功能、自动批改试卷功能的设计与实现。整个系统层次结构简单,操作容易,并具备一定的安全性,使用该系统能更高效、便捷地检验学生在课程学习中的学习效果。关键词: 在线自测;时间控制;试题库The Design and Implementation of Online Self-test System Bas
3、ed on WEBAbstract : The increasing development of computer application technology for educational research and development has brought new opportunities, and how the computer and network to be more effectively to introduce the field of education, has become a new topic. With the diversity of network
4、 applications and the popularity of more diverse ways of learning. Students can better complete the consolidation of the knowledge and understanding, through online self-test system, you can learn online content on the self-test, a clear understanding of their own learning and found weaknesses in or
5、der to better completion of learning tasks. Online self-test system can accommodate the diversity of education, direct effects on learning and automatic generation of inspection, automatic graders. According to results library students can see the self-test exercises very intuitive results, in order
6、 to understand their recent learning, helping students self-learning. This article focuses on technology-based WEB-line self-test system architecture and detailed design and implementation process. Introduced an online self-test item bank system on the management, paper management, student achieveme
7、nt information, online self-test function of the realization and user rights management and publishing papers and so on. Test paper focuses on the function, time control function, automatic correcting function of the design and implementation papers. Hierarchy of the whole system is simple, easy, an
8、d have a certain security, to use the system more efficient and convenient to test students in the course of learning. Key words: On-line self_test;Time control; Test database1盐城工学院本科生毕业设计说明书(2009)目 录1 概 述11.1 项目开发背景及意义11.2 系统开发环境11.3 系统开发技术及工具22 需求分析52.1 系统可行性分析52.2 系统基本需求52.3 系统功能模块需求62.4 系统的设计目标7
9、3 系统概要设计73.1 系统开发环境73.2 数据库设计74 系统详细设计114.1数据库连接及操作类的编写114.2 在线自测模块设计124.3 成绩查询模块设计164.4 查看正确答案模块设计174.5 试卷管理模块设计194.6 题库管理模块设计234.7 管理员功能模块设计254.8 用户登录模块设计274.9 学生注册模块设计295 系统测试305.1 题库管理模块测试305.2 试卷管理模块测试315.3 在线自测模块测试326 结束语33参考文献34致 谢35附 录36附录1 程序清单36附录1.1 登录模块程序清单36附录1.2 题库管理模块程序清单39附录1.3 自动组卷模
10、块程序清单41附录1.4 发布试卷模块程序清单44附录1.5 时间控制模块程序清单45附录1.6 批改试卷模块程序清单46附录1.7 成绩查询模块程序清单48附录1.8 成绩排序模块程序清单55附录1.9 平均成绩模块程序清单62附录1.10 查看正确答案模块程序清单68附录1.11 数据库连接和操作模块程序清单71基于WEB的在线自测系统的设计与实现1 概 述1.1 项目开发背景及意义基于WEB技术的在线自测系统可以借助于遍布全球的因特网进行,因此在线自测既可以在本地进行,也可以在异地进行。试卷可以根据题库中的内容即时生成;可采用大量标准化试题,便于使用计算机判卷,大大提高阅卷效率;可以直接
11、把成绩存到数据库中,进行统计、排序等操作。现在较好的学生自我测试的方法为在线自测,试题内容放在服务器上,考生通过用户名和密码进行登录,试卷答案存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。因此,在线自测的学习方法将是以后学生自我测试的发展趋势。在线考试系统可以使学生在网上学习过后及时检验自己的学习效果,以发现自己的不足,使得学习效率得到很大提高。在线自测统中试卷的生成、考卷的提交、试题的批阅等都可以在网络上自动完成。只要形成一套成熟的题库就可以实现学生自测练习的自动化。这样一来,教师所要做的只是精心设计题目、维护题库,而不是组织考试,从而大大减轻了教师的负担,其经济性是相当
12、可观的,实用性、安全性也很好。1.2 系统开发环境本系统采用B/S结构,即Browser/Server(浏览器/服务器)结构,其随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓的3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript)和ActiveX技术,通过浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windo
13、ws 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是巨大的进步。B/S结构具有以下优点:a) 具有分布性特点,可以随时随地进行查询、浏览等业务处理。b) 业务扩展简单方便,通过增加网页即可增加服务器功能。c) 维护管理方便,只需更改网页即可实现所有用户的同步更新。d) 开发简单,共享性强。1.3 系统开发技术及工具1.3.1 JSPJSP的工作原理是当用户浏览器从WEB服务器上请求JSP文件时,WEB服务器响应该HTTP请求,JSP引擎解释JSP标识和小脚本,通过访问JavaBean组
14、件,使用JDBC技术访问数据库,生成所请求的内容,并且将结果以HTML或者XML页面的形式返回给浏览器。Servlet为WEB开发员提供了一个简单、一致的机制,来扩展WEB服务器的功能,并且和已有的业务系统交互,可以把Servlet看作在服务端运行的Applet。JavaBean是一种“类”,通过封装属性和方法成为具有某种功能或处理某业务的对象。JavaBean被组织成为Package以便进行管理。实际上就是把一组JavaBean一起放在XX目录中,每个类的定义前加上PackageXX,必须放在系统环境Classpath包含的目录下,系统才能找到其中的JavaBean。JSP技术是Servle
15、t技术的扩展,对HTML和XML的页面创作提供支持。网页设计员能够非常容易地将固定或静态的模板数据与动态内容进行组合。JSP功能特点如下:a) JSP具有跨平台能力、语法简单、书写容易,并且有“一处编写,随处运行”的特点。与ASP相比,JSP+JavaBean可以在所有平台下运行,而Java字节码都是具有标准性、跨平台性,在移植到另外的平台上时基本不用重新编译。而ASP目前仅用于NT和IIS,需要通过ASP+COM组合实现扩充,而且在Unix下使用COM非常困难。b) 采用JavaBean执行应用中的复杂处理,由于这些组件可重复使用,能提高开发效率。此外,组件的使用有利于实现静态和动态页面的分
16、离,页面设计者和开发设计者可以各司其职JSP为分离处理逻辑和表示层提供了很好的解决方案。c) JSP技术为创建显示动态生成内容的WEB页面提供了一个简捷而快速的方法。JSP技术的设计目的是使构造基于WEB应用程序更加容易和快捷,这些应用程序能够与各种WEB服务器、应用服务器、浏览器和开发工具共同工作。d) JSP的效率和安全性更高。ASP以源码形式存放,以解释方式运行,每次ASP网页调用都需要对源码进行解释,运行效率不高。JSP在执行以前先被编译成字节码,字节码由Java虚拟机(Java Virtual Machine)解释执行,比源码解释的效率高服务器上还有字节码Cache机制,能提高字节码
17、的访问效率。第一次调用JSP网页可能稍慢,因为它被编译成Cache,以后就快得多了。同时,JSP源程序不大可能被下载,特别是JavaBean程序完全可以放到不对外的目录中。e) JSP的组件方式更方便,易于维护。JSP通过JavaBean实现了功能扩充,而且JavaBean更为简单。而ASP需要通过COM来扩充复杂的功能。在维护方面,COM必须在服务器上注册,如果修改了COM程序,就必须重新注册,甚至必须关机和重新启动。JavaBean则不需要注册,放在CLASSPATH包含的目录中就行了。另外JavaBean是完全OOP,可以针对不同的业务处理功能方便地建立一整套可重复利用的对象库,例如用户
18、权限控制、E-mail自动回复等等。1.3.2 TomcatTomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当运行Tomcat时,它实际上作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等WEB服务器一样
19、,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。MyEclipse已经自带JDK,在MyEclipse中,只需配置好Tomcat的就可以搭建好服务器。1.3.3 SQL Server 2005Microsoft SQL server 2005是由Microsoft
20、公司开发的,由一系列相互协助的组件构成,能满足最大的WEB站点和企业数据处理系统存储和和分析数据的需求。它提供了丰富的图形化管理工具,简化了系统管理与操作。Microsoft SQL server 2005具有如下特性:a) 其数据引擎提供完整的XML支持b) 简单友好的操作方式c) 多种形式的管理架构d) 高度的可靠性、可扩展性和可用性e) 数据库可以在不同的平台上使用f) 易于安装、管理、部署和使用1.3.4 JDKJDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。自从Java推出以来,JDK已经成为使用最广泛的Java SDK。
21、JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是学好Java的第一步。而专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多。从SUN的JDK5.0开始,提供了泛型等非常实用的功能,其版本也在不断更新,运行效率得到了非常大的提高。1.3.5 JavaScriptJavaScript是一种基于对象(Object)和事件驱动(EventDriven)并具有安全性能的脚本语言。使用它的目的是与HTML超文本标记语言、Java脚本语言(Java小程序)一起实现在一个WEB页面中连接多个对象,与WEB客户交互作用。从而可以开发客户
22、端的应用程序等。它是通过嵌入或调入到标准的HTML语言中实现的。它的出现弥补了HTML语言的缺陷,它是Java与HTML折中的选择,具有以下几个基本特点:a) JavaScript是一种脚本编写语言JavaScript是一种脚本语言,它采用小程序段的方式实现编程。像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C+、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。b) 基于对象的语言JavaScript是一种基于对象的语言,同时也
23、可以看作一种面向对象的语言。这意味着它能运用自己已经创建的对象。因此,许多功能可以来自于脚本环境中对象的方法与脚本的相互作用。c) 简单性JavaScript的简单性主要体现在:首先它是一种基于Java基本语句和控制流之上的简单而紧凑的设计,从而对于学习Java是一种非常好的过渡。其次它的变量类型是采用弱类型,并未使用严格的数据类型。d) 安全性JavaScript是一种安全性语言,它不允许访问本地的硬盘,并不能将数据存入到服务器上,不允许对网络文档进行修改和删除,只能通过浏览器实现信息浏览或动态交互,从而有效地防止数据的丢失。e) 动态性JavaScript是动态的,它可以直接对用户或客户输
24、入做出响应,无须经过WEB服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页(HomePage)中执行了某种操作所产生的动作,就称为“事件”Event)。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。f) 跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可正确执行。从而实现了“编写一次,走遍天下”梦想。实际上JavaScript最杰出之处在于可以用很小的程序做大量的事。无须有高性能的电脑,软件仅需一个字处理软件及浏览器。1.3.6 MyE
25、clipseMyEclipse是一个十分优秀的用于开发Java、J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse目前支持Java Servlet、AJAX、JSP、JSF、Struts、Spring、Hibernate、EJB3、JDBC数据库链接工具等多项功能。可以说MyEclipse几乎囊括了目前所有主流开源产品的专属Eclipse开发工具。2 需求分析2.1 系统可行性分析可行性的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决,系统方案在经济上、技术上和操作上是否可以接受。因此,可行性研
26、究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行系统分析和设计的过程。因此,在对在线自测系统进行开发前,首先对系统进行整体规划与设计,否则就会导致开发工作量大,系统不符合要求,更为糟糕的是还可能导致系统不完善或整个系统根本就无法运行。因此,系统的总体规划与设计是在线自测必备且首要的步骤。具体到本系统而言,就是要根据在线自测系统的目标、内容、规模、性质、现有的配置等具体情况,进行系统可行性分析,明确系统开发的方向,规划系统整体的物理结构。2.1.1 技术可行性本系统操作系统采用Windows系列操作系统,数据库管理系统采用SQL server 200
27、5,采用JSP+Servlet+JavaBean实现MVC三层模式进行系统的开发,IDE工具采用MyEclipse。本系统的设计在技术上是可行的。2.1.2 经济可行性在线自测系统可以节省大量的人力物力以及时间,可以最大限度的满足学生的需要,减轻老师的教学负担。让学生可以更方便地进行在线自测。同时,系统自动组卷、判卷,老师也可以通过本系统更方便地了解到学生的学习情况。2.1.3 操作可行性在线自测系统具备良好的界面、使用方便、操作简单、易于被用户接受,用户只需熟练操作计算机和对此系统使用做简单地了解即可方便使用,而且使用此系统可以减轻学校的负担,从使用方面来看此系统的开发是可行的。2.2 系统
28、基本需求目前网上学习已经成为一种潮流,与此同时在线自测系统也成为一种需求。经过对在线自测系统需求的分析,要求本系统具有以下功能:考试系统的用户分为管理员、教师和学生三种。a) 管理员:对教师信息、学生信息、学院信息、班级信息、科目信息的管理。b) 教师:题库的管理、学生成绩的查询,平均成绩的查询以及试卷的发布。c) 学生:主要是参加自主测验,测验完可以立即查出自己的考试成绩,并可以查看正确答案和该课程的平均成绩。另外,系统提供学生的注册,可以方便更多学生使用本系统。题型分为选择题和填空题,系统实现自动随机抽题组卷。系统控制在线自测时间,时间一到自动提交试卷。刷新或离开考试页面,视为提交考卷,在
29、一定程度上加强了系统的公平性和严格性。测试完成系统自动批改试卷,得出学生该次自测练习的成绩,并写入数据库。考试完成后,学生可以查看已参加的考试的正确答案,可以查询成绩,并且可以查看平均成绩,了解自己的学习情况。教师可以查询学生的成绩,并可以选择试卷来查询参加过该考试的学生成绩,并可以按成绩的高低进行排序、查看该试卷的平均成绩,以便更好的了解学生的学习情况。2.3 系统功能模块需求系统总体功能模块如图2-1所示。在线自测系统自测时间控制自动阅卷功能查看平均成绩试卷平均成绩自动组卷功能学生成绩排序学院管理功能科目管理功能后台部分前台部分(学生用户)在线自测子系统成绩查询子系统正确答案子系统教师用户
30、学生成绩试卷管理题库管理管理员用户用户管理资源管理图2-1系统总体功能模块图各个模块包含主要功能如下:a)在线自测模块:包括学生选择试卷、进行答题、提交试卷、系统评分和记录成绩功能。b)成绩查询模块:包括学生查询自己参加过测试的所有试卷的成绩,查询某试卷的个人成绩和平均成绩;教师查询所有学生的成绩,查询某科目的学生成绩并排序,查看该科目的平均成绩功能。c)正确答案模块:已参加过测试的学生,可以查看该试卷的答案。d)试卷管理模块:包括自动组卷、发布试卷(或取消发布)、预览试卷和删除试卷功能。e)题库管理模块:包括题库中所有题目的查询、添加、删除和修改功能。f)用户管理模块:包括三种帐户(管理员、
31、教师和学生)的查询、添加、删除和修改功能。g)资源管理模块:包括系统资源(院系、科目和班级)的查询、添加、删除和修改功能。其中学生权限下的功能模块包括:在线自测模块、成绩查询模块和查看正确答案模块;教师权限下的功能模块包括:题库管理模块、试卷管理模块和学生成绩管理模块;管理员权限下的功能模块包括:用户管理模块和资源管理模块。2.4 系统的设计目标在线自测系统是为了更好的服务教师和学生,减轻教师和学生的负担,使学生可以自主学习。同时,教师可以监督学生,了解学生的学习情况。所以,本系统的设计目标是在满足以上功能的同时,尽量做到界面美观大方,操作简单,安全性高。3 系统概要设计3.1 系统开发环境在
32、线自测系统的实现技术有多种,可以采用传统的客户机/服务器型的MIS型架构,即试题内容放在远程的服务器上,在客户机上安装考试应用程序和数据库客户机配置,因此每次访问时要对机器进行安装、配置,考务工作比较烦琐,而且考试程序放在客户机上,安全性也受到一定影响。WEB技术超越了传统的“客户机/服务器”两层结构,采用了三层体系结构:用户界面层/事务层/数据库层,因此WEB结构有着更好的安全性,在用户机上不需要安装任何应用程序,应用程序可以安装在事务层所在的计算机上,试题存放在数据库服务器上,当然,事务层和数据库可以是同一台机器(如果条件允许,还是应该把这两层分别放在不同的计算机上),因此本系统最终决定采
33、用WEB技术实现。3.2 数据库设计3.2.1 数据库需求分析通过对在线自测系统的功能分析,得出数据流图如图3-1所示。生成试卷题库管理教师登录提交的答案教师信息管理操作试卷内容考题考题考试请求 用户信息 用户信息 学生信息学生信息教师信息注册信息试卷文件学生信息文件教师信息文件管理员评分系统学生登录教师学生资源管理学生成绩文件成绩信息院系、科目文件成绩信息图3-1 数据流程图3.2.2 数据项与结构根据上述需求,设计如下所示的数据项和数据结构:a) 用户表:用户名、密码、姓名、出生日期、性别、学院、专业、班级、学号、E-mail、权限;b) 院系:编号和院系名称;c) 班级:班级名称和学院;
34、d) 科目:编号、科目名称;e) 选择题题库:问题号、科目、题目、选项和答案;f) 填空题题库:问题号、科目、题目和答案;g) 试卷目录:试卷名、科目、题目数量、每题分数、状态、总分、考试时间;h) 试卷选择题表:问题号、科目、题目、选项和答案;i) 试卷填空题表:问题号、科目、题目和答案;j) 成绩:用户名、试卷名、姓名、成绩、专业名称和院系名称。3.2.3 系统E-R图基于上面的需求分析可以得出系统的E-R图,如图3-2所示。NM1QYASD1ZX1学生教师管理员员试卷院系从属从属管理管理考试科目从属111从属班级从属11图3-2 系统E-R图3.2.4 数据库表设计数据库user包含以下
35、八个表:用户表、院系表、班级表、科目表、选择题题库表、填空题题库表、试卷目录表、成绩表。另外,试卷选择题表、试卷填空题表为系统随即组卷时自动生成的表,表结构与题库表相同。下面简单介绍几个表的结构。用户表用于存放管理员用户、教师用户和学生用户的基本信息和权限,权限字段为“1”为管理员,“2”为教师用户,“3”为学生用户。表结构如表3-1所示。表3-1 用户表(Online_Examination)名称字段名数据类型主键非空序号idintYESYES用户名usernamevarchar(50)NONO密码passwordvarchar(50)NONO姓名rnamevarchar(50)NONO性别
36、sexvarchar(50)NONO出生日期timeavarchar(50)NONO学院xueyuanvarchar(50)NONO专业zhuanyevarchar(50)NONO班级banjivarchar(50)NONO学号xuehaovarchar(50)NONO邮箱emailvarchar(50)NONO院系信息表用于存放院系信息,班级表与院系表为从属关系。只需要两个字段,院系编号和院系信息。表结构如表3-2所示。表3-2 院系信息表(Online_Examination_XY)名称字段名数据类型主键非空院系编号idintYESYES院系名称xueyuanvarchar(50)NONO
37、班级信息表用于存放班级信息,其中的学院名称与院系表的学院名称相关联,表示班级和学院的从属关系。表结构如表3-3所示。表3-3 班级信息表(Online_Examination_BJ)名称字段名数据类型主键非空班级编号idintYESYES班级名称banjivarchar(50)NONO学院名称xueyuanvarchar(50)NONO科目信息表用于存放科目信息,表结构如表3-4所示。表3-4 科目信息表(Online_Examination_LX)名称字段名数据类型主键非空科目编号idintYESYES科目名称leixingvarchar(50)NONO选择题题库表用于存放选择题信息,其中科
38、目与科目表相关联。还包括问题、选项和正确答案字段。表结构如表3-5所示。表3-5 选择题题库表(Online_ST)名称字段名数据类型主键非空问题号idintYESYES科目leixingvarchar(50)NONO问题timuvarchar(5000)NONO选项1xxavarchar(500)NONO选项2xxbvarchar(500)NONO选项3xxcvarchar(500)NONO选项4xxdvarchar(500)NONO答案daanvarchar(500)NONO填空题题库表用于存放填空题信息,其中科目与科目表相关联。还包括问题和正确答案字段。表结构如表3-6所示。表3-6 填
39、空题题库表(Online_ST1)名称字段名数据类型主键非空问题号idintYESYES科目leixingvarchar(50)NONO问题timuvarchar(500)NONO答案daanvarchar(500)NONO试卷目录表用于存放试卷信息,试卷权限字段标识试卷的发布状态,“1”为发布,“2”为未发布。另外其他字段还包括题目数量、每题分数、考试时间等。表结构如表3-7所示。表3-7 试卷目录表(Online_Examination_ML)名称字段名数据类型主键非空序号idintYESYES试卷名shijuan_namevarchar(50)NONO试卷科目shijuan_bumenv
40、archar(50)NONO题目数量timu_shuliangvarchar(50)NONO试卷权限shijuan_quanxianvarchar(50)NONO每题分数meitifenshuvarchar(50)NONO总分zongfenvarchar(50)NONO考试时间kaoshi_sjvarchar(50)NONO学生成绩表用于存放学生成绩信息,平均成绩模块要用到整型的考试成绩,所以数据类型设计成int,其他字段包括试卷名、学院、专业、学生名等。学生表结构如表3-8所示。表3-8 学生成绩表(Online_Examination_XJ)名称字段名数据类型主键非空序号idintYESY
41、ES学生姓名student_namevarchar(50)NONO试卷名shijuan_bumenvarchar(50)NONO考试成绩kaoshi_cjintNONO专业zhuanyevarchar(50)NONO学院xueyuanvarchar(50)NONO用户名usernamevarchar(50)NONO4 系统详细设计4.1数据库连接及操作类的编写数据库连接及操作类通常包括连接数据库的方法getConnection()、执行查询语句的方法executeQuery()、执行更新操作的方法executeUpdate()和关闭数据库连接的方法close()。下面将详细介绍在线自测系统中数
42、据库连接及操作的类“conn”。conn.java放在包Javabean下,主要负责数据库的连接和数据的操作。数据库连接采用JDBC方法:public conn() try Class.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver); catch (Exception e) try String path = jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=user;String name = sa;String word = 123;conn = DriverManager
43、.getConnection(path, name, word); catch (Exception e) 数据的操作先调用conn的createStatement方法创建一个stmt,然后调用statement的executeQuery方法执行sql语句,结果集放到resultset声明的rs中。以查询为例代码如下:public ResultSet query(String sql) try stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);rs = stmt.e
44、xecuteQuery(sql);System.out.println(数据库查询成功!);return rs;catch (Exception e) return rs;4.2 在线自测模块设计在线自测模块是本系统的主要功能模块。后台数据库中已经存放了教师用户添加、发布,并由系统自动组卷生成的试卷表。学生用户在选择试卷后,进行测验。提交试卷后,系统自动批改试卷。a) 进入自测页面前的验证注册学生用户首先通过下拉菜单选择试卷,为了保证系统的安全性,只有教师用户发布过的试卷,即数据库表Online_Examination_ML中的试卷权限的值为“1”,才会显示在下拉菜单中。实现的主要方法是,查询表Online_Examination_ML中的试卷权限的值。主要代码如下:String sql=select * from Online_shijuan_ML where shijuan_quanxian=1; ResultSet rs=aaa.query(sql); =请选择= option val