题库管理系统—计算机毕业设计(论文)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题库管理系统
院(系):
专业:
班级:
学号:
姓名:
指导教师:
摘要
题库、试卷建设是教学活动的重要组成部分,传统手工编制的试卷经常出现内容雷同、知识点不合理以及笔误、印刷错误等情况。

为了实现离散数学题库管理的信息化而开发了离散数学题库管理系统。

该系统采用C/S 模式,前台采用JA V A(JBuilder2006),后台采用SQLServer2000数据库。

本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。

应用软件工程中的瀑布开发模型,开发实现了以下功能:题库的管理与维护、自动生成试卷、手工改动生成试卷、生成WORD试卷和答案。

离散数学题库管理系统能够实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并且在操作上实现简单、方便、快捷。

关键词离散数学题库生成试卷
Abstract
The 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
目录
第1章概述 (1)
1.1题目的来源及背景 (1)
1.2研究意义 (1)
1.3软件工程瀑布模型介绍 (2)
第2章需求分析 (4)
2.1项目内容及要求 (4)
2.1.1 具体完成功能 (4)
2.1.2 实现目标 (4)
2.2可行性分析 (4)
2.2.1 经济可行性 (5)
2.2.2 技术可行性 (5)
2.3开发工具的论述 (6)
2.3.1 前台开发工具 (7)
2.3.2 后台数据库 (7)
第3章系统结构特性设计 (8)
3.1系统分析模型 (8)
3.2数据库设计 (10)
第4章系统行为特性设计 (14)
4.1软件结构设计 (14)
4.2功能子模块设计 (14)
4.2.1 教师登录模块 (15)
4.2.2 题库的管理与维护模块 (16)
4.2.3 试题查询模块 (19)
4.2.4 自动生成试卷模块 (20)
4.2.5 手工改动现有试卷模块 (24)
第5章系统测试 (26)
5.1系统测试方案 (26)
5.2测试结果分析与调试 (26)
结论 (29)
参考文献 (30)
致谢 (31)
第1章概述
1.1 题目的来源及背景
随着生产社会化趋势的扩大、科学技术的进步、人类知识总量的增长速度不断加快、以及市场竞争的日益激烈,使人们对信息的认识产生了根本性的变化。

信息被列为与物质、能源并列的人类社会发展的三大资源之一。

信息化水平已成为衡量一个国家现代化水平和综合国力的重要标志。

我国也正处于改革开放进一步深化的环境下,因此我们应当抓住机遇,充分利用信息,扎实的做好信息管理系统的基础工作,建设开发较为先进的应用系统,加快我国信息化建设的步伐。

邓小平同志指出“教育要面向现代化、面向世界、面向未来”。

信息社会的到来已预示着电脑网络会在教育技术现代化中扮演重要角色,在实施教育技术现代化的过程中我们深刻认识到,在教学及考试的过程中应用网络化的手段解决传统的教师出题已经迫在眉睫,系统就是建立在这个基础上才得以全面、健康地发展。

目前,大多数高等院校学生考试仍采用任课教师人工出题的方式,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,且要求近几年试题重复率不超过30%,并且要同时给出答案和评分标准,这样做给教师增加了很大的工作负担,并且若上下届学生的同一门课程由同一教师承担,则难免几届学生用相同几套试卷,很难保证试题的保密性。

采用计算机信息管理技术与数据库技术,建立合理出题、公正阅卷和科学评价为一体的试题库管理系统,每次考试前由题库中题目随机生成试卷,则可较好地解决教考分离的问题,体现考试的公正性,也可将广大教师从繁重的命题工作中解放出来。

1.2 研究意义
随着科技发展和社会进步,尤其是计算机大范围的普及,计算机应用逐渐由海量数据处理转向大规模的事务处理和对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统,以及在大规模的事务处理和对工作流的管理等方面的应用。

教学评价是检验教学设计效果,修订和完善教学设计的一个基本因素。

教学评价通过单元测验和最终考试环节来完成。

题库、试卷是教育部本科评估的指标和观测点,随着5年一轮的本科教学评估活动的开展,对高等院校试卷的质量提出了更高的要求。

采用传统的手工编制试卷方式,容易出现试卷题目与往年雷同、考核的知识点不合理或笔误、印刷错误等现象,也不能适应网络环境下的教学要求。

设计完成的题库管理与试卷自动生成系统的使用对象为教师。

教师可以利用系统对不同课程建立题库并进行管理,根据不同的要求自动生成试卷和参考答案,使用系统提供的试卷自动生成功能可以大大提高试卷的质量,减轻教师的工作负担,提高教师的工作效率。

1.3 软件工程瀑布模型介绍
最初发表的软件工程开发过程起源于其他的工程过程。

如下图所示,因为该图从一个阶段到另一个阶段逐次下降,这个模型因此以“瀑布模型”命名或软件生命周期模型。

图1.1 软件生命周期
模型中主要的阶段映射为一些基本的开发活动:
1、需求分析和定义
通过咨询系统用户建立系统的服务、约束和目标。

