【精品】javac语言试题生成与考试系统(源代码+论文)
收藏
资源目录
压缩包内文档预览:(预览前20页/共31页)
编号:1638212
类型:共享资源
大小:3.58MB
格式:RAR
上传时间:2017-08-30
上传人:机****料
认证信息
个人认证
高**(实名认证)
河南
IP属地:河南
30
积分
- 关 键 词:
-
精品
javac
语言
试题
生成
考试
系统
源代码
论文
- 资源描述:
-
【精品】javac语言试题生成与考试系统(源代码+论文),精品,javac,语言,试题,生成,考试,系统,源代码,论文
- 内容简介:
-
1 1 分类号:分类号:TP312TP312 U U D D C C:D10621-408-(2007)6182-0D10621-408-(2007)6182-0密密 级:公级:公 开开 编编 号:号:20028010272002801027成成 都都 信信 息息 工工 程程 学学 院院学学 位位 论论 文文C C 语言试题生成与考试系统语言试题生成与考试系统论论文作者姓名:文作者姓名:刘刘 锷锷申申请请学位学位专业专业: :网网络络工程工程申申请请学位学位类别类别: :工学学士工学学士指指导导教教师师姓姓名名( (职职称称) ): :郭涛(郭涛(讲师讲师) )论论文提交日期:文提交日期:2007 年年 6 月月 9 日日C C 语言试题生成与考试系统语言试题生成与考试系统摘摘 要要当前,网络教学方兴未艾。网上考试已在其中扮演了重要的角色,传统试卷考试方式有待提高。网络教学已从其规范性、科学性及考试工作组织、管理的统一性,影响到教学质量的好坏。基于此,本系统开发实现了基于 B/S 模式的 c 试题生成与考试系统,其中数据库采用 MYSQL,开发平台是 jsp,开发工具是 eclipse+myeclipse,服务器采用 tomcat。本系统实现了三个功能模块即试题管理模块、在线考试模块、自动评分模块。试题管理模块包括上传试题、试题管理、试卷的自动生成。在线考试模块包括学生登录、考试鉴权、考试时间控制和一些简单的考试意外的避免。自动评分模块包括制定评分规则自动评分和答案的返回。 用户机则不需要安装任何应用程序直接通过浏览器就可以访问。本系统的实现有利于提高网络教学的质量同时大大拓展了考试的灵活性,阅卷效率,以及保证了考试的公平性、答案的安全性。关键词关键词:网络考试系统;Web;B/S 模式Producing Question and Examination System for C Language AbstractAt present, the network education is imperative. The net examination plays an important role in the network education. The traditional way of examination needs to be improved. Because of its normalization, scientificity and its unification of organizing and managing examination work, the network education can affect the quality of teaching. Considering these conditions, this system has implemented an on-line C test questions examination which bases on B/S pattern, and it adopts MYSQL database, JSP developing platform, Eclipse plus My eclipse developing tools and tomcat server. This system has implemented three modules including test questions management module, on-line examination module and auto grading module. The test question management module includes up-loading test questions, managing test questions and auto producing test paper. The on-line examination module includes student login, examination authentication, testing time control and the avoidance of some simple accidents. The auto grading module includes drawing grading rule, auto grading and returning answers. The user-part computer can directly visit browser, which needs not install any application program. The implementation of this system can enhance the quality of network teaching, and it also great enlarges the flexibility of examination and efficiency of reading tests, and it also guarantees the fairness of examination and security of answers.Key words:Net examination system; Web; B/S model目目 录录论文总页数:26 页1引言 01.1课题背景 01.2试题自动生成系统开发的目的和意义 01.3开发环境 01.3.1 硬件配置及外设设备与配置01.3.2 软件平台及语言02项目总览 02.1总体设计 02.2模块划分及各模块的基本功能 02.3数据库设计 03实现技术和方案选择 03.1B/S 模式与 C/S 模式03.2JSP 和 ASP 03.3JDBC 和 ODBC 03.4主要开发软件 04项目特色 04.1试题生成 04.2局部刷新 05项目分析、设计、开发 05.1试题管理模块的设计 05.1.1 上传试题05.1.2 试题管理05.1.3 试卷生成05.1.4 成绩管理05.2在线考试模块的设计 05.2.1 考试鉴权05.2.2 学生登录05.2.3 时间管理05.2.4 意外避免05.3自动评分模块的设计 05.3.1 自动评分05.3.2 答案返回06系统测试与分析 06.1测试的方法 06.2测试的步骤 06.3测试的结果 07运行效果 0结 论 0参考文献 0致 谢 0声 明 0第 1 页 共 26 页1 1引言引言1.11.1课题背景课题背景随着计算机技术和互联网技术的发展,网络技术已经逐渐渗入社会生活各个层面。传统的试卷考试方式已不能满足现代化教育的需求。网络教学已经成为全球性的大趋势。网络教育除了学习其中的内容之外,对学习效果的评估也是一个必不可少的方面。考试作为教学测评的一种最主要的手段,其规范性、科学性以及考试工作的组织、管理等,直接关系到教学测评的准确性和客观性,从而也影响到教学质量的好坏。使用网络考试系统可以使考试在本地进行,也可以在异地进行,打破了以往把考生聚集在一起参加考试的局面,大大拓展了考试的灵活性。试卷根据题库中的内容即时生成,可避免考试前的压题。使用计算机判卷,大大提高阅卷效率;还可以直接把成绩送到数据库中,进行统计、排序等操作。试题内容放在服务器上,考生通过姓名、准考证号码和口令进行登录,考试答案也存放在服务器中,这样考试的公平性、答案的安全性可以得到有效的保证。而且使用试题自动生成系统把从固定在单一试卷中的试题发展到了可以自由组合的题库,再到现在的多媒体试题库.随着题库的建立,组卷变得方便了,测试的形式也发生着变化,由所有学生同考一张试卷的大规模的集体测试发展到了同一场考试使用等同考查效力的不同试卷。这样更能适应我们的现代化教育,使我们的教学质量得到极大的提高。极大的节省了人力和物力,提高了效率。通过以上分析,得出结论;在科技化飞速发展的今天,我们只有充分利用身边的资源使用科学的考试方式,才能使教育跟上时代的步伐。也只有这样才能使我们的教育水平更上一层楼。1.21.2试题自动生成系统开发的目的和意义试题自动生成系统开发的目的和意义目前国内许多学校在考试方式上还是保留了原有的老师统一出题,学生集中在同一个地方用笔作答的考试方式,这样的考试方式存在着学多弊端。例如:老师出题花费大量时间,印刷试卷花费时间和钱财,造成大量纸张的浪费。人工判题速度慢而且还容易出错,使得考一次试需要花费大量人力和物力。这些弊端的存在使得传统考试越来越不适应现代教学的需要。因此,如何使考试过程变得方便、高效、快捷、公正,是现代教育的一个重要课题。使用试题自动生成系统就能避免这些弊端,通过随机抽取不同的试题,保证了一人一卷从而极大的降低了作弊的几率。而且也避免了印刷试卷浪费的人力物力。本 C 语言试题自动生成系统借鉴了许多优秀的先进的网络考试系统的思想,再结合自己所学的知识,开发出来的一套简单的考试系统,主要是目的是检查自己综合运用自己所学知识的能力。本系统完全可以满足一些小型考试的需要,第 2 页 共 26 页并通过对各种客观题考试情况的长期研究,以灵活、通用为主要设计思想,开发适合于各种客观试题测验的系统。本系统将会提高许多学校对学生考试的效率,极大程度上减轻了老师的工作量,同时加强了对学生所学知识的检测。提高了教学质量。该系统也还可以用于其它部门的考试。例如一些驾校,单位的考试。考试是网络教学的重要部分,日渐普及的网络教学呼唤着功能强大的网络考试系统的出现。网络考试系统方便了传统考试中的各个环节。提高了试题管理的自动化、标准化、便捷化,也提高了试题的安全性和保密性。试题的自动生成,使每个考生都有一套不同的试题,把固定在单一试卷中的试题发展到了可以自由组合的题库,随着题库的建立,组卷变得方便了,测试的形式也发生着变化,由所有学生同考一张试卷的大规模的集体测试发展到了同一场考试使用等同考查效力的不同试卷,而且可以跨地域的进行同一考试,除了在本地也可以在异地进行,打破了以前考试的局限性。在成绩统计方面,可以方便快捷地实现成绩统计,如各种均值,方差,分布等的计算,同时还可以方便地评判考试的信度和效度。通过使用试题自动生成系统完全摆脱了纸和笔,考生使用计算机答卷,然后通过网络提交试卷,系统自动阅卷。基于计算机网络的考试需要专门的较高水平的技术支持,网络考试已经发展成为一种产业。发展网络教学有着非常深远的意义,网络教学在全世界范围内得到了迅速的发展。在国外,美国每年大约有近 1700 万人通过网络接受教育和培训;欧洲网络教育规模也很大,巨大的需求推动了网上教育业的快速发展。目前,在国际市场上比较著名的网上教育软件产品有:Lotus 公司 LearningSpace,英属哥伦比亚大学计算机科学系开发的 WebCT,WBT System 公司的 TopClass 和加拿大Simon Fraser 大学开发的 Virtual-U 等。美国的 NTU,英国的 Open College 都是十分典型的网络教育示例。目前国内许多学校的教育水平都不是很高,不能满足教育部在“面向 21 世纪教育振兴行动计划”中的决定。在未来的几年,中央政府将集中投入相当数量的资金,并广泛吸取地方、企业、个人的资金和力量共同完成现代远程教育框架的构建。网络考试在现代化教育中是越来越重要,而在考试过程中,试题的自动生成相当重要,它的正常运行保证了后面考试的质量。所以研究试题的自动生成是相当重要的环节。整体来说 ,国外的网上考试系统有一定的优势,但在一定范围内的考试采用的技术还停留在局部范围内基于 Client-Serve:结构的应用程序,真正应用性很好的考试管理工具也还没有出现.所以我们有研究考试系统的必要。现在,科学技术的飞速发展把人类社会推向了一个崭新的时代网络时代,世界经济发展已进入一个激烈竞争的年代,谁拥有好的教育第 3 页 共 26 页水平,谁就会创造出更好的知识财富,从而对经济的发展起到巨大的推动作用。新一代远程教学系统的网络传输结构将会具有很强的可扩展性和不同系统间的互操作性。教育信息内容从简单的文件系统组织向教育信息资源库建设发展,从以前的以课程教学内容逐步向以学科体系为出发点构建教学内容过渡。好的考试系统将能很好的检测学习者学习的积极性、主动性。能有效的及时的弥补学习者在学习过程中所存在的知识缺陷。纵观国内外网络考试系统,它们大多采用 SQL SERVER,ACCESS 和 MySQL 作为为后台数据库,在结构上采取 B/S, C/S 两层开发模式,在评分系统中主要支持客观题的自动评分,没有对主观题的自动评分进行研究和开发,从而对系统的功能和实用性带来了一定制约。本系统也是对客观题的做出自动评分,试题的自动生成也只局限于选择、判断和填空。1.31.3开发环境开发环境1.3.1 硬件配置及外设设备与配置硬件配置及外设设备与配置硬件环境:硬件平台是指开发与运行所需要的硬件环境,主要包括计算机机型及一些硬件配置。由于本 c 语言试题自动生成系统是一个基于 web 架构小型的 MIS 系统,因此对服务器端有一定的配置要求,客户端只需要安装 IE 浏览器就可以了,对计算机硬件的要求都不高,比较经济,只须配备如下即可: 本系统服务器端的运行环境规定:处理器型号:Intel P4 2.8G;内存容量:512 M;外存容量:80G;网络环境:联网状态或企业内部网中;1.3.2 软件平台及语言软件平台及语言软件平台是指系统开发与运行的软件环境。本系统在开发时选用了兼容性比较好的 Windows XP(SP2)版和 JSP 作为主要的开发技术,由于 JSP 可以不加修改地在大多数的 Web Server 上运行,符合“Write once, run anywhere”(“一次编写,多平台运行”)的 Java 原则,实现了程序与服务器平台的独立性,使得基于 JSP 技术的应用程序更易于维护和管理。所采用的开发软件主要有eclipse+myeclipse 、Dreamweaver 2004 等,数据库方面考虑到与 Windows XP兼容性以及所开发的系统的一些信息的数量,所以选择 MySQL。服务器采用tomcat ,Web 服务器和数据库连接技术采用 JDBC。2 2项目总览项目总览2.12.1总体设计总体设计项目总体设计框架图如图 2-1:第 4 页 共 26 页考试用户管理员密码修改开始考试退出系统成绩管理题库管理考试设置管理修改密码学生管理学生信息添加学生信息删除学生信息修改学生信息查询退出系统试题类型设置试题数量设置间隔时间设置考试时间设置成绩查询提交试卷考试作废返回答案登录页面成绩管理成绩添加成绩删除成绩查询题库管理试题修改试题查看试题删除试题添加图 21 项目总体设计框架2.22.2模块划分及各模块的基本功能模块划分及各模块的基本功能本 c 语言试题生成与考试系统划分为三个功能模块: 试题管理模块:该模块的主要工能有上传试题、试题管理、试卷的自动生成。该模块针对的是管理员,管理员有且只有一个不能添加。所有的试题都是管理员通过逐个添加或者通过 Excel 模板批量上传到数据库里的,当输入的试题有误时,还可以试题管理功能对该试题进行修改。此外,试题管理还包括对试卷的设置。例如:试卷类型的设置、考试持续时间的设置,两次考试时间间隔的设置。试题的自动生成是通过一条 SQL 语句加上数据库自带的一个随机函数随机从题库里面选出与考试配置相符合的试题类型和数量来组成一套试卷。每个考生所生成的试卷不是一样的。 在线考试模块:该模块主要针对的是考生。该模块主要包括考生登录、考试鉴权、考试时间控制和一些简单的考试意外的避免。当用户进入到登录界面时,该功能可以验证登陆用户的身份以及对本系统的操作权限。当检测到是管理员用户时就跳转到用户页面,当检测到是学生用户时候就进入学生页面。考试鉴权主要是检测用户是否合法,还有该用户是否重复登陆。考试时间的控制主要是考试所需要的时间设置,当考试时间到的时候会弹出一个提示框,如果考生不提交改试卷将作为作弊处理在数据库里面强制插入一条 0 分记录。在考试过程中考生强制退出也是作 0 分处理。一些简单的考试意外的避免主要是当考生登陆以后,点击准备好了这个按钮以后,试题自动生成。这时候,你再后退重新点击准备好了这个按钮时试题不会改变,与第一次生成的试题一样。 自动评分模块:该模块主要包括制定评分规则自动评分和答案的返回。根据考试的答案与存放在数据库的正确答案相比较判断出正误,试题的分值已由管理员输入数据库的,只需根据判断出的正确的试题取出相应的分值进行累加即可。当考生提交后会把正确答案和考生所选的答案返回给考生。2.32.3数据库设计数据库设计表 2-1 数据库中表介绍表 名简 介功 能admin管理员信息表记录管理员的一些信息config试卷信息表记录试卷的一些设置信息score考生成绩表记录考生的考试成绩的一些信息student学生信息表记录学生的一些信息tiku试题信息表记录试题的一些信息数据库中主要表的结构如下:名称:管理员信息表;标识:admin;数据来源:管理员自己设置;表 2-2 管理员信息表第 5 页 共 26 页名称类型空默认值属性主索引(P)IduniqueIdInt(11)YesAuto_incrementNameVarchar(11)NoLatin1PasswordVarchar(41)NoLatin1EmailVarchar(50)No名称:试卷信息表;标识:config;数据来源:管理员添加;表 2-3 试卷信息表名称类型空默认值XnumInt(11)NoPnumInt(11)YesTnumInt(11)YeslastInt(11)NointernalInt(11)No名称:成绩信息表;标识:score;数据来源:前台页面获取;表 2-4 成绩信息表名称类型空默认值属性主索引(P)IdunqiueIdInt(11)yesAuto_incrementS_idBigint(10)noscoreBigint(10)yesrightnumInt(11)yesstartddatetimeno0000-00-00 00:00:00endddatetimeyesipVarchar(15)no名称:学生信息表;标识:student;数据来源:管理员输入;表 2-5 学生信息表名称类型空默认值属性主索引(P)iduniqueIdInt(11)yesAuto_increment第 6 页 共 26 页S_idBigint(10)noS_nameVarchar(11)noLatin1S_pswVarchar(50)yesLatin1SexVarchar(20)yesLatin1MajorVarchar(50)yesLatin1GradeVaechar(11)yesLatin1EmailVarchar(50)no名称:题库信息表;标识:tiku;数据来源: 管理员输入;如果是选择题,kind 里面的值是(X);正确答就存放在 answer 字段,如果是判断题,kind 里面的值是(P);正确答就存放在 answer 字段,1表示正确,2 表示错误。如果是填空题,kind 里面的值是(T);正确答案存放在 keya 字段,answer 字段的值为 1 表示第一个,也就是 keya。表 2-6 题库信息表名称类型空默认值属性主索引(P)IduniqueIdInt(11)yesAuto_incrementQuestionVarchar(200)noLatin1keyaVarchar(200)noLatin1keybVarchar(200)yesLatin1keycVarchar(200)yesLatin1keydVarchar(200)yesLatin1AnswerVarchar(10)yesScoreInt(3)nokindChar(1)yes上述几张表就只有学生信息表和成绩表之间有关系,它们是通过 S_id 建立关系的。3 3实现技术和方案选择实现技术和方案选择3.13.1B/SB/S 模式与模式与 C/SC/S 模式模式C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client 端和 Server 端来实现,降低了系统的通讯开销。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工第 7 页 共 26 页作界面是通过 WWW 浏览器来实现,极小部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓的三层 3-tier 结构。这样就大大简化了客户端载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。由于 C/S 模式是针对性开发,缺少通用性的特点,业务变更或改变不够灵活,而且需要专门的客户端安装程序,分布功能弱,兼容性差,故本系统采用B/S 模式来设计,在企事业单位内部局域网内建立 B/S 结构的网络应用,并通过 Internet/Intranet 模式下的数据库应用,相对易于把握,成本也较低。3.23.2JSPJSP 和和 ASPASPASP(Active Server Pages,活动服务器网页)是 Microsoft 公司在 1996 年底推出的一种取代 CGI(公共网关接口,即 Common Gateway Interface)运行与服务器端的 Web 应用程序开发技术,它内含于 IIS3.0(Microsoft Internet Information Server 3.0)以上的版本中。通过 ASP 我们可以结合 HTML 网页、ASP 指令和 ActiveX 组件建立动态、交互且高效的 Web 服务器应用程序。JSP(Java Server Pages)是由 Sun Microsystems 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术,为基于Web 应用实现动态交互网页制作提供的技术环境支持。由于 ASP 通常只应用于 Windows NT/2000 平台,而 JSP 则可以不加修改地在大多数的 Web Server 上运行,其中也包括了 NT 的系统,适应更广泛的平台,符合“Write once, run anywhere”(“一次编写,多平台运行”)的 Java 原则,实现了程序与服务器平台的独立性,而且基于 JSP 技术的应用程序比基于 ASP的应用程序易于维护和管理,所以本系统才用 JSP 作为主要的开发技术,在配合 HTML 和 JavaScript 脚本语言来开发。3.33.3JDBCJDBC 和和 ODBCODBCODBC(开放式数据库连接)是一个数据库编程接口,由 Microsoft 建议并开发。ODBC 允许程序使用结构化查询语言(SQL)作为数据访问标准,应用程序可通过调用 ODBC 的接口函数来访问来自不同 DBMS(数据库管理系统)的数据。对于应用程序来讲 ODBC 屏蔽了异种数据库之间的差异。Web 也是一类应用,和其他应用程序一样可以通过 ODBC 实现对数据库的访问。图 3-1 ODBC 应用系统模型JDBC(Java Database Connectivity)是 Java 中连接数据库的技术,Java第 8 页 共 26 页程序通过 JDBC 驱动程序与数据库相连,执行查询、提取数据等等操作。在 JSP 中访问数据库可以使用 Sun 公司的 Java JDBC API,也可以使用JDBC-ODBC 桥接器,而 ODBC 并不适合在 Java 中直接使用,因为 ODBC 是一个用C 语言实现的 API,从 Java 程序调用本地的 C 程序会带来一系列安全性、完整性和健壮性方面的缺点。故本系统采用纯 JDBC 连接,通过安装 Mysql JDBC 来建立 JSP 服务器与 Mysql 之间的连接管理。3.43.4主要开发软件主要开发软件在本系统的开发过程中,界面设计主要采用 Dreamweaver MX 2004 和Fireworks MX 2004 等工具,后台语言采用 JSP 和 JavaScript,web 服务器采用 Apache Tomcat,数据库方面考虑到与操作系统的兼容性以及所针对的信息量不是很大,所以采用 Mysql。4 4项目特色项目特色4.14.1试题生成试题生成由于防止学生作弊,在每个不同用户登陆时该系统所生成的试题是不一样的,是随机的。而且每次试题生成后不管学生怎样刷新或重新登陆试题都不会变(只要是在规定的考试时间段内),strSql = select * from tiku where kind=+kind+ order by rand() limit + Number + ;该方法主要是通过一条 SOL 语句从数据库里面取出试题,试题的随机性主要是考 Mysql 里面自带的 rand()函数实现。该函数的功能主要是就每次随机生成不同的试题。Kind 表示试题的类型由前台页面传进来。Number 是试题的数量也是由前台页面传进来,所以管理员可以根据考试的需要设置试题的数量和类型。不同类型的试题可以设置不同的数量。这样使试卷更具灵活性,更容易发挥考试的特点。试题的不一样也降低作弊率,提高了考试的可信度,增加了试卷的有效性,把学生对知识的掌握情况真实的反映在试卷上了。4.24.2局部刷新局部刷新本系统在添加学生的时候采用了 AJAX 思想实现局部刷新,当你在填写资料时候,系统会有一些提示,这些提示的出现都不是整体刷新后出现的,都是局部刷新就出现了。在你提交以后也不局部刷新也面这样节约了很多时间,瞬间就可以继续添加下一个学生。主要实现代码如下:function validate()/考生编号var s_id = document.getElementById(s_id).value;/向后台 passwordValidation 传一个参数,s_idvar url = /exam/s_idvalidation.do?s_id= + s_id第 9 页 共 26 页document.getElementById(wrong).innerHTML = 正在检查考生编号是否重复,请稍等!;/判断浏览器类型if (window.ActiveXObject) xmlHttp = new ActiveXObject(Microsoft.XMLHTTP); else if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest(); /请求后台方式xmlHttp.open(POST,url);/调用 callbackxmlHttp.onreadystatechange = callback;/发送到服务器xmlHttp.send(null);function callback()/考生编号var s_id = document.getElementById(s_id).value;/请求状态 完成if(xmlHttp.readyState=4)/服务器的 HTTP 状态码为 OKif(xmlHttp.status=200)/考生编号重复 if(xmlHttp.responseText=0)document.getElementById(wrong).innerHTML = 考生编号重复!;document.getElementById(flag).value=0else if(xmlHttp.responseText=1)document.getElementById(wrong).innerHTML = 考生编号可以使用!;document.getElementById(flag).value=1后台收到前台传来的值进行判断并返回一个值给前台,前台调用上面集中方法实现局部刷新的。5 5项目分析项目分析、设计、开发设计、开发在前面我们已经提到该系统主要由三个模块组成,即试题管理模块、在线考试模块、自动评分模块。试题管理模块包含上传试题、试题管理、试卷生成、成绩管理这些功能。如图所示:第 10 页 共 26 页图 5-1 功能模块图5.15.1试题管理模块的设计试题管理模块的设计试题管理模块分为:上传试题、试题管理、试卷生成、成绩管理。5.1.1 上传试题上传试题管理员登录后可以根据界面上的表格添加试题,这种方式一次只能添加一道试题。也可以在界面上下载 Excel 表格模版批量的上传试题。这种方式一次可以添加多道试题。上传的表格必须以文本的形式进行上传,否则会出错。通过 Question upload action 接收上传文件,然后在 javabean 里调用readquestionexcel 方法解析 Excel 文,实现上传。上传成功后如果发现有错,还可以在题库管理页面进行修改。图 5-2 为试题上传流程图5.1.2 试题管理试题管理在试题管理模块中可以对试题进行查看、删除、添加、修改。每条记录前第 11 页 共 26 页都有一个复选框,选种你不需要的记录然后点击删除按钮。在每条记录后面都有一个编辑查看的链接,通过该链接可以进行查看和修改。修改完毕后对数据库中的数据进行 updat 即可。点击添加按钮,可以进入添加试题的页面。还可以通过我们前面所提到的批量上传进行试题的添加。实现更新的代码如下:strSql = update tiku set question= + question + ,keya= + keya+ ,keyb= + keyb + ,keyc= + keyc + ,keyd= + keyd+ ,answer= + answer + ,score= + score + ,kind=+ kind + where id= + id + ;System.out.println(strSql);db.OpenSql(lock table tiku write);/ 如果插入成功就返回真否则返回假if (db.ExecSql(strSql) = 0) db.OpenSql(unlock tables);return false; else db.OpenSql(unlock tables);return true;实现插入的代码如下:strSql = insert into tiku values(null, + question + , + keya+ , + keyb + , + keyc + , + keyd + , + answer+ , + score + , + kind + );System.out.println(strSql);db.OpenSql(lock table tiku write);try / 如果插入成功就返回真否则返回假if (db.ExecSql(strSql) = 0) db.OpenSql(unlock tables);return false; else db.OpenSql(unlock tables);return true;第 12 页 共 26 页 catch (Exception e) db.OpenSql(unlock tables);return false;5.1.3 试卷生成试卷生成管理员可以对考试的各个参数进行设置。每道试题的分值,各种题型的数量。考试的时间等等。设置的这些信息是通过session来传递信息的。按照sesion传递的信息在题库中随机的抽取试题。在Mysql中自带一个随机函数rand()利用这个函数产生一个随机数,然后根据这个随机数取出相应的试题。所以题库里面的试题越多,两张试卷出现相同试题的几率就越小。为了保证一张试卷不出现相同的试卷只有通过管理员在把试题输入到题库的时候不要输入相同的试题。这种情况本系统没有考虑。实现代码如下:public static ArrayList randomQuestions(DB db, String Number, String kind)throws SQLException / 新建一个数组用来保存返回随机题目ArrayList list = new ArrayList();ResultSet rs;/ 查询数据库语句变量String strSql;strSql = select * from tiku where kind= + kind+ order by rand() limit + Number + ;/ System.out.println(strSql);/ 执行sql查询rs = db.OpenSql(strSql);while (rs.next() Questions qe = new Questions();qe.setanswer(rs.getString(answer);qe.setkeya(rs.getString(keya);qe.setkeyb(rs.getString(keyb);qe.setkeyc(rs.getString(keyc);qe.setkeyd(rs.getString(keyd);qe.setquestion(rs.getString(question);qe.setscore(rs.getString(score);list.add(qe);第 13 页 共 26 页/ 如果ResultSet不为空就关闭它if (rs != null) rs.close();return list;通过调用该SQL语句从数据库里取出试题。然后通过session把值传到前台。实现试题的自动生成。本试题自动生成系统对每次生成的试卷没作保存处理。5.1.4 成绩管理成绩管理成绩管理主要是对学生考试成绩的查看和删除。还可以查看考试时的 ip 地址以及考试开始时间和结束时间。5.25.2在线考试模块的设计在线考试模块的设计在线考试模块分为:在线考试模块分为:鉴权考试、学生登陆、时间管理、意外避免。5.2.1 考试鉴权考试鉴权每次系统都会判断该用户存不存在。防止一些不具有本次考试资格的学生登陆。判断用户是否存在的实现代码如下:public static boolean checkUserAccount(DB db, String s_id)throws SQLException String strSql;ResultSet rs;/ 编写 sql 变量strSql = select * from student where s_id= + s_id + ;/ 查询数据rs = db.OpenSql(strSql);/ 如果 sql 结果集中有数据表示当前用户是合法用户返回 true 后者返回 falseif (rs.next() / 如果 ResultSet 不为空就关闭它if (rs != null) rs.close();第 14 页 共 26 页return true; else / 如果 ResultSet 不为空就关闭它if (rs != null) rs.close();return false;5.2.2 学生登录学生登录通过用户名系统能直接判断出是管理员还是学生,管理员有且只有一个。所有学生的用户名、密码以及一些相关的信息都是管理员通过 Web 页面来添加、删除、修改。其中用户名为学生的学号,密码默认值为 123。登陆成功后学生可以修改自己的密码。检查用户名和密码是否正确的实现代码如下:public static boolean checkUser(DB db, String s_id, String psw)throws SQLException String strSql;ResultSet rs;/ 编写 sql 变量strSql = select * from student where s_id= + s_id+ and s_psw = password( + psw + );/ 查询数据rs = db.OpenSql(strSql);/ 如果 sql 结果集中有数据表示当前用户是合法用户返回 true 后者返回 falseif (rs.next() / 如果 ResultSet 不为空就关闭它if (rs != null) rs.close();第 15 页 共 26 页return true; else / 如果 ResultSet 不为空就关闭它if (rs != null) rs.close();return false;5.2.3 时间管理时间管理时间对考试来说是至关重要的。在 c 语言试题自动生成系统中,为学生设置了考试开始时间和考试剩余时间。使考生在考试过程中对时间好有个把握。显示剩余时间的时钟是一个动态时钟,这个时钟显示的时间是由服务器控制的,这样避免了考生因修改自己计算机的系统时间而出现的作弊现象。当服务器到达考试时间时候,系统会弹出一个对话框显示时间到。如果迟迟不点确定按钮,系统会自动向数据库插入一条零分记录。即作为作弊行为来处理。图 5-3 时间显示5.2.4 意外避免意外避免当考生登陆后点击准备好了按钮后开始考试,为了防止考生进行刷新或后退使生成的试题发生变化,这样会影响考试的结果。本系统在这方面进行了防止,使考生在考试时间段内后退也好刷新也好都不能是生成的试题发生变化。本系统还防止了学生通过多次登陆来生成不同试题然后提交多份考卷的现象。通过调用 isuesrlogin 这个方法来实现对用户多次登陆的侦听。主要实现代码如下:public static boolean isUserLogin(HttpSession session,String username)boolean flag = false;if(list != null & list.size() 0)第 16 页 共 26 页for(int i=0;i 考生终端与考点服务器能否正常连接,异常时是否有提示。2 考生按照正确的用户名和密码能否正常登陆进考试系统。3 学生能否正常的进行在线考试,包括答题、交卷、答案的返回。4 考试结束后是否可以恢复环境。系统对管理员客户端的测试步骤如下:1管理员终端与考点服务器能否正常连接,异常时是否有提示。2管理员按照正确的用户名和密码能否正常登陆进考试系统。3管理员能否正常的进行学生信息的添加、删除、修改;对试题的上传、修改;对考试的设置等。4管理员退出后是否可以恢复环境。6.36.3测试的结果测试的结果本系统已在如下环境下测试通过:CPU:AMD 2500+;内存:512M;操作系统:Windows XP (SP2) ;其他软件:Mysql;Tomcat 5.0;由于时间仓促,在系统运行期间可能会遇到各种问题,本人将会根据客户反馈的各种问题在以后的学习中不断完善本 c 语言试题生成与考试系统。第 18 页 共 26 页7 7运行效果运行效果图 7-1 系统登陆界面根据上述分析资料和设计资料,经过实践,基本完成了系统所需的功能。以下是系统相关的截图,演示了系
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。