1、本科生毕业论文(设计)题目 试卷自动生成系统的设计与实现 目 录摘要1关键词1Abstract1Key words11 引言12 开发工具简介和相关技术简介22.1 开发工具23试卷自动生成系统的分析33.1可行性分析33.2需求求分析34 系统设计44.1数据库设计464.2 系统模块设计75系统实现85.1登录模块85.2题库管理模块9105.3试卷生成模块136总结147致谢158参考文献16试卷自动生成系统的设计与实现摘要:教学效果评价是教学工作的一个重要环节,通常的教学评价方式多为通过试卷进行考试,因而试卷的质量将直接影响到教学评价的结果。一般情况下,教师出试卷时要么到庞大的题库里一
2、道一道的把题目挑选出来,或是从几本相关的书里把题挑选出来组成一份试卷,这样既费时又费力,而且很难保证试题的覆盖面和把握试卷的难度。为了将老师从繁重的命题工作中解放出来,为了提高命题的质量和管理的现代化、科学化、规范化,本文开发一个试卷生成系统。本文在充分的需求分析基础上,设计和实现了一个试卷生成系统,主要完成了自动生成试卷、抽取现有试卷和用户管理等功能。通过测试,系统在Windows 2000XP平台下能稳定运行,且基本达到了预期的设计目标,有一定的实用价值。关键词:自动生成 数据库 Java 试题库Design and Realization of the Automatic Generat
3、ion of Test PaperAbstract: Value of teaching is an important link for teaching; usually a value of teaching is from an exam, so a quality paper straight touches the value of teaching. The general situation ,teacher thinks out a paper,reach huge exam pool each finds out the question, or shoulder the
4、question together out from several relevant books. Time-consuming and also strenuous like this, and very difficult to guarantee coverage rate and paper degree of difficulty of examination question. Helping the teacher disengages from the burdensome proposition about exam, In order to improve the qua
5、lity and management proposition of the modern, scientific, standardized, the paper developed a test generation system.Paper Generation System is designed and implemented based on the sufficient needs analysis in this paper, It mainly implements some functions include in automatically generating pape
6、rs , extracting some of existing papers ,maintaining user information and so on ,the system can operate stably in Windows2000/XP platform ,reach the expected goal and have some practical value.Key words:Automatic; Data Base; Java; Test1 引言在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这
7、样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平造成教学上的失误。 基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:添加删除试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题共享功能非常实用,主要用于同事间交流试题。系统“体积”非常小,压缩后只有几百KB。平时只要将一些试题或从网络下载的试题,按“科目”、“章节”、“题型”、“难易程度”四个参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成
8、试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD、WPS等的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为*.DOC格式或者*.RTF的富文本格式,如果你的电脑上没有word这类文字处理软件还可保存为*.TXT格式。可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使得教学评价更加科学化、规范化,有利用教育事业的发展。2 开发工具简介和相关技术简介2.1 开发工具2.1.1数据库AccessMicrosoft Office Access 是微软把数据库引擎的图形用户界面和软件开发工具结合在
9、一起的一个数据库管理系统。它是微软OFFICE的一个成员,在包括专业版本和更高版本的office版本里面被单独出售。MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者连接数据(这些数据存储在其他应用程序和数据库)。软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。和其它办公应用程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象。2.1.2 数据库的连接JDBC(Java Data Base Connectivity,ja
10、va数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具或数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯Java API编写数据库应用程序。有了JDBC API就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需要用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程
11、序,只须写一遍程序就可以让它在任何平台上运行。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言,所需要的只是Java应用程
12、序与各种不同数据库之间进行对话的方法。而JDBC正是作为此种用途的机制。简单地说,JDBC可做三件事:与数据库建立连接、发送操作数据库的语句并处理结果,下列代码段给出了以上三步的基本示例:Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login,password);Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1);while (rs.next() int x = rs.
13、getInt(a);String s = rs.getString(b);float f = rs.getFloat(c);2.1.3Java高级语言简介Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。用Java实现的Hot Java浏览器显示了Java的魅力:跨平台、动态的Web、internet计算。从此,Java被广泛接受并推动了Web的迅速发展。Java由四方面组成:Java编程语言、Java类文件格式、Java虚拟机和Java应用程序接口(Ja
14、va API)。Java平台由Java虚拟机和Java应用编程接口构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分平为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版本发展到1.2版。Java分为三个体系J2SE(Java Platform Standard,java平台标准),J2EE(Java 2 Platform,Enterprise Edition,java平台企业版),J2M
15、E(Java 2 Platform Micro Edition,java平台微型版)。与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。3试卷自动生成系统的分析3.1可行性分析可行性分析的任务是明确开发应用项目的必
16、要性和可行性。必要性来自实现开发任务的迫切性,而可行性则取决于实现应用系统的资源和条件。这项工程需要建立在初步调查的基础上。 3.1.1经济可行性采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,降低了人工处理产生的错误。由于所开发的系统是一个单机版的系统,在计算机配置方面的要求也不是很高,所以学校在软、硬件不需要进行大的投入的前提下,试卷自动生成系统在经济上是可行的。3.1.2 技术可行性开发系统时所采用的工具全是可视化工具,开发出的应用程序均是图形化界面。借助于Java高级程序设计语言编写图形化界面,用数据库建立试题库,再用JDBC把界面与数据库连接这样就是实现了整个系统
17、,所以试卷自动生成系统在技术上是可行的。3.1.3操作可行性系统的操作员多为学校的教师,有较高的文化素质,他们其中的大多数都会Windows的基本操作,而且即使不会操作由于此系统操作十分简单经过短期的培训也能熟练的使用此系统,所以试卷自动生成系统在操作上是可行的。3.2需求求分析3.2.1 功能需求本系统是题库与试卷生成系统,主要有三方面的功能需求,其分别是:(1) 题库管理:为了用户能方便的管理试题题库,实现各种常用或者自定义题 型的录入、查询、修改。(2)自动生成试卷:用户能选择生成试卷的题型,试题数量,试题难度,以及试卷分值,且有预览试卷,预览答案,保存试卷和答案的功能。(3试卷打印 要
18、把学生选择好的试卷打印出来,并且对学生所选择的试卷进行定期保存(即学生此次生成的试卷会保存一周,一周之后系统会自动扫除此次生成试卷的痕迹)。3.2.2 性能需求 加载数据效率要求本系统的使用不受时间限制,可以24小时正常使用,对于用户登陆,试卷预览,答案预览,试卷生成功能响应时间不宜超过5秒钟。 界面风格要求整体以白色和淡蓝色为主,辅助淡绿色给人清新,舒坦的感觉,在1024*768分辨率下达到最佳显示效果,界面简洁清爽,不能过于复杂。4 系统设计4.1数据库设计4.1.1概念结构设计1系统设计到的实体 自动生成试卷系统中所涉及的主要实体及其属性:(1) 登陆用户用户名,密码(2) 语文选择题I
19、D,试题内容,选项A,选项B,选项C,选项D,标准答案,难度系数(3) 语文简答题ID,试题内容,参考答案,难度系数(4) 数学选择题ID,试题内容,选项A,选项B,选项C,选项D,标准答案,难度系数(5) 数学判断题ID,试题内容,标准答案,难度系数(6) 数学简答题ID,试题内容,参考答案,难度系数2 E-R图(实体联系图)用户名密码用户图 1用户图语文选择题难度系数标准答案选项D选项C选项B选项A试题内容ID图 2语文选择图试题内容ID语文简答题难度系数参考答案图 3语文简答图难度系数ID标准答案试题内容数学选择题选项A选项D选项B选项C图 4数学选择图数学判断题ID试题内容标准答案难度
20、系数图 5试题内容 ID数学判断图数学简答题参考答案难度系数图 6数学简答图4.1.2逻辑结构设计逻辑数据库设计的目的是从概念模型导出特定的DBMS可以处理的数据库的逻辑结构,这些模式在功能、性能、完整性和一致性约束及数据库可扩充性等方面均应满足用户提出的要求。根据对数据库的需求分析,以及数据库的E-R图的设计,将数据关系在表中实现,完成系统数据库建表工作。系统中用到的表如下:表 1用户表说明字段名数据类型字段长度用户名IDVarchar220密码PasswordVarchar220表 2语文选择题说明字段名数据类型字段长度编号IDVarchar24试题内容ContentVarchar2204
21、8选项AAVarchar250选项BBVarchar250选项CCVarchar250选项DDVarchar250标准答案StdanswerVarchar250难度系数DifficultyVarchar22表 3语文简答题说明字段名数据类型字段长度编号IDVarchar24试题内容ContentVarchar22048参考答案StdanswerVarchar22048难度系数DifficultyVarchar22表 4数学选择题说明字段名数据类型字段长度编号IDVarchar24试题内容ContentVarchar22048选项AAVarchar250选项BBVarchar250选项CCVar
22、char250选项DDVarchar250标准答案StdanswerVarchar250难度系数DifficultyVarchar22表 5数学判断题说明字段名数据类型字段长度编号IDVarchar24试题内容ContentVarchar22048标准答案StdanswerVarchar22难度系数DifficultyVarchar22表 6数学简答题说明字段名数据类型字段长度编号IDVarchar24试题内容ContentVarchar22048参考答案StdanswerVarchar22048难度系数DifficultyVarchar224.2 系统模块设计用户登录块设计的主要方法是结构化
23、方法,主导思想是以系统的逻辑功能设计和数据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确,易于修改,大小适中的模块结构。 本系统主要分为三大模块:登录模块、题库管理模块、试卷管理模块。系统各模块功能图如下所示试卷管理登录退出试卷自动生成系统添加试题题库管理查询试题删除试题选择试题类型选择难度系数生成试卷图 7系统功能模块图具体功能模块描述如下:1登录模块:该模块包括用户登录和退出两部分,用户通过用户名和密码登录系统,系统的用户分为两类一类是教师一类是学生,二者权限不同。系统根据所提交的用户名和密码配以相应的权限,老师可以修改、查询试题库而学生只可以查询试题库和打印所
24、生成的试卷。2题库管理:该模块是对试题库中的试题进行管理,包括添加、查询、删除试题功能。3试卷管理:该模块是进行试卷生成的,用户选择所要试题的类别、难度系数,系统根据用户的选择自动生成满分为100分的试卷。5系统实现5.1登录模块5.1.1登录模块流程图开始输入用户名和密码用户名或密码为空Y用户名或密码错误YNN登陆成功结束图 8登录流程图5.1.2登陆界面设计在登陆页面中,按数据库给定ID,Password输入用户名、密码,如想修改这些信息,在数据表用户表中修改,登陆时用户名、密码不能为空,否则会提示“用户名/密码不能为空”,当输入信息错误时,会提示“用户名/密码不正确,请重新输入!”图 9
25、登陆页面5.2题库管理模块5.2.1试题增加模块5.2.1.1增加模块流程图 开始输入试题内容判断ID是否重复输入答案A判断A是否为空 输入答案B输入答案C输入答案D判断B是否为空判断C是否空判断D是否空添加成功结束YYYYY图 10增加流程图5.2.1.2增加模块界面设计图 11增加界面设计5.2.2.删除模块5.2.2.1删除模块流程图开始删除判断题删除简答题NNN删除选择题删除试题删除成功结束图 12删除流程图5.2.2.2删除界面设计图 13删除界面5.2.3查询模块5.2.3.1查询模块流程图开始查询选择题查询判断题查询简答题NNN显示全部选择题显示全部判断题显示全部简答题查询成功结
26、束图 14查询流程图5.2.3.2查询界面设计图 15查询界面5.3试卷生成模块5.3.1生成模块流程图开始输入题量题量20选择试题难度高难度中难度低难度选取相应数量的高难度试题选取相应数量的低难度试题选取相应数量的低难度试题生成试卷结束NN图 16生成试卷流程图5.3.2生成模块界面设计图 17生成界面6总结试卷自动生成系统是一个对试题进行管理,试卷进行生成的系统。在本系统中,使用Java和Microsoft Access 2003数据库设计制作自动出卷系统。本系统的各个功能模块部分只是实现了基本的功能,但如果想真正把它用到高校试题信息管理中,还需要大家对系统进行进一步的完善工作,以便能更好
27、的适应需要。 通过这次毕业设计,我对Java和数据库方面的知识有了进一步的认识,尤其是数据传输过程的使用。本系统由于整个系统完全都是由个人设计制作的,因此在开发过程中遇到了许多问题和难点。系统的许多细节问题主要是靠查阅资料、实践摸索实现的,有些不能独立解决的问题,是指导老师的耐心细致的指导帮助我解决的,加之本人水平有限,并没有完完全全体现出面向对象的强大功能,而且还存在着许多不足之处。如: 一些数据输入时没有及时的进行数据校验,不能保证数据的绝对正确性。 由于时间关系,系统功能实现不够完善,使用不是很方便,比如,没有实现多条记录的删除和添加以及数据的导入等功能,数据恢复技术也尚未实现。总之,本
28、系统还有许多地方有待改进,本人将继续学习新知识、新技术,不断改进和完善系统。希望有朝一日,它能为高校所用,给师生带来便利。由于系统开发经验不足,时间有限,虽然我在有限时间里顺利的完成了系统的分析、设计和调试的基本工作,但是仍然有许多不足之处,我会在将来的软件设计过程中引以为戒。7致谢首先,感谢我的指导老师马春梅老师在毕业设计中从论文选题、论文设计到系统成型的细心指导,并给我提出了许多建设性的修改意见,使我的论文得以顺利完成。老师精益求精的工作作风,宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。其次,感谢我的同学高新颖,在论文写作过程中给予我的帮助。再次,感谢我的家人在论文写作过程中给予我的大力支持。最后,感谢各位评委老师评审我的论文。8参考文献1 王 珊,萨师煊数据库系统概论(第4版)M第四版北京:高等教育出版社,2000:5-6.2 张海藩软件工程导论M北京:清华大学出版社,2003:20-68.3 杨得新SQL Server数据库系统M北京:人民邮电出版社,2005:01-054卢山, 夏运强. ASP后台数据库网站制作实例经典M. 第二版. 北京:冶金工业出版社,2001:6-12.5冯博琴.面向对象分析与设计M.机械工业出版社,2003:23-47.16