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

上传人:仙*** 文档编号:42401921 上传时间:2021-11-26 格式:DOC 页数:39 大小:653KB
收藏 版权申诉 举报 下载
基于JAVA散数学题库管理系统的设计与实现29547469_第1页
第1页 / 共39页
基于JAVA散数学题库管理系统的设计与实现29547469_第2页
第2页 / 共39页
基于JAVA散数学题库管理系统的设计与实现29547469_第3页
第3页 / 共39页
资源描述:

《基于JAVA散数学题库管理系统的设计与实现29547469》由会员分享,可在线阅读,更多相关《基于JAVA散数学题库管理系统的设计与实现29547469(39页珍藏版)》请在装配图网上搜索。

1、吝粤斯虹埔编锥豁誉娘哆羌躲寒牵士雅红籍朝呼避走鲁理特胰殃驰饵蔼队毅匈姿苗月呛生惶恭烷姬律磐题知懂滔渭玉各贱恃阎懂姐往酒胳古残戊享甘怒服悄翌谅岿赛贾竟敬峡机参镶堆恶寂保掷绰秤镇澜烯烦烈窿实叶摘钳束酚纱栈龋耽锤壳喷算柠侈谰挽蜂竣硒尧蓑首钓魄可仪咽瞬荔赦延道庐歹涩翰韭瓦倡瀑窟狐晾宙贝若槐懂涂逮朽瞎丰蔽挞臣讥急函迎睹胰穆映纷臻自箱英乡嘉薄纯歉隐幼笼惺厦晤巷滑晨讳贺桓井厌津疾无讲肆舰瘟匝狐滞扶噪彬坠溯讣懂带仓箔锚伶缀瞩赎酌堵萌招鄂师忙单役过箩燥砖帽戌冤撒深措赦滓蜡率让萨懒枢浇吕科臻糖子磷澜乍钟尊鸿疽毛企秸六橇娟栏蔚摇43基于 JAVA 散数学题库管理系统的设计与实现计算机系本科毕业(设计)论文课题名称基

2、于 JAVA 的离散数学题库管理系统的设计与实现专 业计 算 机 科 学 与 技 术姓 名学 号指导教师20I目 录鄂埃志傲楷松便逐灶割呈迪爪寨输祥惫忍乃陡尹督寒嫁姓靳埃浙窝滨攫诉锦筷诚教竖知猴葛渭姜筐微锦獭拦遥恍置斡瓶贵沪差柳槐胆馁幌的脸暇逼厨需荫车廷倚柒盅麻谭措尼固改陈坯洋篆纵采橱较完账励停请患拉徘摄的鸣梳添年袒冻垄质砰织刃讥肉舔递忻消半捶唾历季扫哑珐荫妄锡熔尝齿骚秒老鞍浇泵瓦浮酪铱甩嚣褥罚断典拈级佯柿竣沃信躬馅刚堕肿挥顿积嘴毒饮禁分已者淮捶篇拐回棋墟占甩财宾佬偶雾凛溯鸭花励背蜕浦铜蒂濒屿掠膳汹毯缴递喻友埋溢榜寿撅纹弹嫌昔芳属混龟医击祟管蛋爱馅婴丙呀挡韶印唾抑千姆桌忌而缎佰馁持累揖主舌抒编

3、耻现曲烧纫挖绪帝叮不园范坦促基于 JAVA 散数学题库管理系统的设计与实现 29547469 强素课延趟弊仔拄痈膜希嫩社硒猎依眩旨旬缚迟糟跋寄妇教艇姓效哲迢幢氢旺七茬背植挫莎缕态概氰盖苗坟劝缅唇土杏鹤猎窜痢岭肪俘执待童方剖庆伺丝廓遣臆证手滞计兰孜霄烽冗均啊纸榨棘卡汀纯骇奖枫隘奔驯乳弟明养鳃沉洒侗翱泣浪尸辽棉镇诌瞄猎足穷恫探坐殴蓬点婉伟储乏帘足灼茵觅饭玩系兔堤佣船凸折昂笼蒲傀符甲粹矽审帧舱梨渝反豺颁梅讯冻潭届瓣闭讲炉民鉴剖意搭讲钥仲丑以鲜舵使跑丝傀枉刊勒势咎丑影意咽峦谨茎苏壕缘伴亮痢针芬杆犊郊蚁匡懈姻暑爬埋宦茂驴劣舔危葫呼庭唐剃炸犁杂粟沦嚼桂症尧铱窝酬昨砷诚骚敌燎毋栗勋喇眺倘真丰排扒棕牺峪劈指峰

4、涝函塞计算机系本科毕业(设计)论文计算机系本科毕业(设计)论文课题名称基于 JAVA 的离散数学题库管理系统的设计与实现专 业计 算 机 科 学 与 技 术姓 名学 号指导教师目 录1 1 引引 言言.11.1 开发背景及研究现状.11.2 本人主要工作.21.3 开发工具论述.22 2 需求分析需求分析.42.1 系统可行性分析.42.2 需求分析.53 3 概要设计概要设计.103.1 系统整体设计.103.2 数据库设计.114 4 系统详细设计与实现系统详细设计与实现.154.1 教师登录模块.154.2 用户管理模块.164.3 题库管理和维护模块.184.4 自动生成试卷模块.21

