离散数学题库管理系统论文Word下载.docx
《离散数学题库管理系统论文Word下载.docx》由会员分享,可在线阅读,更多相关《离散数学题库管理系统论文Word下载.docx(28页珍藏版)》请在冰豆网上搜索。
第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元左右,操作系统是WindowsXP加上MicrosoftOffice其正版软件也不过5000元,数据库采用SQLServer2000,前端采用JBuilder2006。
开发人员1名(假设月薪1500),开发本软件如果是网络开发的技术人员最多1个月,开发费用合计大概是10000元左右,且计算机和软件可重复使用。
选择自行开发系统,既节省了费用,又可以使本软件符合我们自己的要求并拥有及源码,使以后系统的可扩展性也很大。
2.2.2技术可行性
由于该系统是小型的离散数学题库管理系统,采用C/S模式,开发难度适中。
通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用JAVA(Jbuilder2006)。
数据库方面则选用了SQLServer2000进行设计。
C/S是指:
客户/服务器。
其主要由客户机、服务器、网络三要素主成。
用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。
网络软件则保证客户机和服务器互相连通。
C/S结构的最大优点是具有强大的使用和处理数据的能力,它将数据处理任务分开在客户端和数据库服务器上进行,有利于充分利用网络的计算资源,该操作还大大减少了网络的传输量,从客户发往数据库服务器的只是查询请求,从数据库传回的只是查询的结果。
以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。
服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。
C/S体系结构图如图2.1。
图2.1C/S体系结构图
数据库的设计是以关系型数据库理论作为指导,将数据库建立在服务器上,应用程序则运行在客户机/服务器体系结构中的客户机上。
关于JAVA生成WORD文件的技术,虽然Sun公司的JDK开发包中本身没有提供该功能,但是可以利用JACOB开源类库实现。
JACOB是一个JAVA到微软的COM接口的桥梁。
使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。
可以利用它对MSWord、Excel进行处理,目前最新公开版本是1.10.1。
以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。
有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实的基础。
2.3开发工具的论述
本软件为离散数学题库管理系统,是C/S模式的信息管理系统。
前台采用JAVA技术,后台采用SQLServer2000数据库,操作系统采用WindowsXP。
2.3.1前台开发工具
Java是一个由Sun公司开发而成的新一代编程语言。
使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。
不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。
Java正在逐步成为Internet应用的主要开发语言。
它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。
JBuilder2006企业版是Borland公司最新推出的JAVA集成开发环境。
通过可视化的开发工具,使得EJB,WebService,XML和数据库应用程序的开发更加简单,方便,大大提高了开发人员的效率。
比以前更快地在支持J2EE,WebApplications,EJB的单元测试工具的支持下,使用灵活的开发方法开发软件。
使用改进的编辑器增加了产生力和代码可靠性,还有HotSwap调试和改善的性能。
2.3.2后台数据库
SQLServer2000数据库逐渐成为Windows操作系统平台下进行数据库应用开发中较为理想的选择之一。
SQLServer2000数据库管理系统是目前最常用的关系型数据库系统之一,它是基于客户机/服务器模式下的数据库,扮演着后端数据库的角色,它对中等规模的数据库支持较好且具有强大的功能和稳定性及易于维护等优点。
它具有真正的客户机/服务器体系结构,能与WINDOWS2000操作系统有机的结合,在目前的数据库开发中被广泛的应用。
第3章系统结构特性设计
本章主要介绍离散数学题库管理软件中后台数据库的结构设计。
数据库结构设计是继需求分析和确定开发工具后的重要阶段,是管理型软件开发设计的核心和重要组成部分。
数据库结构设计的好坏与否将对应用系统的运行效率以及实现的效果产生很大影响。
科学、合理的数据库结构设计可以提高数据访问的速度,有效保持数据的完整性、一致性和共享性,因此数据库结构设计对系统设计来说至关重要。
3.1数据库概念模型
根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。
图3.1教师实体及其属性图
教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。
图3.2课程实体及其属性图
课程实体包含了课程编号、课程名、任课教师和备注等属性。
图3.3题库实体及其属性图
题库实体包含了题号、课程编号、所属章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等属性。
图3.4试卷实体及其属性图
试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等属性。
图3.5试卷抽题表关系及其属性图
试卷抽题表关系包含了试卷编号、题目编号和备注属性。
图3.6总体E-R图
3.2数据库逻辑设计
在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。
而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。
将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。
在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。
首先将离散数学题库管理系统的数据库概念结构转化为SQLServer2000数据库系统所支持的实际数据模型,即:
数据库的逻辑结构。
创建离散数学题库管理系统中的各个数据库表。
字段名
字段类型
字段长度
说明
教师编号
VARCHAR
20
关键字,如:
001
密码
10
教师姓名
住址
200
可以输入英文字符200,但是汉字只能输入100个
电话
15
手机
EMAIL
40
学历
职称
备注
TEXT
16
表3.1教师数据库表
教师数据库表:
用来记录教师的基本信息。
该表的关键字字段是:
教师编号。
教师编号字段同时也是下面课程数据库表和试卷表的外键。
课程编号
INT
4
关键字
课程名
30
如:
离散数学
任课教师
外键,对应教师表的教师编号字段
表3.2课程数据库表
课程数据库表:
用来记录课程的基本信息,可用于存储多个课程,用于系统的扩展。
课程编号,同时也是下面题库数据库表和试卷数据库表的外键。
该表中的任课教师字段是外键,对应教师表的教师编号字段,表示该课程的任课教师。
题号
外键,对应课程表的课程编号字段
所属章节
100
此题所属课程的章节,比如第二章第三节,就是“2-3”
试题内容
包括试题内容和四个选项内容
正确答案
分值
题目的分数
题型
选择题、填空题、简答题、计算题、证明题、其它
难度系数
DECIMAL
5
以往考试中该题答错人数除以总人数得到的值,初次设置时根据教师的经验手动设置
录入日期
DATETIME
8
表3.3题库数据库表
题库数据库表:
用来记录各门课程所对应的试题,是生成试卷提供试题来源。
题号,用来唯一表示一道题目。
该表中的课程编号是外键,对应课程数据库表的课程编号,表示该题目对应的是哪门课程。
试卷编号
主键
试卷名称
考试类型
单元测试、期中考试、期末考试以及补考等类型
出题教师号
一人或多人
出题人默认为当前生成试卷的操作员的号。
多人情况时,教师的编号如:
1,2,3表示由1号和2号和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(ActionEvente):
该方法在用户点击确定按钮时被调用,取得界面上输入的用户名和密码,如果用户名或者密码不正确,则提示用户重新输入。
若用户为系统合法用户,则允许用户登陆系统,打开系统主界面。
app.DBAccess类:
该类为底层数据库操作类。
实现基本的数据库操作,如插入,删除,修改。
getConnection():
用于返回一个JDBC数据库连接(Connection)对象。
executeUpdate(Connectionconn,Stringsql):
执行insert、delete和update语句。
对数据库表进行插入删除和更新。
executeQuery(ConnectiondbCon,StringquerySQL):
根据给定的sql语句,进行查询,返回DefaultTableModel对象。
4.2.2题库的管理与维护模块
此界面是题库的维护界面,是对试题的基本信息进行录入,删除和更改。
若要添加试题,先点击添加按钮,然后在上面的试题信息部分填入试题的内容,填写好后,点击保存按钮即可将试题保存到数据库。
若要修改试题,在下面的表格中选择要修改的试题,修改上面的试题内容,然后点击保存按钮即可将修改后的试题保存到数据库。
若要删除试题,在下面的表格中选择要删除的试题,然后点击删除按钮,如果确认删除,系统将会把指定的试题删除。
图4.4题库的维护界面
图4.5