摘要:题库、试卷建设是教学活动的重要组成部分,传统手工编制的试卷经常出现内容雷同、知识点不合理以及笔误、印刷错误等情况。为了实现离散数学题库管理的信息化而开发了离散数学题库管理系统。该系统采用C/S 模式,前台采用JAVA(JBuilder2006),后台采用SQLServer2000数据库。本文详细论述了系统总体设计思想、数据库设计以及功能模块设计等。应用软件工程中的瀑布开发模型,开发实现了以下功能:题库的管理与维护、自动生成试卷、手工改动生成试卷、生成WORD试卷和答案。离散数学题库管理系统能够实现离散数学题库管理的信息化,规范化和试卷生成的自动化,并且在操作上实现简单、方便、快捷。
关键字:
离散数学 题库 生成试卷
目录:
需求分析:
开发软件首先做的是开发过程中最主要的就是系统的需求分析,需求分析同时也是软件生存周期中关键的一步。根据软件工程学中开发软件的要求,对离散数学题库管理系统全部功能和相关的技术进行具体的分析,分析时采用结构化的分析方法,自顶向下、逐层分解问题。
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模式,开发难度适中。通过对各种开发工具和数据库之间进行比较以及指导老师的建议,最终确定采用JAVA(Jbuilder2006)。数据库方面则选用了SQL Server2000进行设计。C/S是指:客户/服务器。其主要由客户机、服务器、网络三要素主成。用户在个人机(客户机)上工作,可以与中心计算机(服务器)互相通信。网络软件则保证客户机和服务器互相连通。C/S结构的最大优点是具有强大的使用和处理数据的能力,它将数据处理任务分开在客户端和数据库服务器上进行,有利于充分利用网络的计算资源,该操作还大大减少了网络的传输量,从客户发往数据库服务器的只是查询请求,从数据库传回的只是查询的结果。以简单的两层客户机/服务器系统而言,客户端是指应用软件以图形接口显示数据并让用户进行添加、修改等并行输入输出作业的部分,也就是用户接口负责向后端的数据库索取数据,执行客户端软件的工作。服务器所执行的后端数据库服务器,则专门执行数据的存储、检索、管理、备份等种种关键操作。C/S体系结构图如图2.1。
数据库的设计是以关系型数据库理论作为指导,将数据库建立在服务器上,应用程序则运行在客户机/服务器体系结构中的客户机上。关于JAVA生成WORD文件的技术,虽然Sun公司的JDK开发包中本身没有提供该功能,但是可以利用JACOB开源类库实现。JACOB是一个JAVA到微软的COM接口的桥梁。使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。可以利用它对MS Word、Excel进行处理,目前最新公开版本是1.10.1。以上的这些技术已经较为成熟,并且在诸多的领域中得到了有效的验证。有了这样的技术支持,也为离散数学题库管理系统开发的最终成功奠定了坚实的基础。
2.3 开发工具的论述
本软件为离散数学题库管理系统,是C/S模式的信息管理系统。前台采用JAVA技术, 后台采用SQL Server 2000数据库, 操作系统采用Windows XP。
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.1 数据库概念模型
根据系统的设计要求,设计了E-R图,实体为教师、课程、题库和试卷,关系为试卷抽题表。
教师实体包含了教师编号、密码、教师姓名、住址、电话、手机、EMAIL、学历、职称和备注等属性。
课程实体包含了课程编号、课程名、任课教师和备注等属性。
题库实体包含了题号、课程编号、所属章节、试题内容、正确答案、分值、题型、难度系数、录入日期和备注等属性。
试卷实体包含了试卷编号、试卷名称、课程编号、考试类型、出题教师号、试卷总分、组卷时间、和备注等属性。
试卷抽题表关系包含了试卷编号、题目编号和备注属性。
3.2 数据库逻辑设计
在管理系统中,后台数据存储的地位相当重要合理的设计能缩减软件开发的周期和降低开发难度,并提高维护升级的可行性。而建立数据库最重要的一步是定义数据库表,数据是数据库中存储的基本对象,通过设计会以一定的组织结构存储在相关的基本表中。将基本信息分类、统计,根据数据库设计的基本原理,建立基本表构成数据库。在进行数据库的需求分析时,不但要考虑到软件系统当前要实现的功能,更要注重软件的可维护性和扩展性。首先将离散数学题库管理系统的数据库概念结构转化为SQL Server2000数据库系统所支持的实际数据模型,即:数据库的逻辑结构。创建离散数学题库管理系统中的各个数据库表。
教师数据库表:用来记录教师的基本信息。该表的关键字字段是:教师编号。教师编号字段同时也是下面课程数据库表和试卷表的外键。
课程数据库表:用来记录课程的基本信息,可用于存储多个课程,用于系统的扩展。该表的关键字字段是:课程编号,同时也是下面题库数据库表和试卷数据库表的外键。该表中的任课教师字段是外键,对应教师表的教师编号字段,表示该课程的任课教师.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
此题所属课程的章节,比如第二章第三节,就是“2-3” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
以往考试中该题答错人数 除以 总人数 得到的值,初次设置时根据教师的经验手动设置 |
|
|
|
|
|
|
|
|
题库数据库表:用来记录各门课程所对应的试题,是生成试卷提供试题来源。该表的关键字字段是:题号,用来唯一表示一道题目。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该题目对应的是哪门课程.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
一人或多人出题人默认为当前生成试卷的操作员的号。多人情况时,教师的编号如:1,2,3 表示 由1号和2号和3号老师同时出题 |
|
|
|
|
|
|
|
|
|
|
|
|
试卷数据库表:记录了试卷的基本信息,用于生成试卷的标题。该表的主键字段是:试卷编号。该表中的课程编号是外键,对应课程数据库表的课程编号,表示该试卷对应的是哪门课程。
试卷抽题表:用来记录每张试卷对应的试题,是生成WORD文件的数据来源。该表的主键字段是:试卷编号和题目编号。这两个字段同时也是外键,分别对应试卷表的试卷编号字段和题库表中的题号字段。