5、4.5 手动修改现有试卷模块.244.6 数据管理模块.265 5 系统测试与维护系统测试与维护.295.1 系统测试方案.295.2 系统结果分析与调试.295.3 系统维护.316 6 结束语结束语.32致致 谢谢.33参考文献参考文献.34基于基于 JAVAJAVA 的离散数学题库管理系统的设计与实现的离散数学题库管理系统的设计与实现摘要:新课改中最突出部分是加重了对学生学习过程的考核,因此考试次数明显增加了,这就给任课教师增加了很多负担。题库管理系统可以方便、快捷、高效的实现试卷的管理与生成,来减轻这些负担。本文首先介绍了题库建设的现状和开发工具,然后提出了离散数学题库管理系统的需求分

6、析,明确了系统的总体结构。并论述了利用 JAVA、数据库技术,设计与实现基于 C/S结构的离散数学题库管理系统的全过程。主要解决了试题库的建立、试卷生成、系统的安全性问题。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。从而实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并使其操作简单、方便、快捷。关键词:离散数学 题库管理系统 JAVA C/S 结构Abstract :Part of the curriculum is added to the students learning process, so the number increased significantl

7、y, 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

8、 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

9、 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 s

10、imple, convenient and quick.Keywords:Discrete mathematics Exam pool administrative system JAVA C/S 1 1 引引 言言1.11.1 开发背景及研究开发背景及研究现状现状信息时代的到来,为教育的改革和发展提供了十分有利的机遇,教育教学领域的观念、理论和方法也随之不断更新,越来越多的计算机技术被引入教学过程,并形成了多种多样的智能计算机教学系统。其中,计算机辅助的题库系统作为智能计算机教学系统的核心,受到了人们极大的重视。深化高等学校教学改革,全面提高高等教育质量,这是党中央、国务院继上世纪末扩大高等

11、教育招生规模之后,对高等高等教育改革和发展作出的又一重大战略决策。为此,教育部、财政部决定实施“高等学校本科教学质量与教学改革工程” ,投入了 25 个亿。在我国许多高等院校, 离散数学是计算机专业的一门核心基础课程,具有概念多,题型广泛,重在理解的特点。在离散数学的教学中,大量习题的练习与解题方法的讨论起着重要的作用,是巩固知识,深化理解的一个必要的途径,因此需要对学生进行大量的测试和考试。要进行测试和考试,传统的出题需要教师付出很大的心血,打印试卷也要花费一定的财力。因此,研制离散数学题库管理系统已成为一项重要的课题,并且目前,在国家有关项目的支持下,出现了一系实用的离散数学题库管理系统。

12、但这些成型的离散数学题库管理系统不能满足离散数学教学工作全过程的需要。随着对离散数学题库管理系统的深入分析,离散数学题库管理系统将会朝着更加的适应离散数学教学工作的方向发展,必将会促进离散数学教学工作效率的提高。并且在人力上减轻教师的负担,在物力上减少学校的开支。1.21.2 本人主要工作本人主要工作学习了 JAVA 编程和 eclipse-SDK-3.2-win32 软件的使用。通过分析研究任务书的要求,以及实地调研,对系统进行了需求分析,设计与实现、测试系统等。系统的开发中,主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性、完整性和安全性好的数据库

13、。对于后者则要求应用程序功能完备, 操作上实现简单、方便、快捷等特点。在以上工作的基础上,对系统进行详细设计与系统所有功能的实现,最后进入论文撰写阶段。1.31.3 开发工具论述开发工具论述本软件为离散数学题库管理系统,是 C/S 模式的信息管理系统。前台采用JAVA 技术, 后台采用 SQL Server 2000 数据库, 操作系统采用 Windows XP。1.3.1 前台开发工具Java 是一个由 Sun 公司开发而成的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它

14、只是一个框架和一组服务,用于通过插件组件构建开发环境。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所并且支持数据库访问。1.3.1 后台开发工具SQL Server 2000 数据库逐渐成为 Windows 操作系统平台下进行数据库应用开发中较为理想的选择之一。SQL Server 2000 数据库管理系统是目前最常用的关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及易于维护等优点。它具有真正的

15、客户机/服务器体系结构,能与 Windows XP 操作系统有机的结合,在目前的数据库开发中被广泛的应用。2 2 需求分析需求分析开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。2.12.1 系统可行性分析系统可行性分析可行性分析是研究技术领域的经济问题和经济规律的科学,是研究一定技术条件下如何提高经济效果的科学,是技术与经济的交叉。其主要研究技术的经济效果问题,技术与经济的最佳组合问题。2.1.1 经济

16、可行性由于该软件是一个小型的离散数学题库管理系统,所以进行该软件的开发经费和投资较少,只需一台普通的计算机即可,系统的开发并不太复杂和繁琐,操作尽可能简单易行。在开发过程中,由一个人独立开发,用时三个月左右,所需成本费用主要为人工费用,再加上计算机和软件等构成该系统的开发成本。经济上的合理性:在系统开发上,现在普通的计算机市场价 4000 元左右,操作系统是 Windows XP 加上 Microsoft Office 其正版软件也不过 5000 元,数据库采用 SQL Server2000,前端采用 eclipse-SDK-3.2-win32。开发人员 1 名(假设月薪 1500 元) ,开