并对其详细定义从而为系
统描述服务。

2、系统和软件设计
系统设计过程区分硬件和软件系统的需求。

硬件设计是指建立一个总体的系统体系结构。

软件设计包括识别和描述一些基本的软件系统的抽象及其之间的关系。

3、实现和单元测试
在这个阶段,软件设计是作为一组程序或程序单元实现的。

单元测试就是检验每个单元是否符合其描述。

4、集成和系统测试
集成单个的程序单元或程序,并对系统整体进行测试以确保其满足需求。

在测试之后,软件系统交付给客户使用。

5、运行和维护
正常情况下(虽然不是必须的),这是一个具有最长生命周期的阶段。

系统被安装并且进入实际的使用中。

维护包括改正在早期各阶段未被发现的错误,改善系统单元的实现,当新的需求出现时提高系统的服务能力。

原则上,每个阶段的结果是一个或多个经过核准的文件。

直到上一个阶段完成,下一阶段才能启动。

在实际的过程中,这些阶段经常是重叠和彼此间有信息交换的。

在设计阶段,需求中的问题被发现;在编程阶段,设计问题被发现,以此类推。

软件过程不是一个简单的线性模型,它包括开发活动的多个反复。

第2章需求分析
开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。

根据软件工程学中开发软件的要求,对离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。

2.1 项目内容及要求
根据此次项目的要求,主要完成对离散数学题库管理系统的设计。

2.1.1 具体完成功能
本系统具体完成的功能如下:
1)题库的管理与维护:新题的录入,修改,删除等功能。

2)生成试卷:包括自动生成与手工改动,要求可以对生成的试卷进行打印
和WORD排版,并且对生成的试卷能自动生成其参考答案。

其次还应考虑到试题的实际应用性,如:题目的覆盖率,雷同度,难度
系数及近三年内不能重题等问题。

2.1.2 实现目标
该系统具有较好的现实意义,特别是计算机发展迅速的今天,实现了由传统的手工化管理向信息化管理,充分的利用了计算机的强大计算能力。

该系统界面美观、操作方便、简捷,对于没有操作经验的人员根据系统的提示也能很快的熟悉操作该系统。

该系统具有实用性和通用性。

2.2 可行性分析
可行性分析是研究技术领域的经济问题和经济规律的科学,是研究一定技术条件下如何提高经济效果的科学,是技术与经济的交叉。

其主要研究技术的经济效果问题,技术与经济的最佳组合问题。

2.2.1 经济可行性
由于该软件是一个小型的离散数学题库管理系统,所以进行该软件的开发经费和投资较少,只需一台普通的计算机即可,系统的开发并不太复杂和繁琐,操作尽可能简单易行。

在开发过程中,由一个人独立开发,用时三个月左右,所需成本费用主要为人工费用,再加上计算机和软件等构成该系统的开发成本。

经济上的合理性:在系统开发上,现在普通的计算机市场价4000元左右,操作系统是Windows XP加上Microsoft Office其正版软件也不过5000元,数据库采用SQL Server2000,前端采用JBuilder2006。

开发人员1名(假设月薪1500),开发本软件如果是网络开发的技术人员最多1个月,开发费用合计大概是10000元左右,且计算机和软件可重复使用。

选择自行开发系统,既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系统的可扩展性也很大。

2.2.2 技术可行性
由于该系统是小型的离散数学题库管理系统,采用C/S模式,开发难度适中。

通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用JA VA(Jbuilder2006)。

数据库方面则选用了SQL Server2000进行设计。

C/S是指:客户/服务器。

其主要由客户机、服务器、网络三要素主成。

用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。

网络软件则保证客户机和服务器互相连通。

C/S结构的最大优点是具有强大的使用和处理数据的能力,它将数据处理任务分开在客户端和数据库服务器上进行,有利于充分利用网络的计算资源,该操作还大大减少了网络的传输量,从客户发往数据库服务器的只是查询请求,从数据库传回的只是查询的结果。

以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。

服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。

C/S体系结构图如图2.1。

客户
网络
服务器
图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模式的信息管理系统。

前台采用JA VA技术, 后台采用SQL Server 2000数据库, 操作系统采用Windows XP。

沈阳航空工业学院毕业设计论文第2章需求分析
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 操作系统有机的结合,在目前的数据库开发中被广泛的应用。

第3章系统结构特性设计
本章主要介绍离散数学题库管理软件中后台数据库的结构设计。

数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。

数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。

科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。

3.1 数据库概念模型
根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。

图3.1 教师实体及其属性图
教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。

图3.2 课程实体及其属性图
课程实体包含了课程编号、课程名、任课教师和备注等属性。

图3.3题库实体及其属性图
题库实体包含了题号、课程编号、所属章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等属性。

图3.4 试卷实体及其属性图
试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等属性。

图3.5 试卷抽题表关系及其属性图
试卷抽题表关系包含了试卷编号、题目编号和备注属性。

图3.6 总体E-R图
3.2 数据库逻辑设计
在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。

而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。

将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。

在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。

