# 基于JAVA和MySQL的离散数学题库管理系统
# 摘 要
题库、试卷建设是教学活动的重要组成部分,传统手工编制的试卷经常出现内容雷同、知识点不合理以及笔误、印刷错误等情况。为了实现离散数学题库管理的信息化而开发了离散数学题库管理系统。
该系统采用C/S 模式,前台采用JAVA(JBuilder2006),后台采用SQLServer2000数据库。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。应用软件工程中的瀑布开发模型,开发实现了以下功能:题库的管理与维护、自动生成试卷、手工改动生成试卷、生成WORD试卷和答案。
离散数学题库管理系统能够实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并且在操作上实现简单、方便、快捷。
**关键词:** 离散数学 题库 生成试卷
# 第1章 系统结构特性设计
本章主要介绍离散数学题库管理软件中后台数据库的结构设计。数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。
## 1.1 数据库概念模型
根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/d754a45384e8db0eccdc7bbbe44bdc1a.writebug)
教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/c0165035ad33d1b9ac7c8facc5c4c8c6.writebug)
课程实体包含了课程编号、课程名、任课教师和备注等属性。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/201d8fed4722b6f6f3ec95b023dd5a3d.writebug)
题库实体包含了题号、课程编号、所属章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等属性。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/f21ebf9a161f87a42bcbdd879b4d3bf8.writebug)
试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等属性。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/84481f46618ceb131d81abc9f55c33c6.writebug)
试卷抽题表关系包含了试卷编号、题目编号和备注属性。
![](http://www.writebug.com/myres/static/uploads/2021/10/19/24c5937eb18c78abc0808b2900f83ca1.writebug)
## 1.2 数据库逻辑设计
在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。
首先将离散数学题库管理系统的数据库概念结构转化为SQL Server数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库管理系统中的各个数据库表。
教师数据库表:用来记录教师的基本信息。该表的关键字字段是:教师编号。教师编号字段同时也是下面课程数据库表和试卷表的外键。
| 字段名 | 字段类型 | 字段长度 | 说明 |
| ----- | ------- | ---- | ------------------------ |
| 教师编号 | 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 | 备注 |
课程数据库表:用来记录课程的基本信息,可用于存储多个课程,用于系统的扩展。该表的关键字字段是:课程编号,同时也是下面题库数据库表和试卷数据库表的外键。该表中的任课教师字段是外键,对应教师表的教师编号字段,表示该课程的任课教师。
| 字段名 | 字段类型 | 字段长度 | 说明 |
| ---- | ------- | ---- | --------------- |
| 课程编号 | INT | 4 | 关键字 |
| 课程名 | VARCHAR | 30 | 如:离散数学 |
| 任课教师 | VARCHAR | 20 | 外键,对应教师表的教师编号字段 |
| 备注 | TEXT | 16 | 备注 |
题库数据库表:用来记录各门课程所对应的试题,是生成试卷提供试题来源。该表的关键字字段是:题号,用来唯一表示一道题目。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该题目对应的是哪门课程。
| 字段名 | 字段类型 | 字段长度 | 说明 |
| ---- | -------- | ---- | ---------------------------------------- |
| 题号 | INT | 4 | 关键字 |
| 课程编号 | INT | 4 | 外键,对应课程表的课程编号字段 |
| 所属章节 | VARCHAR | 100 | 此题所属课程的章节,比如第二章第三节,就是“2-3” |
| 试题内容 | TEXT | 16 | 包括试题内容和四个选项内容 |
| 正确答案 | TEXT | 16 | 正确答案 |
| 分值 | INT | 4 | 题目的分数 |
| 题型 | VARCHAR | 200 | 选择题、填空题、简答题、计算题、证明题、其它 |
| 难度系数 | DECIMAL | 5 | 以往考试中该题答错人数 除以 总人数 得到的值,初次设置时根据教师的经验手动设置 |
| 录入日期 | DATETIME | 8 | 录入日期 |
| 备注 | TEXT | 16 | 备注 |
试卷数据库表:记录了试卷的基本信息,用于生成试卷的标题。该表的主键字段是:试卷编号。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该试卷对应的是哪门课程。
| 字段名 | 字段类型 | 字段长度 | 说明 |
| ----- | -------- | ---- | ---------------------------------------- |
| 试卷编号 | INT | 4 | 主键 |
| 试卷名称 | VARCHAR | 200 | 试卷名称 |
| 课程编号 | INT | 4 | 外键,对应课程表的课程编号字段 |
| 考试类型 | VARCHAR | 20 | 单元测试、期中考试、期末考试以及补考等类型 |
| 出题教师号 | VARCHAR | 200 | 一人或多人 出题人默认为当前生成试卷的操作员的号。多人情况时,教师的编号如:1,2,3 表示 由1号和2号和3号老师同时出题 |
| 试卷总分 | INT | 4 | 用户设定的试卷总分
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
精选_基于JAVA和MySQL的离散数学题库管理系统_源码打包 (149个子文件)
GeneratePaperDialog.java.bak 20KB
TestPaperHandler.java.bak 7KB
MsWordHandler.java.bak 7KB
新建 文本文档.DOC.bak 0B
GeneratePaperDialog.class 27KB
MaintainPaperDialog.class 16KB
Dispatch.class 15KB
AddTestDialog.class 13KB
QueryTestDialog.class 13KB
LoginDialog.class 7KB
MainFrame.class 7KB
Variant.class 5KB
HelpAboutDialog.class 5KB
Frame1.class 5KB
TestPaperHandler.class 5KB
MsWordHandler.class 4KB
DBAccess.class 4KB
SafeArray.class 4KB
SwingUtils.class 4KB
TestLibraryHandler.class 3KB
InsertTestData.class 2KB
FileFilter.class 2KB
EnumVariant.class 1KB
ROT.class 1KB
StudyVerifier.class 1KB
ExamApp.class 1KB
ActiveXComponent.class 1KB
ComThread.class 1KB
ComException.class 972B
TestAssert.class 847B
TestPaper.class 845B
StudyVerifier$PassVerifier.class 816B
GeneratePaperDialog_shortAnswerCheckBox_actionAdapter.class 743B
MaintainPaperDialog_genWordPaperButton_actionAdapter.class 740B
GeneratePaperDialog_fillBlankCheckBox_actionAdapter.class 737B
GeneratePaperDialog_deleteUnitButton_actionAdapter.class 734B
GeneratePaperDialog_caculateCheckBox_actionAdapter.class 734B
GeneratePaperDialog_choiceCheckBox_actionAdapter.class 728B
GeneratePaperDialog_proveCheckBox5_actionAdapter.class 728B
GeneratePaperDialog_genPaperButton_actionAdapter.class 728B
GeneratePaperDialog_otherCheckBox_actionAdapter.class 725B
GeneratePaperDialog_addUnitButton_actionAdapter.class 725B
MaintainPaperDialog_deleteButton_actionAdapter.class 722B
GeneratePaperDialog_returnButton_actionAdapter.class 722B
MaintainPaperDialog_returnButton_actionAdapter.class 722B
QueryTestDialog_addQuestionButton_actionAdapter.class 713B
MaintainPaperDialog_addButton_actionAdapter.class 713B
MaintainPaperDialog_jButton1_actionAdapter.class 712B
STA.class 709B
QueryTestDialog_canceljButton1_actionAdapter.class 704B
MainFrame_addNewQuestionjMenuItem1_actionAdapter.class 698B
MainFrame_maintainPaperjMenuItem2_actionAdapter.class 695B
MainFrame_generatePaperjMenuItem1_actionAdapter.class 695B
MainFrame_queryQuestionjMenuItem2_actionAdapter.class 695B
AddTestDialog_returnjButton1_actionAdapter.class 692B
AddTestDialog_deletejButton2_actionAdapter.class 692B
QueryTestDialog_okjButton1_actionAdapter.class 692B
DispatchEvents.class 690B
AddTestDialog_savejButton1_actionAdapter.class 686B
MainFrame_helpAboutjMenuItem4_actionAdapter.class 683B
AddTestDialog_addjButton2_actionAdapter.class 683B
MaintainPaperDialog_jdbTable1_mouseAdapter.class 677B
LoginDialog_cancelButton_actionAdapter.class 674B
StudyVerifier$1.class 672B
MainFrame_exitjMenuItem1_actionAdapter.class 668B
LoginDialog_okButton_actionAdapter.class 662B
Frame1_jButton1_actionAdapter.class 647B
ComFailException.class 629B
LoginDialog_this_windowAdapter.class 621B
DispatchProxy.class 534B
Constants.class 502B
JacobObject.class 345B
MainSTA.class 343B
WrongThreadException.class 320B
ui.dep2 80KB
app.dep2 13KB
study.dep2 8KB
tool.dep2 1006B
文档.doc 738KB
生成的文件样式.doc 21KB
abc.doc 11KB
新建 文本文档.DOC 25B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
_desktop.ini 9B
共 149 条
- 1
- 2
资源评论
工具盒子
- 粉丝: 60
- 资源: 1313
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功