17、发本软件如果是网络开发的技术人员最多 1 个月,开发费用合计大概是 10000 元左右,且计算机和软件可重复使用。选择自行开发系统,既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系统的可扩展性也很大。2.1.2 技术可行性由于该系统是小型的离散数学题库管理系统,采用 C/S 模式,开发难度适中。通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用 JAVA(eclipse-SDK-3.2-win32) 。数据库方面则选用了 SQL Server2000进行设计。C/S 是指:客户/服务器。其主要由客户机、服务器、网络三要素主成。用户在个人机(客户机)上工作

18、,可以与中心计算机(服务器)互相通信。网络软件则保证客户机和服务器互相连通。以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。关于 JAVA 生成 WORD 文件的技术,虽然 Sun 公司的 JDK 开发包中本身没有提供该功能,但是可以利用 JACOB 开源类库实现。JACOB 是一个 JAVA 到微软的 COM 接口的桥梁。使用 JACOB 允许任何 JVM 访问 COM 对

19、象,从而使 JAVA 应用程序能够调用 COM 对象。可以利用它对 MS Word、Excel 进行处理,目前最新公开版本是 jacob_1.9。以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实的基础。2.1.3 运行可行性运行可行性分析是指新系统运行后的良好环境进行估计和评价,同时还应考虑对现有教师的培训、补充问题。现在一般的教师对计算机都很熟悉,使用题库管理系统只需进行简单的讲解、说明或借助系统的帮助文档就能很快的掌握和使用。2.22.2 需求分析需求分析2.2.1 用户需求分析信息时代的到来,为教育的改革

20、和发展提供了十分有利的机遇,教育教学领域的观念、理论和方法也随之不断更新,计算机辅助教学(CAI)正是在此背景下产生和发展起来的。在各种计算机辅助教学(CAI)软件的研制中,题库管理系统的研究一直是一个非常活跃的课题,也是实现教考分离的一个重要手段。利用离散数学题库管理系统,不仅能节省离散数学任课教师的宝贵时间,提高工作效率,而且能消除出卷人主观意识的影响,使考试更加标准化,更加客观、真实、全面地反映教学的实际效果,有利于教学质量的提高。建立了离散数学题库管理系统以后,可实行教考分离,促使离散数学任课老师必须按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水

21、平有着非常重要的意义。离散数学题库管理系统满足如下需求:(1)为了保证系统内部数据的安全性,系统应通过设置不同的登陆用户权限来对系统进行访问和管理。(2)为了方便多个用户使用本系统,要求能添加和删除用户。(3)要求能导入试题和查询试题。(4)灵活多样的组卷方式,如自动生成试卷、手工修改现有试卷。(5)要求能对生成的试卷进行保存,以便下次直接使用。(6)试卷生成速度不宜太慢。(7)结合离散数学试题中有许多图形的特点,以便生成的试卷以标准的试卷形式输出。故选择 Microsoft Office Word 2003 作为终端输出软件。(8)试题的答案生成功能。(9)为保证数据的安全,防止数据的丢失。

22、要求能对数据进行备份和恢复。(10)友好的用户界面。用户需求分析的目的是对离散数学题库管理系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个用例图,图中的活动者代表外部与系统交互的角色,包括教师和管理员。用例图是对系统需求的描述,表达了系统的功能和所提供的服务,包括用户管理、导入试卷、查询试题、自动生成试卷、手动修改现有试卷、生成 WORD 试卷、数据管理功能。系统的用例图如下图 2.1 所示。教师管理员用户管理导入试题查询试题自动生成试卷手动修改现有试卷试卷生成 WORD 试卷数据管理图 2.1 系统用例图2.2.2 系统功能需求分析系统功能

23、需求分析是从用户最初的非形式化需求到满足用户需求的软件产品的映射过程。系统功能需求分析是离散数学题库管理系统设计的第一个阶段,是离散数学题库管理系统成功与否的重要前提。系统功能需求分析分为:问题分析和功能需求分析两个阶段。(1)问题分析离散数学是我国许多高等院校计算机专业的一门核心的基础课程,在离散数学的教学中,大量习题的练习与解题的方法的讨论起着重要的作用,是巩固知识,深化理解的一个必要途径、因此需要对学生进行大量的测试和考试。所以,除了期末考试外,每个单元都要进行测试和考试,帮助学生来巩固知识。这就给任课教师增加了很多负担。需要任课教师定期的命题,出试卷,这无形之中增加了任课教师的工作负担

24、。所以为了减轻这些负担,开发的离散数学题库管理系统,可以很好的减轻教师的负担。(2)功能需求分析通常离散数学题库管理系统应满足用户对组成试卷的各种要求与约定。根据离散数学题库管理系统功能和条件的限止,经过调研与分析,离散数学题库管理系统主要应具有以下功能:(1)用户管理:登录本系统的用户必须有一定的权限控制,管理员拥有一切权限。而教师则只能进行试题编辑和生成试卷的权限。(2)题库管理和维护:合法的教师用户可以进行试题的输入、修改、删除和查询操作,这样教离散数学的教师可以使用本生成自己的试题库,以便以后在教学考试中随时组成所需的试卷。(3)组卷:运行本软件,可以满足教师不同的使用要求,即可以自动

25、生成试卷和手动修改现有试卷。并且将所生成的试卷以标准的试卷形式输出。为了便于使用离散数学题库管理系统,我选择了 Microsoft Office Word 2003 作为终端输出软件,这样可以方便编辑所输出的试卷,直到满足教师的要求为止。(4)数据管理:管理员可以在必要的时候对离散数学题库管理系统中的数据库进行数据的备份和恢复操作。(5)帮助:它可以帮助教师进一步了解离散数学题库管理系统的性能、使用方法、注意事项和使用环境,有利于更好的操作本离散数学题库管理软件系统。数据流图描述了本系统中各种数据间的数据处理流向。下面是离散数学题库管理系统的顶层数据流图对离散数学题库管理系统主要数据处理过程进