首先将离散数学题库管理系统的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。

创建离散数学题库管理
系统中的各个数据库表。

表3.1 教师数据库表
教师数据库表:用来记录教师的基本信息。

该表的关键字字段是:教师编号。

教师编号字段同时也是下面课程数据库表和试卷表的外键。

表3.2 课程数据库表
课程数据库表:用来记录课程的基本信息,可用于存储多个课程,用于系统的扩展。

该表的关键字字段是:课程编号,同时也是下面题库数据库表和试卷数据库表的外键。

该表中的任课教师字段是外键,对应教师表的教师编号字段,表示该课程的任课教师。

表3.3 题库数据库表
题库数据库表:用来记录各门课程所对应的试题,是生成试卷提供试题来源。

该表的关键字字段是:题号,用来唯一表示一道题目。

该表中的课程编号是外键,对应课程数据库表的课程编号,表示该题目对应的是哪门课程。

表3.4 试卷数据库表
试卷数据库表:记录了试卷的基本信息,用于生成试卷的标题。

该表的主键字段是:试卷编号。

该表中的课程编号是外键,对应课程数据库表的课程编号,表示该试卷对应的是哪门课程。

表3.5 试卷抽题表数据库表
试卷抽题表:用来记录每张试卷对应的试题,是生成WORD文件的数据来源。

该表的主键字段是:试卷编号和题目编号。

这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。

第4章系统行为特性设计
4.1 软件结构设计
本系统共分3个大功能模块。

如图:
图4.1 功能模块图
上图即为总体的功能模块图,它清晰的显示了系统的各个模块的分布。

教师登陆模块是用来验证用户是否为系统的合法用户,题库的管理与维护模块完成对题目的录入、删除、修改和查询。

生成试卷模块完成根据用户输入的生成试卷要求,自动生成试卷,维护已经生成的试卷和生成WORD试卷和参考答案。

4.2功能子模块设计
下面将详细描述每个子模块的详细设计。

4.2.1 教师登录模块
(1) 界面设计
此界面为教师登录界面,在用户登录时检查用户名和密码是否有填写,如果未填写则提示并返回,检查通过之后把数据提交给服务器,打开数据库检查用户填写的信息是否正确,登录名称、密码是否相符合,若符合管理员登录信息则登录成功,进入主界面。

此模块用于验证用户的信息,保证了系统内部资料的安全性。

图4.2 教师登录界面
(2) 模块内主要算法的描述
图4.2 教师登录模块流程图
(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) 界面设计
此界面是题库的维护界面,是对试题的基本信息进行录入,删除和更改。

若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。

若要修改试题,在下面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。

若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。

图4.4 题库的维护界面(2) 模块内主要算法的描述
图4.5 题库维护模块流程图
(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 ):该方法用于根据课程名取得课程编号,在添加试题到数据库中时被调用。

因为用户操作界面上输入的是课程名,而题库数据库表中保存的是课程编号,所以需要调用该方法进行转换。

4.2.3 试题查询模块
(1) 界面设计
此界面是试题的查询界面,该功能允许用户试题的查询条件,进行查询试题操作。

该功能可用于手工改动现有试卷模块。

图4.6 试题查询模块界面图
(2) 模块内主要算法的描述
图4.7 试题查询模块流程图
(3) 该模块的JAVA类设计
实现该模块的JAVA类为:ui.QueryTestDialog类
ui.QueryTestDialog类
该类用于实现查询已有题目功能,负责显示查询试卷对话框。

主要方法介绍:
okjButton1_actionPerformed(ActionEvent e):该方法在提交查询按钮被点击时被调用。

内部实现时,首先取得所有用户输入的查询条件,生成查询用的SQL 语句。

然后利用JBuilder自带的DbExpress类库中的QueryDataSet类实现用户的查询操作。

4.2.4 自动生成试卷模块
(1) 界面设计
此界面是自动生成试卷界面。

教师在上面输入试卷的基本信息,在下面抽取试题选项中设置试题要抽取的章节,题型,与往年试卷雷同度的最大值,平均难度系数的最大值。

其中雷同度的计算方法为:两张试卷相同的题目的数量*2 / 两张试卷总的题目数。

平均难度系数的计算方法为:所有试题的难度系数的和 / 试题的总数。

图4.8 自动生成试卷界面
(2) 模块内主要算法的描述
图4.9 自动生成试卷算法流程图
该模块为系统的核心业务模块,考虑了三年内不能出现重复的题目,与往年试卷的雷同度和试卷的平均难度。

首先,统计今年,去年,和前年的试卷中包含的题目题号,这些题目号将不能用于这次的试题抽取(三年内不能出现重复的题目)。

然后根据上步的结果、选中的课程名、设置的题型和章节选项执行查询,先按照章节排序,再按照题型排序,查询出的试题可以用于此次试卷的生成。

然后按照设定的试卷总分进行循环,当抽取试题的总分不大于设定的总分,并且仍有题目可抽取时,根据查询结果的数量,生成一个随机数,抽取一道题目。

相关文档
最新文档