基于JAVA散数学题库管理系统的设计与实现毕业设计论文.docx
《基于JAVA散数学题库管理系统的设计与实现毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于JAVA散数学题库管理系统的设计与实现毕业设计论文.docx(47页珍藏版)》请在冰豆网上搜索。
基于JAVA散数学题库管理系统的设计与实现毕业设计论文
本科毕业(设计)论文
课题名称
基于JAVA的离散数学题库管理系统的设计与实现
专业
计算机科学与技术
姓名
学号
指导教师
基于JAVA的离散数学题库管理系统的设计与实现
摘要:
新课改中最突出部分是加重了对学生学习过程的考核,因此考试次数明显增加了,这就给任课教师增加了很多负担。
题库管理系统可以方便、快捷、高效的实现试卷的管理与生成,来减轻这些负担。
本文首先介绍了题库建设的现状和开发工具,然后提出了离散数学题库管理系统的需求分析,明确了系统的总体结构。
并论述了利用JAVA、数据库技术,设计与实现基于C/S结构的离散数学题库管理系统的全过程。
主要解决了试题库的建立、试卷生成、系统的安全性问题。
本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。
从而实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并使其操作简单、方便、快捷。
关键词:
离散数学题库管理系统JAVAC/S结构
Abstract:
Partofthecurriculumisaddedtothestudent'slearningprocess,sothenumberincreasedsignificantly,itwouldgivemanyteachersincreasedburden.Inordertoalleviatetheburden,testmanagementsystemcanbeconvenient,quickandefficientmanagementandtherealizationofthetest.
Thispaperintroducesthepresentsituationoftheconstructionofthetestanddevelopmenttools,andthenputsforwardthediscretemathtestmanagementsystemofrequirementanalysis,thegeneralstructureofthesystem.AnddiscussestheprocesswhichuseJAVA,databasetechnology,designandrealizationbasedonC/Sstructureofdiscretemathtestmanagementsystem.Thispapermainlysolvessuchproblemsasthebuildingofthepapertest,thesecurityofthesystem.Thispaperdiscussestheoveralldesign,databasedesignandfunctionmoduledesign,etc.Soitmakesthediscretemathematicstestrealizethestandardizationofmanagementinformation,andtestautomation,andgeneratetheoperationsimple,convenientandquick.
Keywords:
DiscretemathematicsExampooladministrativesystemJAVAC/S
1引言
1.1开发背景及研究现状
信息时代的到来,为教育的改革和发展提供了十分有利的机遇,教育教学领域的观念、理论和方法也随之不断更新,越来越多的计算机技术被引入教学过程,并形成了多种多样的智能计算机教学系统。
其中,计算机辅助的题库系统作为智能计算机教学系统的核心,受到了人们极大的重视。
深化高等学校教学改革,全面提高高等教育质量,这是党中央、国务院继上世纪末扩大高等教育招生规模之后,对高等高等教育改革和发展作出的又一重大战略决策。
为此,教育部、财政部决定实施“高等学校本科教学质量与教学改革工程”,投入了25个亿。
在我国许多高等院校,《离散数学》是计算机专业的一门核心基础课程,具有概念多,题型广泛,重在理解的特点。
在《离散数学》的教学中,大量习题的练习与解题方法的讨论起着重要的作用,是巩固知识,深化理解的一个必要的途径,因此需要对学生进行大量的测试和考试。
要进行测试和考试,传统的出题需要教师付出很大的心血,打印试卷也要花费一定的财力。
因此,研制离散数学题库管理系统已成为一项重要的课题,并且目前,在国家有关项目的支持下,出现了一系实用的离散数学题库管理系统。
但这些成型的离散数学题库管理系统不能满足离散数学教学工作全过程的需要。
随着对离散数学题库管理系统的深入分析,离散数学题库管理系统将会朝着更加的适应离散数学教学工作的方向发展,必将会促进离散数学教学工作效率的提高。
并且在人力上减轻教师的负担,在物力上减少学校的开支。
1.2本人主要工作
学习了JAVA编程和eclipse-SDK-3.2-win32软件的使用。
通过分析研究任务书的要求,以及实地调研,对系统进行了需求分析,设计与实现、测试系统等。
系统的开发中,主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性、完整性和安全性好的数据库。
对于后者则要求应用程序功能完备,操作上实现简单、方便、快捷等特点。
在以上工作的基础上,对系统进行详细设计与系统所有功能的实现,最后进入论文撰写阶段。
1.3开发工具论述
本软件为离散数学题库管理系统,是C/S模式的信息管理系统。
前台采用JAVA技术,后台采用SQLServer2000数据库,操作系统采用WindowsXP。
1.3.1前台开发工具
Java是一个由Sun公司开发而成的新一代编程语言。
使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所并且支持数据库访问。
1.3.1后台开发工具
SQLServer2000数据库逐渐成为Windows操作系统平台下进行数据库应用开发中较为理想的选择之一。
SQLServer2000数据库管理系统是目前最常用的关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及易于维护等优点。
它具有真正的客户机/服务器体系结构,能与WindowsXP操作系统有机的结合,在目前的数据库开发中被广泛的应用。
2需求分析
开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。
根据软件工程学中开发软件的要求,对离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。
2.1系统可行性分析
可行性分析是研究技术领域的经济问题和经济规律的科学,是研究一定技术条件下如何提高经济效果的科学,是技术与经济的交叉。
其主要研究技术的经济效果问题,技术与经济的最佳组合问题。
2.1.1经济可行性
由于该软件是一个小型的离散数学题库管理系统,所以进行该软件的开发经费和投资较少,只需一台普通的计算机即可,系统的开发并不太复杂和繁琐,操作尽可能简单易行。
在开发过程中,由一个人独立开发,用时三个月左右,所需成本费用主要为人工费用,再加上计算机和软件等构成该系统的开发成本。
经济上的合理性:
在系统开发上,现在普通的计算机市场价4000元左右,操作系统是WindowsXP加上MicrosoftOffice其正版软件也不过5000元,数据库采用SQLServer2000,前端采用eclipse-SDK-3.2-win32。
开发人员1名(假设月薪1500元),开发本软件如果是网络开发的技术人员最多1个月,开发费用合计大概是10000元左右,且计算机和软件可重复使用。
选择自行开发系统,既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系统的可扩展性也很大。
2.1.2技术可行性
由于该系统是小型的离散数学题库管理系统,采用C/S模式,开发难度适中。
通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用JAVA(eclipse-SDK-3.2-win32)。
数据库方面则选用了SQLServer2000进行设计。
C/S是指:
客户/服务器。
其主要由客户机、服务器、网络三要素主成。
用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。
网络软件则保证客户机和服务器互相连通。
以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。
服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。
关于JAVA生成WORD文件的技术,虽然Sun公司的JDK开发包中本身没有提供该功能,但是可以利用JACOB开源类库实现。
JACOB是一个JAVA到微软的COM接口的桥梁。
使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。
可以利用它对MSWord、Excel进行处理,目前最新公开版本是jacob_1.9。
以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。
有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实的基础。
2.1.3运行可行性
运行可行性分析是指新系统运行后的良好环境进行估计和评价,同时还应考虑对现有教师的培训、补充问题。
现在一般的教师对计算机都很熟悉,使用题库管理系统只需进行简单的讲解、说明或借助系统的帮助文档就能很快的掌握和使用。
2.2需求分析
2.2.1用户需求分析
信息时代的到来,为教育的改革和发展提供了十分有利的机遇,教育教学领域的观念、理论和方法也随之不断更新,计算机辅助教学(CAI)正是在此背景下产生和发展起来的。
在各种计算机辅助教学(CAI)软件的研制中,题库管理系统的研究一直是一个非常活跃的课题,也是实现教考分离的一个重要手段。
利用离散数学题库管理系统,不仅能节省离散数学任课教师的宝贵时间,提高工作效率,而且能消除出卷人主观意识的影响,使考试更加标准化,更加客观、真实、全面地反映教学的实际效果,有利于教学质量的提高。
建立了离散数学题库管理系统以后,可实行教考分离,促使离散数学任课老师必须按照教学大纲的要求认真备课,认真组织教学内容,改进教学方法,对提高教学质量和整体教学水平有着非常重要的意义。
离散数学题库管理系统满足如下需求:
(1)为了保证系统内部数据的安全性,系统应通过设置不同的登陆用户权限来对系统进行访问和管理。
(2)为了方便多个用户使用本系统,要求能添加和删除用户。
(3)要求能导入试题和查询试题。
(4)灵活多样的组卷方式,如自动生成试卷、手工修改现有试卷。
(5)要求能对生成的试卷进行保存,以便下次直接使用。
(6)试卷生成速度不宜太慢。
(7)结合《离散数学》试题中有许多图形的特点,以便生成的试卷以标准的试卷形式输出。
故选择MicrosoftOfficeWord2003作为终端输出软件。
(8)试题的答案生成功能。
(9)为保证数据的安全,防止数据的丢失。
要求能对数据进行备份和恢复。
(10)友好的用户界面。
用户需求分析的目的是对离散数学题库管理系统进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。
结果可以用一个用例图,图中的活动者代表外部与系统交互的角色,包括教师和管理员。
用例图是对系统需求的描述,表达了系统的功能和所提供的服务,包括用户管理、导入试卷、查询试题、自动生成试卷、手动修改现有试卷、生成WORD试卷、数据管理功能。
系统的用例图如下图2.1所示。
图2.1系统用例图
2.2.2系统功能需求分析
系统功能需求分析是从用户最初的非形式化需求到满足用户需求的软件产品的映射过程。
系统功能需求分析是离散数学题库管理系统设计的第一个阶段,是离散数学题库管理系统成功与否的重要前提。
系统功能需求分析分为:
问题分析和功能需求分析两个阶段。
(1)问题分析
《离散数学》是我国许多高等院校计算机专业的一门核心的基础课程,在《离散数学》的教学中,大量习题的练习与解题的方法的讨论起着重要的作用,是巩固知识,深化理解的一个必要途径、因此需要对学生进行大量的测试和考试。
所以,除了期末考试外,每个单元都要进行测试和考试,帮助学生来巩固知识。
这就给任课教师增加了很多负担。
需要任课教师定期的命题,出试卷,这无形之中增加了任课教师的工作负担。
所以为了减轻这些负担,开发的离散数学题库管理系统,可以很好的减轻教师的负担。
(2)功能需求分析
通常离散数学题库管理系统应满足用户对组成试卷的各种要求与约定。
根据离散数学题库管理系统功能和条件的限止,经过调研与分析,离散数学题库管理系统主要应具有以下功能:
(1)用户管理:
登录本系统的用户必须有一定的权限控制,管理员拥有一切权限。
而教师则只能进行试题编辑和生成试卷的权限。
(2)题库管理和维护:
合法的教师用户可以进行试题的输入、修改、删除和查询操作,这样教《离散数学》的教师可以使用本生成自己的试题库,以便以后在教学考试中随时组成所需的试卷。
(3)组卷:
运行本软件,可以满足教师不同的使用要求,即可以自动生成试卷和手动修改现有试卷。
并且将所生成的试卷以标准的试卷形式输出。
为了便于使用离散数学题库管理系统,我选择了MicrosoftOfficeWord2003作为终端输出软件,这样可以方便编辑所输出的试卷,直到满足教师的要求为止。
(4)数据管理:
管理员可以在必要的时候对离散数学题库管理系统中的数据库进行数据的备份和恢复操作。
(5)帮助:
它可以帮助教师进一步了解离散数学题库管理系统的性能、使用方法、注意事项和使用环境,有利于更好的操作本离散数学题库管理软件系统。
数据流图描述了本系统中各种数据间的数据处理流向。
下面是离散数学题库管理系统的顶层数据流图对离散数学题库管理系统主要数据处理过程进行具体
描述如下:
图2.2离散数学题库管理系统顶级数据流图
根据前面设计要求,离散数学题库管理系统的功能主要设置了用户管理、题库的管理和维护、自动生成试卷、手动修改现有试卷、生成WORD试卷、数据管理和帮助等七大功能模块。
下面用离散数学题库管理系统1级数据流图对离散数学题库管理系统其中的五大功能模块主要数据处理过程进行具体描述如下:
图2.3离散数学题库管理系统1级数据流图
2.2.3系统性能需求分析
即系统服务所应遵循的一些约束和限制。
例如:
标准性、可靠性、安全性、高效性、可维护性。
软件的开发应能在较长时间内满足课程改革的需要。
标准性:
系统编写与运行必须符合标准,既可以保证系统运行又可以在此标准上每一项功能运行。
可靠性:
由于离散数学题库管理系统的重要性,系统必须稳定可靠,从而避免或减少数据损失。
安全性:
通过系统权限控制使用者,从而确保使用者无法操作与其无关的数据。
高效性:
由于离散数学题库管理系统生成试卷时,每次处理信息量较大,系统对信息处理能力和响应能力都应是快捷有效的。
可维护性:
采用结构化模块设计,便于开发与维护,也有利于发现情况随时进行扩展。
3概要设计
本章主要介绍离散数学题库管理软件中整体设计和后台数据库的结构设计。
数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。
数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。
科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。
3.1系统整体设计
本系统共分5个大功能模块。
如图:
自动生成试卷
删除试题
删除用户
数据备份
添加试题
用户管理模块
教师登录模块
数据恢复
生成WORD答案
生成WORD试卷
手动修改现有试卷
查询试题
修改试题
添加用户
题库的管理和维护模块
数据管理模块块
组卷模块
图3.1功能模块图
上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。
教师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完成对试题的录入、删除、修改和查询。
生成试卷模块完成根据用户输入的生成试卷要求,自动生成试卷,维护已经生成的试卷和生成WORD试卷和答案。
3.2数据库设计
3.2.1数据库概念设计
根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。
图3.2题库实体及其属性图
题库实体包含了题号、所属章节、试题内容、试题答案、题型、录入日期、图片、分值和备注等属性。
图3.3章节实体及其属性图
试卷实体包含了试卷编号、试卷名称、考试类型、试卷总分、组卷时间和备注等属性。
图3.4试卷抽题表实体及其属性图
1
章节名
章节编号
试卷抽题表
教师编号
题库
拥有
章节
教授予
教师
试卷抽题表关系包含了试卷编号、试题编号、题型和备注属性。
1
备注
密码
试卷
考试
图3.5总体E-R图
3.2.1数据库逻辑设计
在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。
而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。
将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。
在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。
首先将离散数学题库管理系统的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,即:
数据库的逻辑结构。
创建离散数学题库管理系统中的各个数据库表。
表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试卷表
字段名
数据类型
长度
允许空
字段描述
试卷编号
VARCHAR
50
×
主键
试卷总分
INT
50
×
试卷总分
试卷名称
VARCHAR
50
×
试卷名称
考试类型
VARCHAR
20
√
单元测试、期末考试等类型
组卷时间
DATETIME
8
×
组卷时间
备注
TEXT
16
√
备注
试卷表:
记录了试卷的基本信息,用于生成试卷的标题。
该表的主键字段是:
试卷编号。
表3.5试卷抽题表
字段名
数据类型
长度
允许空
字段描述
试卷编号
VARCHAR
50
×
主键,同时也是外键,对应试卷表的试卷编号字段。
试题编号
VARCHAR
50
×
主键,同时也是外键,对应题库表中的题号字段。
题型
VARCHAR
50
×
题型
备注
TEXT
16
√
备注
试卷抽题表:
用来记录每张试卷对应的试题,是生成WORD文件的数据来源。
该表的主键字段是:
试卷编号和试题编号。
这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。
4系统详细设计与实现
下面将详细描述每个子模块的详细设计。
4.1教师登录模块
(1)界面设计
此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,或是否符合管理员登录信息,若符合,则登录成功,进入主界面。
此模块用于验证用户的信息,保证了系统内部资料的安全性。
图4.1教师登录界面
(2)模块内主要算法的描述
图4.2教师登录模块流程图
(3)该模块的JAVA类设计
实现该模块的JAVA类为:
login.JieMian类。
login.JieMian类:
该类用于显示教师登陆窗口,并且负责判断用户输入的用户名密码是否正确。
主要方法介绍:
voidjButtondenlu_actionPerformed(ActionEvente):
该方法在用户点击确定、退出、重置按钮时被调用,如果点击确定按钮,取得界面上输入的教师编号(管理员)和密码,如果教师编号(管理员)或者密码不正确,则提示用户重新输入。
若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。
如果点击重置按钮,清除用户输入教师编号(管理员)和密码并且光标位于教师编号框。
如果点击退出按钮,则退出系统。
4.2用户管理模块
4.2.1添加用户模块
(1)界面设计
此界面为添加用户界面,在教师添加其它教师时检查教师编号和密码是否有填写并且检查是否是合法,如果未填写或不合法则提示并返回,检查通过之后把数据提交给服务器,打开数据库把教师编号、密码写入数据库。
(2)模块内主要算法的描述
图4.3添加用户模块流程图
(3)该模块的JAVA类设计
实现该模块的JAVA类为:
login.Tianjia类。
login.Tianjia类:
该类用于显示添加用户窗口,并且负责判断用户输入的用户名密码是否合法。
主要方法介绍