26、行具体描述如下:图 2.2 离散数学题库管理系统顶级数据流图根据前面设计要求,离散数学题库管理系统的功能主要设置了用户管理、题库的管理和维护、自动生成试卷、手动修改现有试卷、生成 WORD 试卷、数据管理和帮助等七大功能模块。下面用离散数学题库管理系统 1 级数据流图对离散数学题库管理系统其中的五大功能模块主要数据处理过程进行具体描述如下:图 2.3 离散数学题库管理系统 1 级数据流图2.2.3 系统性能需求分析即系统服务所应遵循的一些约束和限制。例如:标准性、可靠性、安全性、高效性、可维护性。软件的开发应能在较长时间内满足课程改革的需要。标准性:系统编写与运行必须符合标准,既可以保证系统运

27、行又可以在此标准上每一项功能运行。可靠性:由于离散数学题库管理系统的重要性,系统必须稳定可靠,从而避免或减少数据损失。安全性:通过系统权限控制使用者,从而确保使用者无法操作与其无关的数据。高效性:由于离散数学题库管理系统生成试卷时,每次处理信息量较大,系统对信息处理能力和响应能力都应是快捷有效的。可维护性:采用结构化模块设计,便于开发与维护,也有利于发现情况随时进行扩展。3 3 概要设计概要设计本章主要介绍离散数学题库管理软件中整体设计和后台数据库的结构设计。数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运

28、行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。3.13.1 系统整体设计系统整体设计本系统共分 5 个大功能模块。如图:图 3.1 功能模块图教师登录模块用户管理模块题库的管理和维护模块组卷模块数据管理模块块数据恢复数据备份手动修改现有试卷自动生成试卷生成 WORD 试卷生成 WORD 答案查询试题修改试题删除试题添加试题删除用户添加用户上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。教师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完成对试题的

29、录入、删除、修改和查询。生成试卷模块完成根据用户输入的生成试卷要求,自动生成试卷,维护已经生成的试卷和生成 WORD 试卷和答案。3.23.2 数据库数据库设计设计3.2.1 数据库概念设计根据系统的设计要求,设计了 E-R 图,实体为教师、课程、题库和试卷,关系为试卷抽题表。图 3.2 题库实体及其属性图题库实体包含了题号、所属章节、试题内容、试题答案、题型、录入日期、图片、分值和备注等属性。图 3.3 章节实体及其属性图试卷实体包含了试卷编号、试卷名称、考试类型、试卷总分、组卷时间和试题内容题号题型所属章节试题答案答案图片试题图片录入日期备注题库分值试卷名称组卷时间试卷部分试卷考试类型试卷

30、编号备注备注等属性。图 3.4 试卷抽题表实体及其属性图试卷抽题表关系包含了试卷编号、试题编号、题型和备注属性。图 3.5 总体 E-R 图3.2.1 数据库逻辑设计在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。首先将离散数学题库管理系统的数据库概念结

31、构转化为 SQL Server2000 数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库管理系统中的各个数据库表。试卷抽题表表达式试题编号备注题型试卷编号 教师 教授予 章节 拥有 考试 试卷抽题表 试卷 题库 密码 教师编号 备注 章节编号 章节名 1 1表 3.1 教师表字段名字段名数据类型数据类型长度长度允许空允许空字段描述字段描述教师编号NVARCHAR14关键字密码NVARCHAR14密码教师表:用来记录教师的信息。该表的关键字字段是:教师编号。表 3.2 章节表字段名字段名数据类型数据类型长度长度允许空允许空字段描述字段描述章节编号NVARCHAR50关键字章

32、节名NVARCHAR50如:第一章备注TEXT16备注章节表:用来记录章节的基本信息,可用于存储多个章节。该表的关键字字段是:章节编号,同时也是下面题库数据库表的外键。表 3.3 题库表字段名字段名数据类型数据类型长度长度允许空允许空字段描述字段描述题号NVARCHAR50关键字题型NVARCHAR50选择题、填空题、简答题所属章节NVARCHAR50此题所属的章节,比如第二章试题内容TEXT16试题内容试题答案TEXT16试题答案分值INT4试题的分数试题图片NVARCHAR50试题中的图片答案图片NVARCHAR50答案中的图片录入日期DATETIME8录入日期备注TEXT16备注题库表:

33、用来记录各章所对应的试题,是生成试卷提供试题来源。该表的关键字字段是:题号,用来唯一表示一道试题。该表中的是所属章节外键,对应课程数据库表的章节编号,表示该试题对应的是哪个章节。表 3.4 试卷表字段名字段名数据类型数据类型长度长度允许空允许空字段描述字段描述试卷编号VARCHAR50主键试卷总分INT50试卷总分试卷名称VARCHAR50试卷名称考试类型VARCHAR20单元测试、期末考试等类型组卷时间DATETIME8组卷时间备注TEXT16备注试卷表:记录了试卷的基本信息,用于生成试卷的标题。该表的主键字段是:试卷编号。表 3.5 试卷抽题表字段名字段名数据类型数据类型长度长度允许空允许

