基于JAVA散数学题库管理系统的设计与实现.doc

上传人:小** 文档编号:13336915 上传时间:2020-06-15 格式:DOC 页数:119 大小:1,010KB
返回 下载 相关 举报
基于JAVA散数学题库管理系统的设计与实现.doc_第1页
第1页 / 共119页
基于JAVA散数学题库管理系统的设计与实现.doc_第2页
第2页 / 共119页
基于JAVA散数学题库管理系统的设计与实现.doc_第3页
第3页 / 共119页
点击查看更多>>
资源描述
计算机系本科毕业(设计)论文 二零一零年六月 课题名称 基于 JAVA 的离散数学题 库管理系统的设计与实现 专 业 计 算 机 科 学 与 技 术 姓 名 学 号 指导教师 I 目 录 1 引 言 .1 1.1 开发背景及研究现状 .1 1.2 本人主要工作 .2 1.3 开发工具论述 .2 2 需求分析 .4 2.1 系统可行性分析 .4 2.2 需求分析 .5 3 概要设计 .10 3.1 系统整体设计 .10 3.2 数据库设计 .11 4 系统详细设计与实现 .15 4.1 教师登录模块 .15 4.2 用户管理模块 .16 4.3 题库管理和维护模块 .18 4.4 自动生成试卷模块 .21 4.5 手动修改现有试卷模块 .24 4.6 数据管理模块 .26 5 系统测试与维护 .29 5.1 系统测试方案 .29 5.2 系统结果分析与调试 .29 5.3 系统维护 .31 6 结束语 .32 致 谢 .33 参考文献 .34 忻州师院计算机系本科学士学位论文 1 基于 JAVA的离散数学题库管理系统的设计与实现 摘要:新课改中最突出部分是加重了对学生学习过程的考核,因此考试次数明显增加了, 这就给任课教师增加了很多负担。题库管理系统可以方便、快捷、高效的实现试卷的管理 与生成,来减轻这些负担。 本文首先介绍了题库建设的现状和开发工具,然后提出了离散数学题库管理系统的需 求分析,明确了系统的总体结构。并论述了利用 JAVA、数据库技术,设计与实现基于 C/S 结构的离散数学题库管理系统的全过程。主要解决了试题库的建立、试卷生成、系统的安 全性问题。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。从而实 现离散数学题库管理的信息化,规范化和试卷生成的自动化,并使其操作简单、方便、快 捷。 关键词:离散数学 题库管理系统 JAVA C/S 结构 Abstract :Part of the curriculum is added to the students learning process, so the number increased significantly, it would give many teachers increased burden. In order to alleviate the burden, test management system can be convenient, quick and efficient management and the realization of the test. This paper introduces the present situation of the construction of the test and development tools, and then puts forward the discrete math test management system of requirement analysis, the general structure of the system. And discusses the process which use JAVA, database technology, design and realization based on C/S structure of discrete math test management system. This paper mainly solves such problems as the building of the paper test, the security of the system. This paper discusses the overall design, database design and function module design, etc. So it makes the discrete mathematics test realize the standardization of management information, and test automation, and generate the operation simple, convenient and quick. Keywords:Discrete mathematics Exam pool administrative system JAVA C/S 1 引 言 1.1 开发背景及研究现状 信息时代的到来,为教育的改革和发展提供了十分有利的机遇,教育教学 领域的观念、理论和方法也随之不断更新,越来越多的计算机技术被引入教学 基于 JAVA 的离散数学题库管理系统的设计与实现 2 过程,并形成了多种多样的智能计算机教学系统。其中,计算机辅助的题库系 统作为智能计算机教学系统的核心,受到了人们极大的重视。 深化高等学校教学改革,全面提高高等教育质量,这是党中央、国务院继 上世纪末扩大高等教育招生规模之后,对高等高等教育改革和发展作出的又一 重大战略决策。为此,教育部、财政部决定实施“高等学校本科教学质量与教 学改革工程” ,投入了 25 个亿。在我国许多高等院校, 离散数学是计算机专 业的一门核心基础课程,具有概念多,题型广泛,重在理解的特点。在离散 数学的教学中,大量习题的练习与解题方法的讨论起着重要的作用,是巩固 知识,深化理解的一个必要的途径,因此需要对学生进行大量的测试和考试。 要进行测试和考试,传统的出题需要教师付出很大的心血,打印试卷也要花费 一定的财力。因此,研制离散数学题库管理系统已成为一项重要的课题,并且 目前,在国家有关项目的支持下,出现了一系实用的离散数学题库管理系统。 但这些成型的离散数学题库管理系统不能满足离散数学教学工作全过程的需要。 随着对离散数学题库管理系统的深入分析,离散数学题库管理系统将会朝着更 加的适应离散数学教学工作的方向发展,必将会促进离散数学教学工作效率的 提高。并且在人力上减轻教师的负担,在物力上减少学校的开支。 1.2 本人主要工作 学习了 JAVA 编程和 eclipse-SDK-3.2-win32 软件的使用。通过分析研究任 务书的要求,以及实地调研,对系统进行了需求分析,设计与实现、测试系统 等。系统的开发中,主要包括后台数据库的建立和维护以及前端应用程序的开 发两个方面。对于前者要求建立起数据一致性、完整性和安全性好的数据库。 对于后者则要求应用程序功能完备, 操作上实现简单、方便、快捷等特点。在 以上工作的基础上,对系统进行详细设计与系统所有功能的实现,最后进入论 文撰写阶段。 1.3 开发工具论述 本软件为离散数学题库管理系统,是 C/S 模式的信息管理系统。前台采用 JAVA 技术, 后台采用 SQL Server 2000 数据库, 操作系统采用 Windows XP。 1.3.1 前台开发工具 Java 是一个由 Sun 公司开发而成的新一代编程语言。使用它可在各式各样 忻州师院计算机系本科学士学位论文 3 不同种机器、不同种操作平台的网络环境中开发软件。Eclipse 是一个开放源代 码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服 务,用于通过插件组件构建开发环境。由于 Eclipse 中的每样东西都是插件,对 于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所 有工具开发人员都具有同等的发挥场所并且支持数据库访问。 1.3.1 后台开发工具 SQL Server 2000 数据库逐渐成为 Windows 操作系统平台下进行数据库应用 开发中较为理想的选择之一。SQL Server 2000 数据库管理系统是目前最常用的 关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端 数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及 易于维护等优点。它具有真正的客户机/服务器体系结构,能与 Windows XP 操 作系统有机的结合,在目前的数据库开发中被广泛的应用。 基于 JAVA 的离散数学题库管理系统的设计与实现 4 2 需求分析 开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析 同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对 离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结 构化的分析方法,自顶向下、逐层分解问题。 2.1 系统可行性分析 可行性分析是研究技术领域的经济问题和经济规律的科学,是研究一定技 术条件下如何提高经济效果的科学,是技术与经济的交叉。其主要研究技术的 经济效果问题,技术与经济的最佳组合问题。 2.1.1 经济可行性 由于该软件是一个小型的离散数学题库管理系统,所以进行该软件的开发 经费和投资较少,只需一台普通的计算机即可,系统的开发并不太复杂和繁琐, 操作尽可能简单易行。在开发过程中,由一个人独立开发,用时三个月左右, 所需成本费用主要为人工费用,再加上计算机和软件等构成该系统的开发成本。 经济上的合理性:在系统开发上,现在普通的计算机市场价 4000 元左右, 操作系统是 Windows XP 加上 Microsoft Office 其正版软件也不过 5000 元,数据 库采用 SQL Server2000,前端采用 eclipse-SDK-3.2-win32。开发人员 1 名(假 设月薪 1500 元) ,开发本软件如果是网络开发的技术人员最多 1 个月,开发费 用合计大概是 10000 元左右,且计算机和软件可重复使用。选择自行开发系统, 既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系 统的可扩展性也很大。 2.1.2 技术可行性 由于该系统是小型的离散数学题库管理系统,采用 C/S 模式,开发难度适 中。通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确 定采用 JAVA(eclipse-SDK-3.2-win32) 。数据库方面则选用了 SQL Server2000 进行设计。 C/S 是指:客户/服务器。其主要由客户机、服务器、网络三要素主成。用 户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。网络 忻州师院计算机系本科学士学位论文 5 软件则保证客户机和服务器互相连通。以简单的两层客户机/服务器系统而言, 客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入 输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端 软件的工作。服务器所执行的后端数据库服务器,则专门执行数据的存储、检 索、管理、备份等种种关键操作。 关于 JAVA 生成 WORD 文件的技术,虽然 Sun 公司的 JDK 开发包中本身 没有提供该功能,但是可以利用 JACOB 开源类库实现。JACOB 是一个 JAVA 到 微软的 COM 接口的桥梁。使用 JACOB 允许任何 JVM 访问 COM 对象,从而 使 JAVA 应用程序能够调用 COM 对象。可以利用它对 MS Word、Excel 进行处 理,目前最新公开版本是 jacob_1.9。 以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。 有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实 的基础。 2.1.3 运行可行性 运行可行性分析是指新系统运行后的良好环境进行估计和评价,同时还应 考虑对现有教师的培训、补充问题。现在一般的教师对计算机都很熟悉,使用 题库管理系统只需进行简单的讲解、说明或借助系统的帮助文档就能很快的掌 握和使用。 2.2 需求分析 2.2.1 用户需求分析 信息时代的到来,为教育的改革和发展提供了十分有利的机遇,教育教学 领域的观念、理论和方法也随之不断更新,计算机辅助教学(CAI )正是在此 背景下产生和发展起来的。在各种计算机辅助教学(CAI )软件的研制中,题 库管理系统的研究一直是一个非常活跃的课题,也是实现教考分离的一个重要 手段。利用离散数学题库管理系统,不仅能节省离散数学任课教师的宝贵时间, 提高工作效率,而且能消除出卷人主观意识的影响,使考试更加标准化,更加 客观、真实、全面地反映教学的实际效果,有利于教学质量的提高。建立了离 散数学题库管理系统以后,可实行教考分离,促使离散数学任课老师必须按照 教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质 基于 JAVA 的离散数学题库管理系统的设计与实现 6 量和整体教学水平有着非常重要的意义。 离散数学题库管理系统满足如下需求: (1)为了保证系统内部数据的安全性,系统应通过设置不同的登陆用户权限 来对系统进行访问和管理。 (2)为了方便多个用户使用本系统,要求能添加和删除用户。 (3)要求能导入试题和查询试题。 (4)灵活多样的组卷方式,如自动生成试卷、手工修改现有试卷。 (5)要求能对生成的试卷进行保存,以便下次直接使用。 (6)试卷生成速度不宜太慢。 (7)结合离散数学试题中有许多图形的特点,以便生成的试卷以标准的 试卷形式输出。故选择 Microsoft Office Word 2003 作为终端输出软件。 (8)试题的答案生成功能。 (9)为保证数据的安全,防止数据的丢失。要求能对数据进行备份和恢复。 (10)友好的用户界面。 用户需求分析的目的是对离散数学题库管理系统进行评估,采集和分析系 统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以 用一个用例图,图中的活动者代表外部与系统交互的角色,包括教师和管理员。 用例图是对系统需求的描述,表达了系统的功能和所提供的服务,包括用户管 理、导入试卷、查询试题、自动生成试卷、手动修改现有试卷、生成 WORD 试 卷、数据管理功能。系统的用例图如下图 2.1 所示。 教师 管理员 用户管理 导入试题 查询试题 自动生成试卷 手动修改现有试卷 试卷 生成 WORD 试卷 数据管理 忻州师院计算机系本科学士学位论文 7 图 2.1 系统用例图 2.2.2 系统功能需求分析 系统功能需求分析是从用户最初的非形式化需求到满足用户需求的软件产 品的映射过程。系统功能需求分析是离散数学题库管理系统设计的第一个阶段, 是离散数学题库管理系统成功与否的重要前提。系统功能需求分析分为:问题 分析和功能需求分析两个阶段。 (1)问题分析 离散数学是我国许多高等院校计算机专业的一门核心的基础课程,在 离散数学的教学中,大量习题的练习与解题的方法的讨论起着重要的作用, 是巩固知识,深化理解的一个必要途径、因此需要对学生进行大量的测试和考 试。 所以,除了期末考试外,每个单元都要进行测试和考试,帮助学生来巩固 知识。这就给任课教师增加了很多负担。需要任课教师定期的命题,出试卷, 这无形之中增加了任课教师的工作负担。所以为了减轻这些负担,开发的离散 数学题库管理系统,可以很好的减轻教师的负担。 (2)功能需求分析 通常离散数学题库管理系统应满足用户对组成试卷的各种要求与约定。根 据离散数学题库管理系统功能和条件的限止,经过调研与分析,离散数学题库 管理系统主要应具有以下功能: (1)用户管理:登录本系统的用户必须有一定的权限控制,管理员拥有一切 权限。而教师则只能进行试题编辑和生成试卷的权限。 (2)题库管理和维护:合法的教师用户可以进行试题的输入、修改、删除和 查询操作,这样教离散数学的教师可以使用本生成自己的试题库,以便以 后在教学考试中随时组成所需的试卷。 (3)组卷:运行本软件,可以满足教师不同的使用要求,即可以自动生成试 卷和手动修改现有试卷。并且将所生成的试卷以标准的试卷形式输出。为了便 于使用离散数学题库管理系统,我选择了 Microsoft Office Word 2003 作为终端 输出软件,这样可以方便编辑所输出的试卷,直到满足教师的要求为止。 (4)数据管理:管理员可以在必要的时候对离散数学题库管理系统中的数据 库进行数据的备份和恢复操作。 (5)帮助:它可以帮助教师进一步了解离散数学题库管理系统的性能、使用 基于 JAVA 的离散数学题库管理系统的设计与实现 8 方法、注意事项和使用环境,有利于更好的操作本离散数学题库管理软件系统。 数据流图描述了本系统中各种数据间的数据处理流向。下面是离散数学题 库管理系统的顶层数据流图对离散数学题库管理系统主要数据处理过程进行具 体描述如下: 图 2.2 离散数学题库管理系统顶级数据流图 根据前面设计要求,离散数学题库管理系统的功能主要设置了用户管理、 题库的管理和维护、自动生成试卷、手动修改现有试卷、生成 WORD 试卷、数 据管理和帮助等七大功能模块。下面用离散数学题库管理系统 1 级数据流图对 离散数学题库管理系统其中的五大功能模块主要数据处理过程进行具体描述如 忻州师院计算机系本科学士学位论文 9 下: 图 2.3 离散数学题库管理系统 1 级数据流图 2.2.3 系统性能需求分析 即系统服务所应遵循的一些约束和限制。例如:标准性、可靠性、安全性、 高效性、可维护性。软件的开发应能在较长时间内满足课程改革的需要。 标准性:系统编写与运行必须符合标准,既可以保证系统运行又可以在此 标准上每一项功能运行。 可靠性:由于离散数学题库管理系统的重要性,系统必须稳定可靠,从而 避免或减少数据损失。 安全性:通过系统权限控制使用者,从而确保使用者无法操作与其无关的 数据。 高效性:由于离散数学题库管理系统生成试卷时,每次处理信息量较大, 系统对信息处理能力和响应能力都应是快捷有效的。 可维护性:采用结构化模块设计,便于开发与维护,也有利于发现情况随 时进行扩展。 基于 JAVA 的离散数学题库管理系统的设计与实现 10 3 概要设计 本章主要介绍离散数学题库管理软件中整体设计和后台数据库的结构设计。 数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开 发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运 行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高 数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构 设计对系统设计来说至关重要。 3.1 系统整体设计 本系统共分 5 个大功能模块。如图: 图 3.1 功能模块图 教师登录模块 用户管理模块 题库的管理和维护模块 组卷模块 数据管理模块 块 数据恢复 数据备份 手动修改现有试卷 自动生成试卷 生成 WORD 试卷 生成 WORD 答案 查询试题 修改试题 删除试题 添加试题 删除用户 添加用户 忻州师院计算机系本科学士学位论文 11 上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。教 师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完 成对试题的录入、删除、修改和查询。生成试卷模块完成根据用户输入的生成 试卷要求,自动生成试卷,维护已经生成的试卷和生成 WORD 试卷和答案。 3.2 数据库设计 3.2.1 数据库概念设计 根据系统的设计要求,设计了 E-R 图,实体为教师、课程、题库和试卷, 关系为试卷抽题表。 图 3.2 题库实体及其属性图 题库实体包含了题号、所属章节、试题内容、试题答案、题型、录入日期、 图片、分值和备注等属性。 图 3.3 章节实体及其属性图 试卷实体包含了试卷编号、试卷名称、考试类型、试卷总分、组卷时间和 试题内容题号 题型 所属章节 试题答案 答案图片试题图片录入日期 备注 题库 分值 试卷名称 组卷时间试卷部分 试卷 考试类型试卷编号 备注 基于 JAVA 的离散数学题库管理系统的设计与实现 12 备注等属性。 图 3.4 试卷抽题表实体及其属性图 试卷抽题表关系包含了试卷编号、试题编号、题型和备注属性。 图 3.5 总体 E-R 图 3.2.1 数据库逻辑设计 在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发 的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一 步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组 织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基 本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到 软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。 首先将离散数学题库管理系统的数据库概念结构转化为 SQL Server2000 数 据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库 管理系统中的各个数据库表。 试卷抽题表 表达式 试题编号 备注题型试卷编号 教师 教授 予 章节 拥有 考试 试卷抽题表 试卷 题库 密码 教师编号 备注 章节编号 章节名 1 1 忻州师院计算机系本科学士学位论文 13 表 3.1 教师表 字段名 数据类型 长度 允许空 字段描述 教师编号 NVARCHAR 14 关键字 密码 NVARCHAR 14 密码 教师表:用来记录教师的信息。该表的关键字字段是:教师编号。 表 3.2 章节表 字段名 数据类型 长度 允许空 字段描述 章节编号 NVARCHAR 50 关键字 章节名 NVARCHAR 50 如:第一章 备注 TEXT 16 备注 章节表:用来记录章节的基本信息,可用于存储多个章节。该表的关键字 字段是:章节编号,同时也是下面题库数据库表的外键。 表 3.3 题库表 字段名 数据类型 长度 允许空 字段描述 题号 NVARCHAR 50 关键字 题型 NVARCHAR 50 选择题、填空题、简答题 所属章节 NVARCHAR 50 此题所属的章节,比如第二 章 试题内容 TEXT 16 试题内容 试题答案 TEXT 16 试题答案 分值 INT 4 试题的分数 试题图片 NVARCHAR 50 试题中的图片 答案图片 NVARCHAR 50 答案中的图片 录入日期 DATETIME 8 录入日期 备注 TEXT 16 备注 题库表:用来记录各章所对应的试题,是生成试卷提供试题来源。该表的 关键字字段是:题号,用来唯一表示一道试题。该表中的是所属章节外键,对 应课程数据库表的章节编号,表示该试题对应的是哪个章节。 表 3.4 试卷表 基于 JAVA 的离散数学题库管理系统的设计与实现 14 字段名 数据类型 长度 允许空 字段描述 试卷编号 VARCHAR 50 主键 试卷总分 INT 50 试卷总分 试卷名称 VARCHAR 50 试卷名称 考试类型 VARCHAR 20 单元测试、 期末考试等类型 组卷时间 DATETIME 8 组卷时间 备注 TEXT 16 备注 试卷表:记录了试卷的基本信息,用于生成试卷的标题。该表的主键字段 是:试卷编号。 表 3.5 试卷抽题表 字段名 数据类型 长度 允许空 字段描述 试卷编号 VARCHAR 50 主键,同时也是外键,对应试 卷表的试卷编号字段。 试题编号 VARCHAR 50 主键,同时也是外键,对应题 库表中的题号字段。 题型 VARCHAR 50 题型 备注 TEXT 16 备注 试卷抽题表:用来记录每张试卷对应的试题,是生成 WORD 文件的数据来源。 该表的主键字段是:试卷编号和试题编号。这两个字段同时也是外键,分别对 应试卷表的试卷编号字段和题库表中的题号字段。 忻州师院计算机系本科学士学位论文 15 4 系统详细设计与实现 下面将详细描述每个子模块的详细设计。 4.1 教师登录模块 (1) 界面设计 此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如 果未填写则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查 用户填写的信息是否正确,登录名称、密码是否相符合,或是否符合管理员登 录信息,若符合,则登录成功,进入主界面。此模块用于验证用户的信息,保 证了系统内部资料的安全性。 图 4.1 教师登录界面 (2) 模块内主要算法的描述 输入教师编号 和密码 打开主界面 结束 是 开始 检查是否为合 法用户 否 图 4.2 教师登录模块流程图 基于 JAVA 的离散数学题库管理系统的设计与实现 16 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login.JieMian 类。 login.JieMian 类:该类用于显示教师登陆窗口,并且负责判断用户输入的 用户名密码是否正确。 主要方法介绍: void jButtondenlu_actionPerformed(ActionEvent e):该方法在用户点击确定、 退出、重置按钮时被调用,如果点击确定按钮,取得界面上输入的教师编号 (管理员)和密码,如果教师编号(管理员)或者密码不正确,则提示用户重 新输入。若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。如 果点击重置按钮,清除用户输入教师编号(管理员)和密码并且光标位于教师 编号框。如果点击退出按钮,则退出系统。 4.2 用户管理模块 4.2.1 添加用户模块 (1) 界面设计 此界面为添加用户界面,在教师添加其它教师时检查教师编号和密码是否 有填写并且检查是否是合法,如果未填写或不合法则提示并返回,检查通过之 后把数据提交给服务器,打开数据库把教师编号、密码写入数据库。 (2) 模块内主要算法的描述 图 4.3 添加用户模块流程图 开 始 输 入 教 师 编 号 和 密 码 检 查 教 师 编 号 和 密 码 是 否 为 合 法 教 师 编 号 、 密 码写 入 数 据 库 结 束 否 是 忻州师院计算机系本科学士学位论文 17 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Tianjia 类。 login. Tianjia 类:该类用于显示添加用户窗口,并且负责判断用户输入的 用户名密码是否合法。 主要方法介绍: void jButtontianjia_actionPerformed (ActionEvent e):该方法在用户点击添加 按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不合法, 则提示用户重新输入。若合法,则把数据提交给服务器,打开数据库把用户名、 密码写入数据库。 4.2.2 删除用户模块 (1) 界面设计 此界面为删除用户界面,在教师删除用户时检查教师编号和密码是否有填 写并且检查是否是合法,如果未填写或不合法则提示并返回,检查通过之后把 数据提交给服务器,打开数据库检查用户填写的信息是否正确,若教师编号、 密码相符合,则删除数据库中相应的教师编号和密码。 (2) 模块内主要算法的描述 图 4.4 删除用户模块流程图 (3) 该模块的 JAVA 类设计 开 始 输 入 教 师 编 号 和 密 码 检 查 教 师 编 号 和 密 码 是 否 为 合 法 教 师 编 号 、 密 码 写 入 数 据 库 结 束 否 是 基于 JAVA 的离散数学题库管理系统的设计与实现 18 实现该模块的 JAVA 类为:login.Shanchu 类。 login.Shanchu 类:该类用于显示删除用户窗口,并且负责判断用户输入的 用户名密码是否合法。 主要方法介绍: void jButtontianjia_actionPerformed (ActionEvent e):该方法在用户点击删除 按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不合法, 则提示用户重新输入。若合法,则把数据提交给服务器,打开数据库删除数据 库中相应的教师编号和密码。 4.3 题库管理和维护模块 4.3.1 题库管理模块 (1) 界面设计 此界面是题库的管理界面,是对试题的基本信息进行录入,删除和修改。 若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的 内容,填写好后,点击保存按钮即可将试题保存到数据库。若要修改试题,在 下面 图 4.5 题库管理界面 的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将 修改后的试题保存到数据库。若要删除试题,在下面的表格中选择要删除的试 忻州师院计算机系本科学士学位论文 19 题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。 (2) 模块内主要算法的描述 图 4.6 题库管理界面模块流程图 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Shitiruku 类和 data.LibraryHandler 类。 login. Shitiruku 类:该类负责显示题库维护窗口和响应用户的各种操作。 主要方法介绍: void jButtonT_actionPerformed (ActionEvent e):该方法用于处理添加试题请 求。首先将题库记录集(ResultSet)移动到最后一行,然后提示用户可以插入 一条新记录。 void jButtonb_actionPerformed (ActionEvent e):该方法用于处理保存数据请 求,当用户修改或者添加了一条数据后,需要点击保存按钮,也就是调用该方 法,添加或者修改结果才能插入到数据库中。 void jButtons_actionPerformed (ActionEvent e):该方法用于处理删除试题请 求。首先判断用户是否选中了一条记录,若没有选中则不能删除试题,提示用 户选中一条记录。然后询问用户是否确认删除,若确认删除则删除选中的试题。 void jButtonf_actionPerformed (ActionEvent e):该方法用于处理返回主界面 基于 JAVA 的离散数学题库管理系统的设计与实现 20 请求。 data.LibraryHandler 类:该类主要用于处理添加试题相关的数据库操作,与 界面类一起实现自动生成试卷和题库的维护和查询功能。 主要方法介绍: public static String getAllZhanjieName ():该方法用于返回章节表的所有 的章节名,这个方法在添加试题和查询试题窗口中被使用。 public static void addZhanjieItems( JComboBox jComboBoxzhangjie ):该方法 用于给章节名称控件添加章节名称项。在显示添加试题和查询试题窗口时,需 要先调用这个方法,将所有的章节名添加到章节名下拉框中。 static void addlistZhanjieItems(DefaultListModel listMode,JList JListzhangjie ): 该方法用于给章节名称控件添加章节名称项。在显示自动生成试卷窗口时,需 要先调用这个方法,将所有的章节名添加到章节名列框中。 public static int getzhangjieIdByName( String zhanjieName ):该方法用于根据 章节名取得章节编号,在添加试题到数据库中时被调用。因为用户操作界面上 输入的是章节名,而题库数据库表中题号的前两位用的是所属章节的章节编号, 所以需要调用该方法进行转换。 4.3.2 试题查询模块 (1) 界面设计 此界面是试题的查询界面,该功能允许用户输入题号后点击提交查询按钮 或在下面的表格中选择要查询的试题,进行查询试题操作。 忻州师院计算机系本科学士学位论文 21 图 4.7 试题查询界面 (2) 模块内主要算法的描述 图 4.8 试题查询界面模块流程图 基于 JAVA 的离散数学题库管理系统的设计与实现 22 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Chaxun 类。 login. Chaxun 类:该类用于实现查询已有试题功能,负责显示查询试题对 话框。 主要方法介绍: void jButtonT_actionPerformed (ActionEvent e):该方法在提交查询按钮被点 击时被调用。首先取得用户输入的题号,生成查询用的 SQL 语句。然后利用 ResultSet 实现查询操作。 4.4 自动生成试卷模块 (1) 界面设计 此界面是自动生成试卷界面。教师在上面输入试卷的基本信息,在下面抽 取试题选项中设置试题要抽取的章节,题型。 图 4.9 自动生成试卷界面 (2) 模块内主要算法的描述 忻州师院计算机系本科学士学位论文 23 试 卷 生 成 结束 根 据 章 节 和 题 型 选 项 执行 查 询 , 先 按 照 章 节 排 序 , 再 按 照 题 型 排 序 。 抽 取 试 题 的 总 分 100, 并 且 仍 有 试 题可 抽 取 ? 根 据 查 询 结 果 的 数 量 , 生成 一 个 随 机 数 , 抽 取 一 道 试 题 。 将 试 题 的 分 数 累 加 到 抽取 试 题 的 总 分 , 标 注 为 已 抽 取 。 将 试 题 插 入试 卷 抽 题 表 将 试 题 插 入试 卷 抽 题 表 保 存 试 卷 基本 信 息 生 成 试 卷 开 始 是 否 图 4.10 自动生成试卷模块流程图 首先根据选中的章节名和题型选项执行查询,先按照章节排序,再按照题 型排序,查询出的试题可以用于此次试卷的生成。然后按照试卷总分(100 分) 进行循环,当抽取试题的总分不大于设定的总分,并且仍有题目可抽取时,根 据查询结果的数量,生成一个随机数,抽取一道试题加到已抽取试题列表中, 将该试题的分数累加到抽取试题的总分上,将该试题从待抽取列表中去掉。这 样循环下去,当退出循环的时候,已抽取试题列表中已经包含了一些试题,满 足了试卷总分要求。然后将已抽取试题列表中的试题插入试卷抽题表并且保存 试卷基本信息,生成 WORD 试卷。 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Zidongshengchengshijuan 类、 data.MsWordHandler 类、data.LibraryHandler 类和 data. TestPaperHandler 类。 login. Zidongshengchengshijuan 类:该类用于实现自动生成试卷功能,并且 负责显示自动生成试卷对话框。 主要方法介绍: void jButtontianjia_actionPerformed (ActionEvent e):该方法用于将左侧章节 基于 JAVA 的离散数学题库管理系统的设计与实现 24 列表框中选择的章节添加到界面右侧的章节选择列表框中。右侧的章节选择列 表框中的章节是指最后生成的试卷涵盖的章节。 void jButtonshangchu_actionPerformed (ActionEvent e):该方法用于将右侧的 章节列表框中选择的项删除。 void jButtonshengchenshijuan_actionPerformed (ActionEvent e) :该方法用于 根据界面上输入的生成试卷条件和试卷基本信息,自动生成试卷,并且将试题 和参考答案输出到 WORD 文件中。 data.MsWordHandler 类:该类是操作 WORD 文件的类,包含 WORD 文件 的基本操作方法。 主要方法介绍: MsWordHandler():构造函数。初始化 WORD 应用程序,新建一个 WORD 文档。 insertParagraph(.):向 WORD 中添加一个新的段落。该方法有 5 个参数, 分别为 aParagraph,表示段落的内容; fontName 表示段落的字体;isBold 表示 是否设定为黑体;isItalic 表示是否设定为斜体;fontSize 表示字体的大小。 insertParagraph1(.):向 WORD 中添加一个新的段落。该方法有 6 个参数, 分别为 aParagraph,表示段落的内容; imagpath 表示图片的路径;fontName 表 示段落的字体;isBold 表示是否设定为黑体; isItalic 表示是否设定为斜体; fontSize 表示字体的大小。 该类还有其他一些方法,比如添加试卷的标题,添加一道大题,添加一道 题目等方法,这些方法都通过调用 insertParagraph(.)方法实现。在这里就不仔 细讲解了。 data.TestPaperHandler 类:该类将已抽取的试题列表生成 WORD 文档。 主要方法介绍: genWordPaper(.):根据抽取的试题,生成 WORD 文件。该方法共有 4 个 参数,selectedTestItems 表示已抽取的试题列表; paperTitle 表示试卷标题; courseName 表示章节名称; testStyle 表示测试类型。该方法的具体实现:首先 弹出保存文件框,让用户选择保存位置;然后计算出已抽取的试题的总分,用 于 WORD 文件输出;然后利用循环,将选择的题目输出到 WORD 文件中。 addSpecifiedTestToWord(.):将指定的题型的题目添加到 WORD 文件中。 调用 MsWordHandler 类具体实现。 忻州师院计算机系本科学士学位论文 25 addSpecifiedAnswerToWord(.):将指定的题型的题目答案添加到 WORD 文 件中。调用 MsWordHandler 类具体实现。 data. TestPaperHandler 类:此类在数据库维护模块中已介绍,在这里就不 介绍了。 4.5 手动修改现有试卷模块 (1) 界面设计 此界面是手工修改现有试卷界面,在该界面中可以对试卷的基本信息进行 修改,同时也可以点击删除按钮,找开删除试题界面,在下面的表格中会显示 选中的试卷中的所有试题。若要删除试题,在下面的表格中选择要删除的试题, 然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。也可以点击 添加按钮,打开添加试题界面,在下面的表格中会显示出题库中的所有试题。 在下面的表格中选择要添加的试题,然后点击添加按钮。如果确认添加,若选 中的试卷中有若指定的试题,则添加不成功。若选中的试卷中没有指定的试题, 系统将会把指定的试题添加到选中的试卷中。 图 4.11 手动修改现有试卷界面 (2)模块内主要算法的描述 基于 JAVA 的离散数学题库管理系统的设计与实现 26 结束 开始 查询出所有 的试卷信息 是 是 是 否 否 否 输入试卷基 本信息 将更改保存 到数据库 弹出添加试 题窗口 将用户选择的试 题添加到试卷 弹出删除试 题窗口 将用户选择的试 题从试卷中删除 添加试题?修改试卷基 本信息? 删除试题? 图 4.12 手动修改现有试卷流程图 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Shougonggaidongshijuan 类、 login.Shoushanchu 类和 login.Shoudongtianjia 类。 login. Shougonggaidongshijuan 类:该类实现对已生成试卷进行修改的功能, 负责显示维护已生成试卷对话框。 主要方法介绍: void jButtonbaocun_actionPerformed (ActionEvent e):该方法用于保存试卷 的基本信息。 void jButtonshengchenword_actionPerformed (ActionEvent e) throws SQLException:该方法用于将选中的试卷生成 WORD 试卷文档。 login.Shoushanchu 类:该类用于从试卷中删除试题,实现对试卷中试题的 手工删除。 生成 WORD 试卷? 取得选中试卷的 试题和基本信息 将试题写入 WORD 文档中 是 否 忻州师院计算机系本科学士学位论文 27 login.Shoudongtianjia 类:该方法用于添加试题到试卷中,实现对试卷中试 题的手工添加。 4.6 数据管理模块 4.6.1 数据备份模块 (1) 界面设计 此界面通过检查用户输入的管理员名和密码,合法的管理员可以进行数据 的备份。 (2)模块内主要算法的描述 图 4.13 数据备份流程图 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Shujubeifen 类。 login. Shujubeifen 类:该类用于显示管理员登陆窗口,并且负责判断用户 输入的管理员名和密码是否正确。 主要方法介绍: void jButtonqueding_actionPerformed (ActionEvent e) throws SQLException: 该方法在用户点击确定按钮时被调用。如果点击确定按钮,取得界面上输入的 管理员和密码,如果管理员或者密码不正确,则提示用户重新输入。若管理员 为系统合法管理员,则弹出一个保存对话框,管理员选择备份数据的保存路径 并输入备份文件的文件名,点击确定按钮,数据备份开始。当备份完成时,会 弹出一个提示对话框,提示管理员数据备份成功。 基于 JAVA 的离散数学题库管理系统的设计与实现 28 4.6.2 数据恢复模块 (1) 界面设计 此界面通过检查用户输入的管理员名和密码,合法的管理员可以进行数据 的恢复。 (2)模块内主要算法的描述 图 4.14 数据恢复流程图 (3) 该模块的 JAVA 类设计 实现该模块的 JAVA 类为:login. Shujuhuifu 类。 login. Shujuhuifu 类:该类用于显示管理员登陆窗口,并且负责判断用户输 入的管理员名和密码是否正确。 主要方法介绍: void jButtonqueding_actionPerformed (ActionEvent e) throws SQLException: 该方法在用户点击确定按钮时被调用。如果点击确定按钮,取得界面上输入的 管理员和密码,如果管理员或者密码不正确,则提示用户重新输入。若管理员 为系统合法管理员,则弹出一个打开对话框,管理员选择以前的数据备份文件, 点击打定按钮,数据恢复开始。当恢复完成时,会弹出一个提示对话框,提示 管理员数据恢复成功。 忻州师院计算机系本科学士学位论文 29 5 系统测试与维护 5.1 系统测试方案 在基本完成了程序的详细设计和编码,剩下的工作就是对软件进行测试。 软件测试是发现
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!