离散数学题库管理系统论文_第1页
离散数学题库管理系统论文_第2页
离散数学题库管理系统论文_第3页
离散数学题库管理系统论文_第4页
离散数学题库管理系统论文_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

哈尔滨工业大学本科毕业设计(论文)离散数学题库管理系统院(系):专 业:班 级:学 号:姓 名:指导教师:20*年7月哈尔滨工业大学本科毕业设计(论文)-I-摘 要题库、试卷建设是教学活动的重要组成部分,传统手工编制的试卷经常出现内容雷同、知识点不合理以及笔误、印刷错误等情况。为了实现离散数学题库管理的信息化而开发了离散数学题库管理系统。该系统采用 C/S 模式,前台采用 JAVA(JBuilder2006) ,后台采用SQLServer2000 数据库。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。应用软件工程中的瀑布开发模型,开发实现了以下功能:题库的管理与维护、自动生成试卷、手工改动生成试卷、生成 WORD 试卷和答案。离散数学题库管理系统能够实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并且在操作上实现简单、方便、快捷。关键词 离散数学 题库 生成试卷 哈尔滨工业大学本科毕业设计(论文)-II-AbstractThe constructions of test library and examination paper are the important parts of teaching activities. The cases of similar content, illogical ken, and clerical or literal error, often occur in the manual-made paper. The development of this system is to make the management of the discrete mathematics test library more efficient.The system applies C/S mode and JAVA (JBuilder2006) .The backstage applies SQLServer2000 database. This paper states the general design method, the design of the database and the function mode. By classic waterfall models of software development implemented the following functions: 1. management and maintenance of the test library; 2. make a test paper automatically; 3. maintenance of the existed test paper; 4. generate WORD test paper and test answers.The discrete mathematics test library management system can realize the management systematic, standardized and automatic and also make the operation easy, fast and convenient.Key words discrete mathematics, test library, generate a test paper 哈尔滨工业大学本科毕业设计(论文)-I-目 录第 1 章 概 述 .11.1 题目的来源及背景 .11.2 研究意义 .11.3 软件工程瀑布模型介绍 .2第 2 章 需求分析 .42.1 项目内容及要求 .42.1.1 具体完成功能 .42.1.2 实现目标 .42.2 可行性分析 .42.2.1 经济可行性 .52.2.2 技术可行性 .52.3 开发工具的论述 .62.3.1 前台开发工具 .72.3.2 后台数据库 .7第 3 章 系统结构特性设计 .83.1 系统分析模型 .83.2 数据库设计 .10第 4 章 系统行为特性设计 .144.1 软件结构设计 .144.2 功能子模块设计 .144.2.1 教师登录模块 .154.2.2 题库的管理与维护模块 .164.2.3 试题查询模块 .194.2.4 自动生成试卷模块 .204.2.5 手工改动现有试卷模块 .24第 5 章 系统测试 .265.1 系统测试方案 .265.2 测试结果分析与调试 .26结 论 .29参考文献 .30致 谢 .31哈尔滨工业大学本科毕业设计(论文)-1-第 1 章 概 述1.1 题目的来源及背景随着生产社会化趋势的扩大、科学技术的进步、人类知识总量的增长速度不断加快、以及市场竞争的日益激烈,使人们对信息的认识产生了根本性的变化。信息被列为与物质、能源并列的人类社会发展的三大资源之一。信息化水平已成为衡量一个国家现代化水平和综合国力的重要标志。我国也正处于改革开放进一步深化的环境下,因此我们应当抓住机遇,充分利用信息,扎实的做好信息管理系统的基础工作,建设开发较为先进的应用系统,加快我国信息化建设的步伐。邓小平同志指出“教育要面向现代化、面向世界、面向未来” 。信息社会的到来已预示着电脑网络会在教育技术现代化中扮演重要角色,在实施教育技术现代化的过程中我们深刻认识到,在教学及考试的过程中应用网络化的手段解决传统的教师出题已经迫在眉睫,系统就是建立在这个基础上才得以全面、健康地发展。目前,大多数高等院校学生考试仍采用任课教师人工出题的方式,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,且要求近几年试题重复率不超过 30%,并且要同时给出答案和评分标准,这样做给教师增加了很大的工作负担,并且若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷,很难保证试题的保密性。采用计算机信息管理技术与数据库技术,建立合理出题、公正阅卷和科学评价为一体的试题库管理系统,每次考试前由题库中题目随机生成试卷,则可较好地解决教考分离的问题,体现考试的公正性,也可将广大教师从繁重的命题工作中解放出来。1.2 研究意义随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统,以及在大规模的事务哈尔滨工业大学本科毕业设计(论文)-2-处理和对工作流的管理等方面的应用。教学评价是检验教学设计效果,修订和完善教学设计的一个基本因素。教学评价通过单元测验和最终考试环节来完成。题库、试卷是教育部本科评估的指标和观测点,随着 5 年一轮的本科教学评估活动的开展,对高等院校试卷的质量提出了更高的要求。采用传统的手工编制试卷方式,容易出现试卷题目与往年雷同、考核的知识点不合理或笔误、印刷错误等现象,也不能适应网络环境下的教学要求。设计完成的题库管理与试卷自动生成系统的使用对象为教师。教师可以利用系统对不同课程建立题库并进行管理,根据不同的要求自动生成试卷和参考答案,使用系统提供的试卷自动生成功能可以大大提高试卷的质量,减轻教师的工作负担,提高教师的工作效率。1.3 软件工程瀑布模型介绍最初发表的软件工程开发过程起源于其他的工程过程。如下图所示,因为该图从一个阶段到另一个阶段逐次下降,这个模型因此以“瀑布模型”命名或软件生命周期模型。需求分析和定义系统和软件设计实现和单元测试集成和系统测试运行和维护图 1.1 软件生命周期模型中主要的阶段映射为一些基本的开发活动:1、需求分析和定义哈尔滨工业大学本科毕业设计(论文)-3-通过咨询系统用户建立系统的服务、约束和目标。并对其详细定义从而为系统描述服务。2、系统和软件设计系统设计过程区分硬件和软件系统的需求。硬件设计是指建立一个总体的系统体系结构。软件设计包括识别和描述一些基本的软件系统的抽象及其之间的关系。3、实现和单元测试在这个阶段,软件设计是作为一组程序或程序单元实现的。单元测试就是检验每个单元是否符合其描述。4、集成和系统测试集成单个的程序单元或程序,并对系统整体进行测试以确保其满足需求。在测试之后,软件系统交付给客户使用。5、运行和维护正常情况下(虽然不是必须的) ,这是一个具有最长生命周期的阶段。系统被安装并且进入实际的使用中。维护包括改正在早期各阶段未被发现的错误,改善系统单元的实现,当新的需求出现时提高系统的服务能力。原则上,每个阶段的结果是一个或多个经过核准的文件。直到上一个阶段完成,下一阶段才能启动。在实际的过程中,这些阶段经常是重叠和彼此间有信息交换的。在设计阶段,需求中的问题被发现;在编程阶段,设计问题被发现,以此类推。软件过程不是一个简单的线性模型,它包括开发活动的多个反复。哈尔滨工业大学本科毕业设计(论文)-4-第 2 章 需求分析开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。2.1 项目内容及要求根据此次项目的要求,主要完成对离散数学题库管理系统的设计。2.1.1 具体完成功能本系统具体完成的功能如下:1)题库的管理与维护:新题的录入,修改,删除等功能。2)生成试卷:包括自动生成与手工改动,要求可以对生成的试卷进行打印和 WORD 排版,并且对生成的试卷能自动生成其参考答案。其次还应考虑到试题的实际应用性,如:题目的覆盖率,雷同度,难度系数及近三年内不能重题等问题。2.1.2 实现目标该系统具有较好的现实意义,特别是计算机发展迅速的今天,实现了由传统的手工化管理向信息化管理,充分的利用了计算机的强大计算能力。该系统界面美观、操作方便、简捷,对于没有操作经验的人员根据系统的提示也能很快的熟悉操作该系统。该系统具有实用性和通用性。2.2 可行性分析可行性分析是研究技术领域的经济问题和经济规律的科学,是研究一定技术条件下如何提高经济效果的科学,是技术与经济的交叉。其主要研究技术的经济效果问题,技术与经济的最佳组合问题。哈尔滨工业大学本科毕业设计(论文)-5-2.2.1 经济可行性由于该软件是一个小型的离散数学题库管理系统,所以进行该软件的开发经费和投资较少,只需一台普通的计算机即可,系统的开发并不太复杂和繁琐,操作尽可能简单易行。在开发过程中,由一个人独立开发,用时三个月左右,所需成本费用主要为人工费用,再加上计算机和软件等构成该系统的开发成本。经济上的合理性:在系统开发上,现在普通的计算机市场价 4000 元左右,操作系统是 Windows XP 加上 Microsoft Office 其正版软件也不过 5000 元,数据库采用 SQL Server2000,前端采用 JBuilder2006。开发人员 1 名(假设月薪 1500) ,开发本软件如果是网络开发的技术人员最多 1 个月,开发费用合计大概是 10000元左右,且计算机和软件可重复使用。选择自行开发系统,既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系统的可扩展性也很大。2.2.2 技术可行性由于该系统是小型的离散数学题库管理系统,采用 C/S 模式,开发难度适中。通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用JAVA(Jbuilder2006) 。数据库方面则选用了 SQL Server2000 进行设计。C/S 是指:客户/服务器。其主要由客户机、服务器、网络三要素主成。用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。网络软件则保证客户机和服务器互相连通。C/S 结构的最大优点是具有强大的使用和处理数据的能力,它将数据处理任务分开在客户端和数据库服务器上进行,有利于充分利用网络的计算资源,该操作还大大减少了网络的传输量,从客户发往数据库服务器的只是查询请求,从数据库传回的只是查询的结果。以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。C/S 体系结构图如图 2.1。哈尔滨工业大学本科毕业设计(论文)-6-共 享 数 据 库 应 用 软 件 应 用 软 件 连 接 软 件 连 接 软 件 连 接 软 件 服 务 器DBMS 客户网络服务器图 2.1 C/S 体系结构图数据库的设计是以关系型数据库理论作为指导,将数据库建立在服务器上,应用程序则运行在客户机/服务器体系结构中的客户机上。关于 JAVA 生成 WORD 文件的技术,虽然 Sun 公司的 JDK 开发包中本身没有提供该功能,但是可以利用 JACOB 开源类库实现。JACOB 是一个 JAVA 到微软的 COM接口的桥梁。使用 JACOB 允许任何 JVM 访问 COM 对象,从而使 JAVA 应用程序能够调用 COM 对象。可以利用它对 MS Word、Excel 进行处理,目前最新公开版本是 1.10.1。以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实的基础。2.3 开发工具的论述本软件为离散数学题库管理系统,是 C/S 模式的信息管理系统。前台采用JAVA 技术, 后台采用 SQL Server 2000 数据库, 操作系统采用 Windows XP。哈尔滨工业大学本科毕业设计(论文)-7-2.3.1 前台开发工具Java 是一个由 Sun 公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种 WWW浏览器,哪一种计算机,哪一种操作系统,只要 WWW 浏览器上面注明了“支持Java”,你就可以看到生动的主页。Java 正在逐步成为 Internet 应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自 PC 机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。JBuilder2006 企业版是 Borland 公司最新推出的 JAVA 集成开发环境。通过可视化的开发工具,使得 EJB,Web Service, XML 和数据库应用程序的开发更加简单,方便,大大提高了开发人员的效率。比以前更快地在支持 J2EE,Web Applications, EJB 的单元测试工具的支持下,使用灵活的开发方法开发软件。使用改进的编辑器增加了产生力和代码可靠性,还有 Hot Swap 调试和改善的性能。2.3.2 后台数据库SQL Server 2000 数据库逐渐成为 Windows 操作系统平台下进行数据库应用开发中较为理想的选择之一。SQL Server 2000 数据库管理系统是目前最常用的关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及易于维护等优点。它具有真正的客户机/服务器体系结构,能与 WINDOWS 2000 操作系统有机的结合,在目前的数据库开发中被广泛的应用。哈尔滨工业大学本科毕业设计(论文)-8-第 3 章 系统结构特性设计本章主要介绍离散数学题库管理软件中后台数据库的结构设计。数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。3.1 数据库概念模型根据系统的设计要求,设计了 E-R 图,实体为教师、课程、题库和试卷,关系为试卷抽题表。教师教师编号 密码 教师姓名 住址 电话手机E M A I L学历 职称 备注图 3.1 教师实体及其属性图教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。哈尔滨工业大学本科毕业设计(论文)-9-课程课程编号 课程名任课教师 备注图 3.2 课程实体及其属性图课程实体包含了课程编号、课程名、任课教师和备注等属性。题库题号 课程编号 所属章节 试题内容 正确答案分值 题型 难度系数 录入日期 备注图 3.3 题库实体及其属性图题库实体包含了题号、课程编号、所属章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等属性。试卷试卷编号 试卷名称 课程编号 考试类型出题教师号试卷总分 组卷时间 备注图 3.4 试卷实体及其属性图试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等属性。哈尔滨工业大学本科毕业设计(论文)-10-试卷抽题表试卷编号 题目编号 备注图 3.5 试卷抽题表关系及其属性图试卷抽题表关系包含了试卷编号、题目编号和备注属性。教师教授课程试卷题库拥有考试试卷抽题表mn教师编号 任课教师试卷编号题号课程编号试卷编号题目编号课程编号1n1nnm图 3.6 总体 E-R 图3.2 数据库逻辑设计在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。首先将离散数学题库管理系统的数据库概念结构转化为 SQL Server2000 数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库管哈尔滨工业大学本科毕业设计(论文)-11-理系统中的各个数据库表。字段名 字段类型 字段长度 说明教师编号 VARCHAR 20 关键字,如:001密码 VARCHAR 10 密码教师姓名 VARCHAR 20 教师姓名住址 VARCHAR 200 可以输入英文字符 200,但是汉字只能输入100 个电话 VARCHAR 15 电话手机 VARCHAR 15 手机EMAIL VARCHAR 40 EMAIL学历 VARCHAR 10 学历职称 VARCHAR 10 职称备注 TEXT 16 备注表 3.1 教师数据库表教师数据库表:用来记录教师的基本信息。该表的关键字字段是:教师编号。教师编号字段同时也是下面课程数据库表和试卷表的外键。字段名 字段类型 字段长度 说明课程编号 INT 4 关键字课程名 VARCHAR 30 如:离散数学任课教师 VARCHAR 20 外键,对应教师表的教师编号字段备注 TEXT 16 备注表 3.2 课程数据库表课程数据库表:用来记录课程的基本信息,可用于存储多个课程,用于系统的扩展。该表的关键字字段是:课程编号,同时也是下面题库数据库表和试卷数据库表的外键。该表中的任课教师字段是外键,对应教师表的教师编号字段,表示该课程的任课教师。哈尔滨工业大学本科毕业设计(论文)-12-字段名 字段类型 字段长度 说明题号 INT 4 关键字课程编号 INT 4 外键,对应课程表的课程编号字段所属章节 VARCHAR 100 此题所属课程的章节,比如第二章第三节,就是“2-3”试题内容 TEXT 16 包括试题内容和四个选项内容正确答案 TEXT 16 正确答案分值 INT 4 题目的分数题型 VARCHAR 200 选择题、填空题、简答题、计算题、证明题、其它难度系数 DECIMAL 5 以往考试中该题答错人数 除以 总人数 得到的值,初次设置时根据教师的经验手动设置录入日期 DATETIME 8 录入日期备注 TEXT 16 备注表 3.3 题库数据库表题库数据库表:用来记录各门课程所对应的试题,是生成试卷提供试题来源。该表的关键字字段是:题号,用来唯一表示一道题目。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该题目对应的是哪门课程。字段名 字段类型 字段长度 说明试卷编号 INT 4 主键试卷名称 VARCHAR 200 试卷名称课程编号 INT 4 外键,对应课程表的课程编号字段考试类型 VARCHAR 20 单元测试、期中考试、期末考试以及补考等类型出题教师号 VARCHAR 200 一人或多人出题人默认为当前生成试卷的操作员的号。多人情况时,教师的编号如:1,2,3 表示 由 1 号和 2 号和 3 号老师同时出题试卷总分 INT 4 用户设定的试卷总分组卷时间 DATETIME 8 组卷时间备注 TEXT 16 备注表 3.4 试卷数据库表试卷数据库表:记录了试卷的基本信息,用于生成试卷的标题。该表的主键字段是:试卷编号。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该试卷对应的是哪门课程。哈尔滨工业大学本科毕业设计(论文)-13-字段名 字段类型 字段长度 说明试卷编号 INT 4 主键,同时也是外键,对应试卷表的试卷编号字段。题目编号 INT 4 主键,同时也是外键,对应题库表中的题号字段。备注 TEXT 16 备注表 3.5 试卷抽题表数据库表试卷抽题表:用来记录每张试卷对应的试题,是生成 WORD 文件的数据来源。该表的主键字段是:试卷编号和题目编号。这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。哈尔滨工业大学本科毕业设计(论文)-14-第 4 章 系统行为特性设计4.1 软件结构设计本系统共分 3 个大功能模块。如图:离散数学题库管理系统题库的管理与维护新题的录入题目的修改题目的删除生成试卷自动生成试卷手工改动现有试卷生成 W O R D 试卷生成 W O R D 参考答案教师登陆模块题目的查询图 4.1 功能模块图上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。教师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完成对题目的录入、删除、修改和查询。生成试卷模块完成根据用户输入的生成试卷要求,自动生成试卷,维护已经生成的试卷和生成 WORD 试卷和参考答案。4.2 功能子模块设计下面将详细描述每个子模块的详细设计。哈尔滨工业大学本科毕业设计(论文)-15-4.2.1 教师登录模块(1) 界面设计此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,若符合管理员登录信息则登录成功,进入主界面。此模块用于验证用户的信息,保证了系统内部资料的安全性。图 4.2 教师登录界面(2) 模块内主要算法的描述输入教师编号和密码打开主界面结束是开始检查是否为合法用户否图 4.2 教师登录模块流程图哈尔滨工业大学本科毕业设计(论文)-16-(3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:ui.LoginFrame 和 app.DBAccess 类ui.LoginFrame 类:该类用于显示教师登陆窗口,并且负责判断用户输入的用户名密码是否正确。主要方法介绍:okButton_actionPerformed(ActionEvent e):该方法在用户点击确定按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不正确,则提示用户重新输入。若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。app.DBAccess 类:该类为底层数据库操作类。实现基本的数据库操作,如插入,删除,修改。主要方法介绍:getConnection():用于返回一个 JDBC 数据库连接(Connection)对象。executeUpdate(Connection conn, String sql):执行 insert、delete 和update 语句。对数据库表进行插入删除和更新。executeQuery(Connection dbCon, String querySQL ):根据给定的 sql 语句,进行查询,返回 DefaultTableModel 对象。4.2.2 题库的管理与维护模块(1) 界面设计此界面是题库的维护界面,是对试题的基本信息进行录入,删除和更改。若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。若要修改试题,在下面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。哈尔滨工业大学本科毕业设计(论文)-17-图 4.4 题库的维护界面(2) 模块内主要算法的描述开始查询出题库表中所有的试题查询出课程数据库表中所有的课程名是删除选中题目添加 ? 修改 ? 删除 ?否 否是输入试题内容是否根据课程名取得课程编号设置试题的录入日期保存到数据库结束是否确定删除 ?是否图 4.5 题库维护模块流程图哈尔滨工业大学本科毕业设计(论文)-18-(3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:ui.AddTestDialog 类和 app.TestLibraryHandler类ui.AddTestDialog 类:该类负责显示题库维护窗口和响应用户的各种操作。主要方法介绍:addjButton2_actionPerformed(ActionEvent e):该方法用于处理添加试题请求。首先将题库记录集(QueryDataSet)移动到最后一行,然后插入一条新记录。deletejButton2_actionPerformed(ActionEvent e):该方法用于处理删除试题请求。内部实现时首先判断用户是否选中了一条记录,若没有选中则不能删除试题,提示错误消息。然后询问用户是否确认删除,若确认删除则删除选中的试题。savejButton1_actionPerformed(ActionEvent e):该方法用于处理保存数据请求,当用户修改或者插入了一条数据后,需要点击保存按钮,也就是调用该方法,插入或者修改结果才能插入到数据库中。app.TestLibraryHandler 类:该类主要用于处理添加试题相关的数据库操作,与界面类一起实现题库的维护和查询功能。主要方法介绍:String getAllCourseNames():该方法用于返回课程表的所有课程名,这个方法在添加试题和查询试题窗口中被使用。addCourseNameItems( JComboBox courseNamejdbComboBox1 ):该方法用于给课程名称控件添加课程名称项。在显示添加试题和查询试题窗口时,需要先调用这个方法,将所有的课程名添加到课程名下拉框中。getCourseIdByName( String courseName ):该方法用于根据课程名取得课程编号,在添加试题到数据库中时被调用。因为用户操作界面上输入的是课程名,而题库数据库表中保存的是课程编号,所以需要调用该方法进行转换。哈尔滨工业大学本科毕业设计(论文)-19-4.2.3 试题查询模块(1) 界面设计此界面是试题的查询界面,该功能允许用户试题的查询条件,进行查询试题操作。该功能可用于手工改动现有试卷模块。图 4.6 试题查询模块界面图(2) 模块内主要算法的描述开始查询出题库表中所有的试题利用子查询查询出该试题度应的课程名根据查询条件生成查询 S Q L 语句执行查询 , 返回查询结果结束输入试题查询条件图 4.7 试题查询模块流程图哈尔滨工业大学本科毕业设计(论文)-20-(3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:ui.QueryTestDialog 类ui.QueryTestDialog 类该类用于实现查询已有题目功能,负责显示查询试卷对话框。主要方法介绍:okjButton1_actionPerformed(ActionEvent e):该方法在提交查询按钮被点击时被调用。内部实现时,首先取得所有用户输入的查询条件,生成查询用的SQL 语句。然后利用 JBuilder 自带的 DbExpress 类库中的 QueryDataSet 类实现用户的查询操作。4.2.4 自动生成试卷模块 (1) 界面设计此界面是自动生成试卷界面。教师在上面输入试卷的基本信息,在下面抽取试题选项中设置试题要抽取的章节,题型,与往年试卷雷同度的最大值,平均难度系数的最大值。其中雷同度的计算方法为:两张试卷相同的题目的数量*2 / 两张试卷总的题目数。平均难度系数的计算方法为:所有试题的难度系数的和 / 试题的总数。哈尔滨工业大学本科毕业设计(论文)-21-图 4.8 自动生成试卷界面(2) 模块内主要算法的描述哈尔滨工业大学本科毕业设计(论文)-22-根据上步的结果 、 课程 、题型和章节选项执行查询 , 先按照章节排序 , 再按照题型排序统计 今年 , 去年 , 和前年的试卷 中包含的题目题号( 不能用于这次抽取 )去掉一道与雷同度最高试卷中的雷同试题 , 另外抽取一道雷同度最高试卷中没有的题目( 且与去掉的题目题型相同 )找出往年中雷同度最高的试卷是计算已生成试卷的平均难度去掉一道难度超过平均值的题目 , 抽取另一道同类型题目是试卷生成结束根据查询结果的数量 , 生成一个随机数 , 抽取一道题是将该试题的分数累加到抽取试题的总分上 , 标注为已抽取开始抽取试题的总分 = 设定的总分 , 并且仍有题目可抽取 ?否雷同度超过设定值 , 并且仍有试题可抽取 ?否否难度超过设定值 , 并且仍有试题可抽取 ?试卷雷同度是否增加 且 仍有试题可抽取 ?取消上步操作 , 抽取另外一道试题否是图 4.9 自动生成试卷算法流程图该模块为系统的核心业务模块,考虑了三年内不能出现重复的题目,与往年试卷的雷同度和试卷的平均难度。首先,统计今年,去年,和前年的试卷中包含的题目题号,这些题目号将不能用于这次的试题抽取(三年内不能出现重复的题目) 。然后根据上步的结果、选中的课程名、设置的题型和章节选项执行查询,先按照章节排序,再按照题型排序,查询出的试题可以用于此次试卷的生成。然后按照设定的试卷总分进行循环,当抽取试题的总分不大于设定的总分,并且仍有题目可抽取时,根据查询结果的数量,生成一个随机数,抽取一道题目加到已抽取试题列表中,将该试题的分数累加到抽取试题的总分上,将该试题从哈尔滨工业大学本科毕业设计(论文)-23-待抽取列表中去掉。这样循环下去,当退出循环的时候,已抽取试题列表中已经包含了一些题目,满足了试卷总分设定要求。然后按照设定的最大雷同度进行循环,首先将已抽取试题列表中的试题题号与往年试卷中的题号相比较,计算出雷同度,找出往年试卷中雷同度最高的试卷。判断雷同度是否超过设定值,若超过设定值,并且仍有试题可抽取,则去掉一道与雷同度最高试卷中的雷同试题,另外抽取一道与去掉的题目题型相同并且在雷同度最高试卷中没有的题目。这样循环下去,当退出循环的时候,已抽取试题列表中的题目即会满足试卷最大雷同度设定要求,或者由于题库中试题有限,待抽取试题列表已经没有试题了。然后按照设定的最大平均难度系数进行循环,首先计算已生成试卷的平均难度,若难度超过设定值,并且仍有试题可抽取,则去掉一道难度超过平均值的题目,抽取另一道同类型题目。这样循环下去,当退出循环的时候,已抽取试题列表中的题目即会满足试卷最大平均难度系数设定要求,或者由于题库中试题有限,待抽取试题列表已经没有试题了。查出往年所有的试卷编号根据试卷编号查询出包含的试题的题号与已抽取的试题相比较 , 计算出雷同度所有已有试卷都计算雷同度后 ,按照雷同度排序结束开始图 4.10 找出与往年雷同度最高的试卷的算法流程图(3) 该模块的 JAVA 类设计哈尔滨工业大学本科毕业设计(论文)-24-实现该模块的 JAVA 类为:ui.GeneratePaperDialog 类,app. MsWordHandler 类和 app. TestPaperHandler 类ui.GeneratePaperDialog 类:该类用于实现自动生成试卷功能,并且负责显示自动生成试卷对话框。主要方法介绍:initUnitTree(Connection connection):该方法用于初始化表示章节的树(查询出题库表的所有章节,按照章节顺序显示) ,在自动生成试卷对话框初始化的时候会调用该方法,将界面中的章节树初始化(填充章节的信息) 。addUnitButton_actionPerformed(ActionEvent e):该方法用于将左侧章节树中选择的章节添加到界面右侧的章节选择列表中。右侧的章节选择列表是指最后生成的试卷涵盖的章节列表。deleteUnitButton_actionPerformed(ActionEvent e):该方法用于将用户在右侧的章节选择列表中选择的项删除。genPaperButton_actionPerformed(ActionEvent e):该方法用于根据界面上输入的生成试卷条件和试卷基本信息,自动生成试卷,并且将试题和参考答案输出到 WORD 文件中。app. MsWordHandler 类:该类是操作 WORD 文件的类,包含 WORD 文件的基本操作方法。主要方法介绍:MsWordHandler():构造函数。初始化 WORD 应用程序,新建一个 WORD 文档。insertParagraph(.):向 WORD 中添加一个新的段落。该方法有 5 个参数,分别为 aParagraph,表示段落的内容;fontName 表示段落的字体;isBold 表示是否设定为黑体;isItalic 表示是否设定为斜体;fontSize 表示字体的大小。该类还有其他一些方法,比如添加试卷的标题,添加一道大题,添加一道题目等方法,这些方法都通过调用 insertParagraph(.)方法实现。在这里就不仔细讲解了。app. TestPaperHandler 类:哈尔滨工业大学本科毕业设计(论文)-25-该类将已抽取的试题列表生成 WORD 文档。主要方法介绍:genWordPaper(.):根据抽取的试题,生成 WORD 文件。该方法共有 4 个参数,selectedTestItems 表示已抽取的试题列表;paperTitle 表示试卷标题;courseName 表示课程名称;testStyle 表示测试

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论