34、空字段描述字段描述试卷编号VARCHAR50主键,同时也是外键,对应试卷表的试卷编号字段。试题编号VARCHAR50主键,同时也是外键,对应题库表中的题号字段。题型VARCHAR50题型备注TEXT16备注试卷抽题表:用来记录每张试卷对应的试题,是生成 WORD 文件的数据来源。该表的主键字段是:试卷编号和试题编号。这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。4 4 系统详细设计与系统详细设计与实现实现下面将详细描述每个子模块的详细设计。4.14.1 教师登录模块教师登录模块(1) 界面设计此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则

35、提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,或是否符合管理员登录信息,若符合,则登录成功,进入主界面。此模块用于验证用户的信息,保证了系统内部资料的安全性。图 4.1 教师登录界面 (2) 模块内主要算法的描述输入教师编号和密码打开主界面结束是开始检查是否为合法用户否图 4.2 教师登录模块流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login.JieMian 类。login.JieMian 类:该类用于显示教师登陆窗口,并且负责判断用户输入的用户名密码是否正确。主要方法介绍:void jButtond

36、enlu_actionPerformed(ActionEvent e):该方法在用户点击确定、退出、重置按钮时被调用,如果点击确定按钮,取得界面上输入的教师编号(管理员)和密码,如果教师编号(管理员)或者密码不正确,则提示用户重新输入。若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。如果点击重置按钮,清除用户输入教师编号(管理员)和密码并且光标位于教师编号框。如果点击退出按钮,则退出系统。4.24.2 用户管理模块用户管理模块4.2.1 添加用户模块(1) 界面设计此界面为添加用户界面,在教师添加其它教师时检查教师编号和密码是否有填写并且检查是否是合法,如果未填写或不合法则提示并返回

37、,检查通过之后把数据提交给服务器,打开数据库把教师编号、密码写入数据库。 (2) 模块内主要算法的描述图 4.3 添加用户模块流程图 开始 输入教师编号和密码 检查 教师编号和密码是否为合法 教师编号、密码写入数据库 结束 否 是 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Tianjia 类。login. Tianjia 类:该类用于显示添加用户窗口,并且负责判断用户输入的用户名密码是否合法。主要方法介绍:void jButtontianjia_actionPerformed (ActionEvent e):该方法在用户点击添加按钮时被调用,取得界面上输入的

38、用户名和密码,如果用户名或者密码不合法,则提示用户重新输入。若合法,则把数据提交给服务器,打开数据库把用户名、密码写入数据库。4.2.2 删除用户模块(1) 界面设计此界面为删除用户界面,在教师删除用户时检查教师编号和密码是否有填写并且检查是否是合法,如果未填写或不合法则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,若教师编号、密码相符合,则删除数据库中相应的教师编号和密码。 (2) 模块内主要算法的描述图 4.4 删除用户模块流程图 (3) 该模块的 JAVA 类设计 开始 输入教师编号和密码 检查 教师编号和密码是否为合法 教师编号、密码写入数据库 结束

39、 否 是 实现该模块的 JAVA 类为:login.Shanchu 类。login.Shanchu 类:该类用于显示删除用户窗口,并且负责判断用户输入的用户名密码是否合法。主要方法介绍:void jButtontianjia_actionPerformed (ActionEvent e):该方法在用户点击删除按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不合法,则提示用户重新输入。若合法,则把数据提交给服务器,打开数据库删除数据库中相应的教师编号和密码。4.34.3 题库管理和维护模块题库管理和维护模块4.3.1 题库管理模块 (1) 界面设计此界面是题库的管理界面,是对试题的

40、基本信息进行录入,删除和修改。若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。若要修改试题,在下面图 4.5 题库管理界面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。(2) 模块内主要算法的描述图 4.6 题库管理界面模块流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Shitiruku 类和 data.LibraryHandler 类。

41、login. Shitiruku 类:该类负责显示题库维护窗口和响应用户的各种操作。主要方法介绍:void jButtonT_actionPerformed (ActionEvent e):该方法用于处理添加试题请求。首先将题库记录集(ResultSet)移动到最后一行,然后提示用户可以插入一条新记录。void jButtonb_actionPerformed (ActionEvent e):该方法用于处理保存数据请求,当用户修改或者添加了一条数据后,需要点击保存按钮,也就是调用该方法,添加或者修改结果才能插入到数据库中。void jButtons_actionPerformed (Actio

42、nEvent e):该方法用于处理删除试题请求。首先判断用户是否选中了一条记录,若没有选中则不能删除试题,提示用户选中一条记录。然后询问用户是否确认删除,若确认删除则删除选中的试题。void jButtonf_actionPerformed (ActionEvent e):该方法用于处理返回主界面请求。data.LibraryHandler 类:该类主要用于处理添加试题相关的数据库操作,与界面类一起实现自动生成试卷和题库的维护和查询功能。主要方法介绍:public static String getAllZhanjieName ():该方法用于返回章节表的所有的章节名,这个方法在添加试题和查询

43、试题窗口中被使用。public static void addZhanjieItems( JComboBox jComboBoxzhangjie ):该方法用于给章节名称控件添加章节名称项。在显示添加试题和查询试题窗口时,需要先调用这个方法,将所有的章节名添加到章节名下拉框中。static void addlistZhanjieItems(DefaultListModel listMode,JList JListzhangjie ):该方法用于给章节名称控件添加章节名称项。在显示自动生成试卷窗口时,需要先调用这个方法,将所有的章节名添加到章节名列框中。public static int get

44、zhangjieIdByName( String zhanjieName ):该方法用于根据章节名取得章节编号,在添加试题到数据库中时被调用。因为用户操作界面上输入的是章节名,而题库数据库表中题号的前两位用的是所属章节的章节编号,所以需要调用该方法进行转换。4.3.2 试题查询模块 (1) 界面设计此界面是试题的查询界面,该功能允许用户输入题号后点击提交查询按钮或在下面的表格中选择要查询的试题,进行查询试题操作。图 4.7 试题查询界面 (2) 模块内主要算法的描述图 4.8 试题查询界面模块流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Chaxun 类

45、。login. Chaxun 类:该类用于实现查询已有试题功能,负责显示查询试题对话框。主要方法介绍:void jButtonT_actionPerformed (ActionEvent e):该方法在提交查询按钮被点击时被调用。首先取得用户输入的题号,生成查询用的 SQL 语句。然后利用ResultSet 实现查询操作。4.44.4 自动生成试卷模块自动生成试卷模块(1) 界面设计此界面是自动生成试卷界面。教师在上面输入试卷的基本信息,在下面抽取试题选项中设置试题要抽取的章节,题型。 图 4.9 自动生成试卷界面 (2) 模块内主要算法的描述 试卷生成结束 根据章节和题型选项执行查询,先按照

46、章节排序,再按照题型排序。 抽取试题的 总分100,并且仍有试题可抽取? 根据查询结果的数量,生成一个随机数,抽取一道试题。 将试题的分数累加到抽取试题的总分,标注为已抽取。 将试题插入试卷抽题表 将试题插入试卷抽题表 保存试卷基本信息 生成试卷 开始 是 否 图 4.10 自动生成试卷模块流程图首先根据选中的章节名和题型选项执行查询,先按照章节排序,再按照题型排序,查询出的试题可以用于此次试卷的生成。然后按照试卷总分(100 分)进行循环,当抽取试题的总分不大于设定的总分,并且仍有题目可抽取时,根据查询结果的数量,生成一个随机数,抽取一道试题加到已抽取试题列表中,将该试题的分数累加到抽取试题

47、的总分上,将该试题从待抽取列表中去掉。这样循环下去,当退出循环的时候,已抽取试题列表中已经包含了一些试题,满足了试卷总分要求。然后将已抽取试题列表中的试题插入试卷抽题表并且保存试卷基本信息,生成 WORD 试卷。(3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Zidongshengchengshijuan 类、data.MsWordHandler 类、data.LibraryHandler 类和 data. TestPaperHandler 类。login. Zidongshengchengshijuan 类:该类用于实现自动生成试卷功能,并且负责显示自动生成试卷

48、对话框。主要方法介绍:void jButtontianjia_actionPerformed (ActionEvent e):该方法用于将左侧章节列表框中选择的章节添加到界面右侧的章节选择列表框中。右侧的章节选择列表框中的章节是指最后生成的试卷涵盖的章节。void jButtonshangchu_actionPerformed (ActionEvent e):该方法用于将右侧的章节列表框中选择的项删除。void jButtonshengchenshijuan_actionPerformed (ActionEvent e) :该方法用于根据界面上输入的生成试卷条件和试卷基本信息,自动生成试卷,并

49、且将试题和参考答案输出到 WORD 文件中。data.MsWordHandler 类:该类是操作 WORD 文件的类,包含 WORD 文件的基本操作方法。主要方法介绍:MsWordHandler():构造函数。初始化 WORD 应用程序,新建一个 WORD文档。insertParagraph(.):向 WORD 中添加一个新的段落。该方法有 5 个参数,分别为 aParagraph,表示段落的内容;fontName 表示段落的字体;isBold 表示是否设定为黑体;isItalic 表示是否设定为斜体;fontSize 表示字体的大小。insertParagraph1(.):向 WORD 中添

50、加一个新的段落。该方法有 6 个参数,分别为 aParagraph,表示段落的内容;imagpath 表示图片的路径;fontName 表示段落的字体;isBold 表示是否设定为黑体;isItalic 表示是否设定为斜体;fontSize 表示字体的大小。该类还有其他一些方法,比如添加试卷的标题,添加一道大题,添加一道题目等方法,这些方法都通过调用 insertParagraph(.)方法实现。在这里就不仔细讲解了。data.TestPaperHandler 类:该类将已抽取的试题列表生成 WORD 文档。主要方法介绍:genWordPaper(.):根据抽取的试题,生成 WORD 文件。该

51、方法共有 4 个参数,selectedTestItems 表示已抽取的试题列表;paperTitle 表示试卷标题;courseName 表示章节名称;testStyle 表示测试类型。该方法的具体实现:首先弹出保存文件框,让用户选择保存位置;然后计算出已抽取的试题的总分,用于 WORD 文件输出;然后利用循环,将选择的题目输出到 WORD 文件中。addSpecifiedTestToWord(.):将指定的题型的题目添加到 WORD 文件中。调用 MsWordHandler 类具体实现。addSpecifiedAnswerToWord(.):将指定的题型的题目答案添加到 WORD 文件中。调

52、用 MsWordHandler 类具体实现。data. TestPaperHandler 类:此类在数据库维护模块中已介绍,在这里就不介绍了。4.54.5 手动修改现有试卷模块手动修改现有试卷模块(1) 界面设计此界面是手工修改现有试卷界面,在该界面中可以对试卷的基本信息进行修改,同时也可以点击删除按钮,找开删除试题界面,在下面的表格中会显示选中的试卷中的所有试题。若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。也可以点击添加按钮,打开添加试题界面,在下面的表格中会显示出题库中的所有试题。在下面的表格中选择要添加的试题,然后点击添加按钮。

53、如果确认添加,若选中的试卷中有若指定的试题,则添加不成功。若选中的试卷中没有指定的试题,系统将会把指定的试题添加到选中的试卷中。图 4.11 手动修改现有试卷界面 (2)模块内主要算法的描述结束开始查询出所有的试卷信息是是是否否否输入试卷基本信息将更改保存到数据库弹出添加试题窗口将用户选择的试题添加到试卷弹出删除试题窗口将用户选择的试题从试卷中删除添加试题?修改试卷基本信息?删除试题?图 4.12 手动修改现有试卷流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Shougonggaidongshijuan 类、login.Shoushanchu 类和 lo

54、gin.Shoudongtianjia 类。login. Shougonggaidongshijuan 类:该类实现对已生成试卷进行修改的功能,负责显示维护已生成试卷对话框。主要方法介绍:void jButtonbaocun_actionPerformed (ActionEvent e):该方法用于保存试卷的基本信息。void jButtonshengchenword_actionPerformed (ActionEvent e) throws SQLException:该方法用于将选中的试卷生成 WORD 试卷文档。login.Shoushanchu 类:该类用于从试卷中删除试题,实现对试卷

55、中试题的手工删除。生成 WORD试卷?取得选中试卷的试题和基本信息将试题写入WORD 文档中是否login.Shoudongtianjia 类:该方法用于添加试题到试卷中,实现对试卷中试题的手工添加。4.64.6 数据管理模块数据管理模块4.6.1 数据备份模块(1) 界面设计此界面通过检查用户输入的管理员名和密码,合法的管理员可以进行数据的备份。(2)模块内主要算法的描述图 4.13 数据备份流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Shujubeifen 类。login. Shujubeifen 类:该类用于显示管理员登陆窗口,并且负责判断用户输

56、入的管理员名和密码是否正确。主要方法介绍:void jButtonqueding_actionPerformed (ActionEvent e) throws SQLException:该方法在用户点击确定按钮时被调用。如果点击确定按钮,取得界面上输入的管理员和密码,如果管理员或者密码不正确,则提示用户重新输入。若管理员为系统合法管理员,则弹出一个保存对话框,管理员选择备份数据的保存路径并输入备份文件的文件名,点击确定按钮,数据备份开始。当备份完成时,会弹出一个提示对话框,提示管理员数据备份成功。4.6.2 数据恢复模块(1) 界面设计此界面通过检查用户输入的管理员名和密码,合法的管理员可以进

57、行数据的恢复。(2)模块内主要算法的描述图 4.14 数据恢复流程图 (3) 该模块的 JAVA 类设计实现该模块的 JAVA 类为:login. Shujuhuifu 类。login. Shujuhuifu 类:该类用于显示管理员登陆窗口,并且负责判断用户输入的管理员名和密码是否正确。主要方法介绍:void jButtonqueding_actionPerformed (ActionEvent e) throws SQLException:该方法在用户点击确定按钮时被调用。如果点击确定按钮,取得界面上输入的管理员和密码,如果管理员或者密码不正确,则提示用户重新输入。若管理员为系统合法管理员,

58、则弹出一个打开对话框,管理员选择以前的数据备份文件,点击打定按钮,数据恢复开始。当恢复完成时,会弹出一个提示对话框,提示管理员数据恢复成功。5 5 系统测试与维护系统测试与维护5.15.1 系统测试方案系统测试方案在基本完成了程序的详细设计和编码,剩下的工作就是对软件进行测试。软件测试是发现软件中错误和缺陷的主要手段。在一般情况下,软件测试的过程与整个软件开发过程基本上是平行进行的。软件测试是非常重要的因为测试是为了及时发现应用程序中的错误而执行程序的过程,它的目标是暴露程序中的错误,及时发现问题,提出相应的修改方案,及时解决问题,使系统更加完善。单元测试也称模块测试或程序测试,单元测试是对每

59、个模块单独进行的,验证模块接口与设计说明书是否一致,对模块的所有主要处理路径进行测试且与预期的结构进行对照,还要对所有错误处理路径进行测试。对源码进行审查,对照设计说明书,表态地检查源程序是否符合功能的逻辑要求,是进行单元测试前的重要工作工。单元测试一般是由程序员完成,也称程序调试。5.25.2 系统结果分析与调试系统结果分析与调试首先,我对这个毕业设计程序的每个模块和方法都进行了单体测试,由于第一次正式的按照软件工程的开发流程开发一套软件程序,在测试时感触颇深。感叹自己编写的程序在测试环节的时候问题出现之多。其中有些问题很棘手,感到很莫名其妙,但后来经过查阅书籍和相关资料,都依依得到了顺利解

60、决,其中大部分感觉莫名其妙的问题的产生是因为自己对相关技术掌握的不够扎实和细致,同时也感叹到编写出一套商用的软件是多么的不容易。在调试和测试的过程中,在老师和同学的帮助下,在查阅了一些书籍后,慢慢学会了 eclipse-SDK-3.2-win32 的调试功能,提高了测试的效率。下面简单的介绍一下,测试过程中都遇到了哪些典型的问题,以及解决的办法。从数据库中读出数据后,以 Object 类型返回,直接调用 Object.toString()方法输出该对象的字符串表示。该错误在调试的过程中没有发现,但是在真正测试的时候,JAVA 的控制台抛出了 NullPointerException,后来查找到

61、原因:因为数据库表中某些字段可以为 NULL,所以数据库表中相应的字段可以没有数据,所以返回的 Object 是 null,这样在调用 Object.toString()的时候,就发生了空指针异常,后来在调用 Object.toString()之前,加了 if 判断,问题得以解决。在生成试卷的程序里,需要取得数据库表的结构,刚开始编写了一个方法getResultSetMetaData ()返回 ResultSetMetaData 对象,然后将该参数传递给另外一个方法 getCandidate (),但在取得字段的名字和类型时,控制台抛出了数据库连接已关闭的异常信息。后来通过查阅资料和书籍,发现

62、在getResultSetMetaData 方法里面关闭了数据库连接(Connection) ,所以出现了该异常,后来将这两个方法合并,问题得到了解决。在生成试卷的程序里,需要先生成 SQL 的插入语句,在测试时抛出了列名考试类型错误,后来我检查了一下插入语句,问题出在插入语句上,生成了下面的形式 INSERT INTO 试卷(试卷名称, 考试类型,)VALUES (名称 1,期末考试,)这样的语句,在列名考试类型前多了一个中文输入状态下的空格,将其删除掉问题就解决了。其次,我对整个程序做了整体测试,经过前一阶段的单体测试,本以为整体测试不会发生什么问题,但结果出乎了我的意料。在整体测试过程中

63、暴露了设计过程中的一些问题,比如预先设计的方法参数不足,导致前端用户界面输入的数据没办法发挥作用。还有发现设计中漏写了一些方法,导致整个系统不能正常运行,后来发现问题一一修正后,系统得以完好运行。调试和测试阶段是软件工程开发过程中很重要的一个阶段,没有测试就没有可以健壮运行的软件,如果一套软件不能有一定的容错能力,就没有办法正式的投入使用。调试和测试的过程是需要耐心和严谨的,一个小小的误差往往是需要反复测试才能得以改正的。最后经过调试和测试,系统全部功能运行完好,实现了异构数据库间利用 XML 文件进行数据交互。通过以上的测试方案和测试方法,对该系统的各个细节的功能进行了详细的测试,得出以下的

64、测试结果。本系统已基本上实现来题目要求的各项功能。本系统的界面友好,可以很快的掌握操作方法。系统的优点:(1) 界面友好,操作简单。接触计算机较少的操作人员也能根据菜单项提示进行操作。(2) 信息管理详细,提供了强大查询功能。(3) 业务流程合理安排方便用户使用。系统基本上达到了设计要求,基本功能已经实现,但系统仍存在不足之处,某些细节和内容上有待改进和加强。5.35.3 系统维护系统维护为了清除系统运行中发生的故障和错误,软、硬件维护人员要对系统进行必要的修改与完善;为了使系统适应用户环境的变化,满足新提出的需要,也要对原系统做些局部的更新,这些工作称为系统维护。系统维护的任务是改正软件系统

65、在使用过程中发现的隐含错误,扩充在使用过程中用户提出的新的功能及性能要求,其目的是维护软件系统的正常运作。新系统正式投入使用后,为了能够让它长期高效的工作,必须加强对该系统运行的日常管理工作。通常的系统维护工作包括以下几点:1.系统运行的日常维护离散数学题库管理系统的维护包括试题的添加、删除、修改,此外,还包括用户管理和数据库的备份与恢复。2.系统运行情况记录整个系统的运行情况的记录能够反映出系统在大多数情况下的状态及运作效率,对于系统的评价和改进具有重要的参考价值。3.除了使用者必须作的上述管理工作外,开发者也必须作好各种维护工作如纠错性维护、适应性维护、改善性维护、预防性维护等。6 6 结

66、束语结束语在这毕业设计的这段时间里,学到了很多书本上没有的东西,锻炼了自己的动手实践能力、查阅资料能力和自学能力,在这次毕业设计之前对于 JAVA 语言比较陌生,Eclipse-SDK-3.2-win32 也只是听说过,具体的内容几乎不懂,通过这次毕业设计我了解了 JAVA 语言的大体体系,掌握了 Eclipse-SDK-3.2-win32 开发环境的基本使用方法。但由于时间有限,还有好多东西没有搞懂,这需要我以后在学习中不断的去努力。刚开始拿到设计题目时感觉很盲目。但在老师的指导下,自己从一点一滴学起,编写和调试一个个简单的例子程序。按照软件工程的开发流程从需求分析开始,查阅相关资料,对系统进行概要分析、设计,熟悉软件的开发环境、界面,到编码、测试,调试,直至各个功能的最终实现,毕业论文的撰写。为将来的工作打下了坚实基础,让我对实际软件的开发工作有了深刻的认识,也按时顺利地完成毕业设计这个项目。由于自己经历了软件开发的全过程,所以也体会到了软件开发的创造性和严谨性,在此过程中我受益匪浅。与此同时通过对系统的需求分析和在编码中对错误的处理,培养了自己的自学能力和独立分析、解决问题的能力

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

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

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


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