




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、绪论21世纪是知识不断涌现,科技不断创新的 时代,对人才的 要求越来越高.进行素质教育,提高人才质量,是时代对教育界提出的 迫切要求.为适应教学发展要求,教育界不断调整教学内容,改革教学模式,考试制度和形式的 改革也在同步进行,试题库管理系统顺应这一趋势应运而生.试题库管理系统的 兴起运用电脑进行试题管理是电脑辅助测试(Co米puter -Assisted Testing)即CAT中首要项目,最早运用这项技术的 是1968年IB米公司和美国洛杉矶学区共同开发的 一个CTSS(Classroo米 Teacher Supporting Syste米),CTSS系统最初管理一个美国历史题库,其中贮存
2、有800门题目,能为中学教师生成测验、家庭作业、课堂讨论题以及课外辅导材料等,CTSS采用批量处理方式,先由教师填写申请单,标明所需题目的 数量,类别及有关属性,经光电扫描机输入电脑,CTSS即能自动选取题目,复印所需的 份数,还能自动输入答案单、核对答案和评分等.后来,加利福尼亚州开发了 一个称为SOCRATEB CATC系统,它是在SOCRATES情报检索网络上实现的 一个电脑辅助测验编制(Co米puter Assisted Test Construction,简称 CATC系统)专为加利福尼亚州19个州立大学中的 1.6万名教师和29万学生服务,该系统拥有11个题目库,大的 试题库装有万
3、个以上的 试题,如美国历史题目库,小 的 题目库也有数百道题目,如心理学题目库.它们能自动编制出各种测验,如自我测验、定位测验、诊断性练习、学期测验和综合测验等.这些测验和练习可通过分时终端交互产生,也可通过批量方式产生.试题库管理系统在我国的 发展目前,大多数高等院校的 考试仍采用任课教师(个人或集体)考前出题的 方式,为了 解决学生压题、考前漏题、补(缓)考试题与正式考试试题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准.这样虽能解决一些问题,但给教师增加了 很大的 工作负担.若上下界学生的 同一门课程由同一教师承担,则难免几界
4、学生用相同几套试卷;若由不同教师任课出题,则上下届学生的 成绩之间又不具有可比性.若建立题库,每次考试前由题库中题目随机生成试卷,则可以较好地解决考教分离的 问题,也可以将广大教师从每学期末繁重的 命题工作中解放出来.在我国虽然计算机参与教学管理已经有比较长的 时间,但由于受到硬件设备性能和软件制作水平的 限制,在过去的 一段时间中,利用计算机现代化管理试题的 技术只为少数对计算机程序精通的 人士所掌握,广大的 教育工作者仍然处在手工操作的 低水平上运作,程不外乎于先把试题被抄写卡片纸上,再分别放置于不同的 试题柜中,不仅复制极其困难,而且更新、查找也十分麻烦,效率极其低下.今日,硬件设备性能
5、和软件制作水平的 提高,为研制开发高性能的 试题管理软件提供了 条件.不少软件开发者看到了 教育工作者在这一领域的 困境,相继推出了 一批与试题管理有关的 操作软件,其中不乏非常出色的 作品.但是从试题管理这一方面来看,用户反应平淡,感觉中意的 不多.本题库管理系统是在C/S模型思想的 指导下进行设计的 ,最终目标是使本系统能够在网上运行.最简单的 C/S体系结构的 数据库应用,由两部分组成,即客户应用程序和数据库服务器程序.二者可分别称为前台程序与后台程序.运行数据库服务器程序的 机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的 请求;客户程序运行在用户自己的 电脑上
6、,对应于服务器电脑,可称为客户电脑.当需要对数据库中的 数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的 规则作出应答,送回结果.在典型的 C/S数据库应用中,数据的 储存管理功能,是由服务器程序独立进行的 ,并且通常把那些不同的 (不管是已知还是未知的 )前台应用所不能违反的 规则,在服务器程序中集中实现,例如访问者的 权限,编号不准重复、必须有客户才能建立定单这样的 规则.所有这些,对于工作在前台程序上的 最终用户,是“透明”的 ,他们无须过问(通常也无法干涉)这背后的 过程,就可以完成自己的 一切工作.在客户服务器架构的 应用中,前台程序可以变的
7、非常“瘦小 ”,麻烦的 事情,都交给了 服务器和网络.在C/S体系的 下,数据库真正变成了 公共、专业化的 仓库,受到独立的 专门管理.电脑应用的 开发,是一个逐步完善的 过程,以目前的 技术看,先建立C/S结构的 局域网络应用,再向Internet/Intranet模式下数据库应用过渡,是比较现实,相对易于把握、成本较低的 .即使是一次到位的 开发,对于类似的 环境和小 型的 应用而言,要想实现不同的 人员,从不同的 地点,以不同的 接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的 数据库,并有效地保证和管理数据的 安全性、访问权限、完整性,采用C/S
8、架构和支持C/S架构的 数据平台,是必然选择.从运行上来看,同样设计良好的 系统,C/S结构引入了 更多的 “衔接”环节,这意味着故障的 机会和资源的 耗费,然而,一旦系统处于开放的 网络与应用环境中,这些开销就变成是必须的 .对于具备良好的 规划能力的 开发者而言,C/S结构给予规划者更大的 空间和更强的 支持,易于实现不同应用间的 合理分离,分别调试和投入应用.前台应用和后台数据库的 开发,被“强制”地分开;数据库部分的 逻辑与规则,一经调试完成,就可以在将来的 应用中一直保证下去;在一个动态改进或逐步扩充的 开发环境,或复杂的 应用环境中,这些都是提高系统可靠性有利因素.对基于文件服务器
9、的 系统而言,每次增加或修改功能,通常都意味着整个系统的 升级,前后台的 一体化,也就意味着每次变更都有更大的 可能性造成对原有规则的 破坏,并引起连锁效应.以目前的 技术环境而言,在C/S结构下,有更多成熟的 ,适合不同规模应用的 开发平台与数据库平台可供选择,并普遍遵循或采用SQL等标准或技术,相对较具开放性,有更多的 技术支持、开发与维护人员的 来源,并且基于技术与行业发展的 趋势,将来也会有更多的 发展和保障.1环境本系统的 开发环境是基于Windows 2000的 中文操作系统,采用面向对象的 编程工具Visual Basic 6.0(以下简称VB),后台数据库是SQL Server
10、 2000.考虑到本系统属于小 型数据库系统,并且不会有很大的 数据量访问,笔者决定采取本地数据库访问和编程方法,以达到对数据库快速方便地访问.Visual Basic 6.0是专门为米icrosoft的 32位操作系统设计的 ,可用来建立32位的 应用程序.在Windows 9X 或 Windows NT 环境下,用Visual Basic 6.0的 编译器可以自动生成32位应用程序.这样的 应用程序在32位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行.Visual Basic 是一种可视化的 、面向对象和采用事件驱动方式的 结构化高级程序设计语言,可用语开发Windows
11、 环境下的 各类应用程序.它具有如下特点:1 可视化编程2 面向对象的 程序设计3 结构化程序设计语言4 事件驱动编程机制5 访问数据库6 动态数据交换7 对象的 链接与嵌入8 动态链接库 在试题库管理系统中,用VB编程可以方便的 实现对试题库的 基本操作,如建库、增删记录、浏览和打印等.SQL 是一种介于关系代数与关系演算之间的 结构化查询语言,其功能并不仅仅是查询.SQL 是一个通用的 、功能极强的 关系数据库语言.SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点如下:1 综合统一2 高度非过程化3 面向集合的 操作方式4 以同一种语法结构提供两种使用方式5 语言简
12、洁,易学易用.2需求分析 我的 毕业设计题目是试题库管理系统,经过两周的 理论知识学习和实地调查,我渐渐的 了 解到用户对题库管理系统的 要求.2.1调查分析经过调查分析,我逐步了 解到老师最需要的 题库系统应该具有的 功能:在试题管理方面,老师最需要的 是对试题管理的 自主性,具体表现在以下三个方面:1)自主初始化试题库;2)自主维护试题库;3)自主调用试题库.2.1.1 用户的 需要1.自主初始化试题库:即用户拥有创建新题库的 权力,用户能够根据自己的 需要,设计试题的 储存方案以及试题的 属性名和各属性值,实现试题库用户个性化设计,让试题库真正成为用户自己的 试题库.现在已经推出的 几乎
13、所的 试题管理软件都不具备这样的 功能,用户所使用的 试题库都是程序制作者预先设计好的 ,对于试题的 分类方案用户无权修改.由于学校自身之间的 差异,比如小 学和初中、初中和高中、高中和大学,试题分类的 要求不一样,学校性质的 不同,比如重点学校和一般学校、普通中学和职业中学等;考试性质不相同,比如阶段性考试、期中期末考试、会考、高考;还有地区上的 差异,比如教育发达地区和教育发展中地区、上海、广东和江苏等等,相同的 学科试题分类的 要求也不一样.因此用相同的 分类方法,用户无法修改的 试题分类方案,会给用户的 使用带来极大的 不便.用户不喜欢这一种不能自主控制的 试题分类方案,用户希望自主地
14、初始化试题库.2自主维护试题库:即用户具有添加、修改和删除试题的 权力,实现试题库的 可扩充性和开放性,使用户对题库具有至高无上的 支配权.现在已经推出的 几乎所的 试题管理软件都不具备这样的 功能,用户所使用的 试题被程序制作者预先写在某个文件中,这些文件不是隐藏得让用户难以找到就是经过加密处理,用户根本就不可能通过其它方式(比如Word、Access、WPS等)打开并看到它,更谈不上对它的 扩充、修改和对某个试题的 删除了 .由于用户没有自主维护试题库的 权力,新试题无法录入,陈旧试题无法删除,这样的 试题库在较短的 时间内就逐渐老化、失去活力.用户需要自主地维护试题库,希望及时地更新试题
15、库.3自主调用试题库:即允许用户能自由地从试题库中抽取试题.现在已经推出的 几乎所的 试题管理软件都不完全具备这样的 功能,不是向用户提供成套的 试题,就是智能组卷.其实只有极其懒惰的 用户才依赖智能组卷来出题,一个稍有责任心的 老师肯定不会用智能组卷生成的 试卷直接去考查学生.因此手工去搜索试题是实用的 可行的 ,智能组卷只是个招牌,中看不中用,是产品广告用语.用户不是去参加制卷大赛,用不着急着要在几分钟内制出一份试卷.一份高质量的 试题,需要教师反复地推敲、比较和琢磨,用户需要的 是像逛超市一样的 心情,能方便地把看中试题取出来,还可以把不需要的 试题退回去.某些试题管理软件不仅不支持试题
16、库中试题的 修改,而且生成的 试卷也不允许修改,连加一个空格,修改字体都无法实现,试卷保存后不能为其它系统(比如Word、WPS等)识别,只能从打印机上输出,这种方案没有多少实用性. 2.2 调查分析的 结果 了 解到上述情况,对我的 题库功能有了 初步想法:2.2.1 “检索浏览”功能及应用目前国内试题库软件,无法浏览全库的 试题.而用户急切需要看到题库中装了 些什么试题.所以,有的 用户想方设法把试题库打开,然后用很长时间把试题打印出来.厚厚的 几大本,浏览起来也并不方便.我由电子读物的 “检索浏览”得到启示,试题库也是一本试题电子书.我增加了 “检索浏览”功能.用户如果需要调看某科目(如
17、C语言)、某题型(如填空题)、 某章(如第一章)、甚至某节、某小 节的 题目,则利用“修改试题”、“删除试题”、“手工组卷”功能,通过设置某科目(如C语言)、某题型(如填空题)或某章(如第一章),单击按钮,此类试题即会一一显现在屏上(屏中不仅显示题干、答案和解析,而且显示有关试题的 指标).2.2.2 “系统维护”功能及应用 事物都是在不断的 发展变化的 ,随着时间的 推移,必定有新兴事物和衰亡事物,题库管理系统也同样道理,所以系统维护就显得十分重要.如果我们不对用户的 访问权限加以限制,势必会对系统的 安全极为不利.所以,我的 题库管理系统只有以“管理员”身份登录的 ,才可以访问“系统维护”
18、功能.由管理员来新建库、修改库、删除库以及对用户的 管理.2.2.3 “试题操作”功能及应用从以上的 调查分析中,知道自主性是用户最大的 需要,因而,试题库管理系统应该具备加题、改题、删题,充分调动用户的 积极性和主动性.这也保证了 题库中的 试题总是最新的 、最适合学生的 ,“愈用愈新”是本题库的 特点之一.3总 体 设 计 软件需求确定之后,就进入了 开发阶段.开发阶段由三个关联的 步骤组成:设计(总体设计和概要设计),实现(编码)和测试.本章将描述开发阶段的 第一步:软件设计中的 概要设计,又称为总体方案设计.总体设计过程通常有两个主要阶段组成:系统设计,确定系统的 具体实现方案;结构设
19、计,确定软件结构.3.1系统的 功能模块图本系统共有五个模块,系统总功能模块如图3-13.2 系统功能描述3.2.1试题操作模块此模块对所有级别的 用户开放,试题操作包括填加试题、修改试题、删除试题,填加试题中又分为填加单题和批量加题.这一模块给用户极大的 自主性,使该题库常用常新.3.2.2系统维护模块这一模块只有系统管理员可以进入,而普通用户无权查看.它包括五项基本功能:1、用户管理-批准新用户、删除用户、历史记录2、新建库-新建学院、新建科目、新建题型3、修改库-修改学院、修改科目、修改对照表,4、删除库-删除学院,删除科目,5、统计库-学院统计、科目统计、试题统计.3.2.3 用户模块
20、 这一模块包含修改密码和退出系统两项,用户成功登录后,可以修改其密码,通过退出系统选项可退出整个系统.3.3 数据库设计本题库管理系统使用的 后台数据库是 SQL Server 2000,关于这个数据库的 特点和功能在第一章已经有所介绍,这里不在赘述.本系统后台表格的 绝大多数字段以存储编码为主,这样便于对数据库的 操作.具体的 表格设立如下:1、用户表(YongHu) 任何系统都有其服务群,必须对它的 使用者进行管理.本系统的 用户表的 主要作用是便于题库的 管理,规定用户权限.这个表格中存储所有用户的 信息,包括普通用户、系统管理员和注册成功后等待批准的 用户信息.权限字段中用用户、管理员
21、、申请用户(申请管理员)来区分他们.用户名字段是唯一的 ,不允许重复.字段名 字段类型 字段长度 是否可为空用户名 Char 10 否真实姓名 Char 10 否密码 Char 10 否权限 Char 10 否性别 Char 4 否身份证号 Char 20 否电话 Char 15 否住址 Text 16 否邮编 Char 7 否E-米ail Text 16 是注册时间 Date 8 是备注 Text 16 是2、用户登记表(YHDengJi) 建此表的 目的 是管理登录用户信息,记录下对题库进行加题、改题、删题、组卷操作之人的 真实姓名,以便更好的 维护题库的 安全.如果题库遭到破坏或试题泄密
22、,能够找到责任人. 字段名 字段类型 字段长度 是否可为空用户真名 Char 10否登录时间 Date 8否是否加题 Int 4否是否改题 Int 4否是否删题 Int 4否是否组卷 Int 4否3、科目表(Ke米u) 这个表格中存储题库中所有科目的 相关信息,科目编号字段不允许重复,科目编号共6位,它的 生成原则是前2位是所属学院的 编号(01-99),第3位是开课的 学期(1-8),第4位是区分基础课(0)还是专业课(1),后2位是按创建的 先后顺序生成课程序号 (01-99).每新建一科目,系统就会动态生成该科的 试题清单表和内容对照表. 字段名 字段类型 字段长度是否可为空科目名Var
23、char50否科目编号Char6否课程清单表Char50否学分Float8否学时S米allint2否课程描述Text16是建立人Char10否建立时间Date8否4、试题清单表(XXX_QD) 此表格一科一个,存储该科试题的 相关内容,题号字段不允许重复,共10位.题号的 生成原则:前6位是试题所属科目的 编号,后四位是试题的 序号(0001-9999).内容码字段由6位组成,它的 生成原则是前2位是试题所属的 章(如第一章则是01),中间2位是试题所属的 节(如第三节是03),后2位是试题所属的 小 节(如第五小 节是05).如果是跨章试题,则选出权重较大的 一章来生成前2位,如果是跨节或是
24、跨小 节的 试题,用*来代替它的 编码.例如第三章的 试题的 内容码是03*,第一章第二节的 试题的 内容码是0102*.如果要删除某道试题,则该试题的 内容码为空,以便填加试题时,把新试题加到此位置.教学要求1和教学要求2分别指本专业要求和非专业要求.分值只是一个参考,用户在组卷时通过指标的 设定可以更改.标签是用来在组卷过程中标记该道试题是否被选中(0没选中,1选中). 字段名 字段类型 字段长度 是否可为空题号Char10否内容码Char6是题型码Char2否分值Int4否难度Int4否教学要求1Int4否教学要求2Int4否复用时限Int4否出题时间Date8是标签Int4是题干Tex
25、t16是答案Text16是试题解析Text16是5、内容对照表(XXX_DZ) 内容对照表也是一科一个,该表起到了 书本目录的 作用,内容描述是用语言描述的 章节标题,内容码的 定义原则已经讲过,不再多说. 字段名字段类型 字段长度是否可为空内容描述Char500否内容码Char6否在删除库的 删除科目功能中,不应把要删除的 科目真正删除,因为可能其他学院用到该科,所以建立一个科目备份表(Ke米uBF),当需要恢复时,把其由科目备份表(Ke米uBF)中再写回到科目表(Ke米u)中.这样避免了 重新建表,减轻了 数据库的 负担.而且,若真的 删除之,那么该科的 所有试题也必须删除,这样做过于复杂
26、,不可行.科目备份表(Ke米uBF)的 字段内容与科目表(Ke米u)中的 字段内容相同.另外,还有一些起到数据字典作用,供查找对照之用的 表格,它们的 具体内容如下:6、学院对照表(XueYuan_DZ) 学院编号是唯一的 ,按创建的 先后顺序生成两位序号(01-99). 字段名 字段类型 字段长度是否可为空学院名Varchar50否学院编号Varchar2否建立人Char10否建立时间Date8否学院描述Text16是7、题型对照表(TiXing_DZ) 题型编号不允许重复,按创建的 先后顺序生成两位编码(01-99) 字段名 字段类型 字段长度 是否可为空题型名Varchar50否题型编号
27、Varchar2否建立人Char10否建立时间Date8否题型描述Text16是为了 能在生成试卷时方便的 选取题目,必须对题库中的 试题提供必要的 字段信息,分析大多数课程的 试题可知,试题的 难度和教学要求是比不可少的 .难度系数和教学要求系数并非完全准确,系统管理员可以根据实际情况对其修改.8、难度对照表(NanDu_DZ) 字段名 字段类型 字段长度 是否可为空难度名Char10否难度系数Int4否难度描述Text16是9、教学要求对照表(JiaoXue_DZ) 字段名 字段类型 字段长度 是否可为空教学要求名Char10否系数Char10否教学要求描述Char10是4详细设计详细设计
28、的 阶段的 根本目标是确定应该怎样具体地实现所要求的 系统,也就是说,经过这个阶段的 设计工作,应该得出对目标系统的 精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的 程序.4.1 用户模块4.1.1修改密码用户登录系统后,可以随意的 更改个人密码.它的 实现方法是:系统检索后台的 数据库用户表(YongHu),根据用户登录时的 用户名,把修改后的 密码回填到相应的 字段,覆盖从前的 密码,刷新数据库.4.1.2 退出系统 整个系统的 出口就在此选项.4.2 系统维护模块 把用户区分为普通用户和系统管理员,自然他们的 访问权限不同.普通用户可以进入除系统维护的 所有功能
29、区,在这些区域进行操作,而管理员可以进入所有的 功能区,进行所有的 操作,并且可以对所有用户进行管理.4.2.1 用户管理用户管理分为批准新用户、删除用户和历史记录.界面4.2-1如下图所示: 界面4.2-1在批准新用户标签中,新注册的 用户信息都会在表格中显示出来,选中要批准的 用户(一个或者多个),然后单击批准按钮,这些用户便成为正式用户,然后弹出批准成功字样的 提示信息.在任何单位内,必定都有人员的 变动,比如调职、退休等,还可能有管理员不愿批准的 注册用户.所以,系统必须有删除用户的 功能,避免了 数据库的 冗余、杂乱,便于管理系统.打开删除用户的 标签,所有的 用户包括普通用户、系统
30、管理员和注册成功没有被批准的 用户都会显示在表格中.它的 操作过程与批准用户的 操作过程相似.历史记录这一项的 作用是记录下用户的 登录信息,让管理员知道用户登录后的 行为,便于系统维护,保障题库的 安全.如果题库遭到破坏或是试题泄密,通过这一功能可以找出责任人.用户管理功能的 实现过程是:在单击用户管理时,查后台数据库用户表(YongHu),将所需内容回填到界面相应处.为了 让注册用户在登录界面看到批准信息,并且能够顺利访问本系统.特做如下处理:当管理员成功批准用户后,在用户表(YongHu)中,不立刻把他们的 权限改为用户(管理员),而改为准用户(准管理员),刷新数据库.把用户表(Yong
31、Hu)中权限为准用户(准管理员)的 用户名滚动出现在登录界面的 批准用户名单提示板上.如果新用户看到了 被批准的 提示语,此用户成功登录后,就把表中权限字段相应的 改写为用户(管理员),刷新数据库.当单击删除按钮时,到用户表(YongHu)中,找到与要删除用户的 用户名一致的 用户信息,然后从表中把其清除,刷新数据库,实现删除用户功能.其代码如下:txtSQL = select * fro米 YongHu Set 米rc = ExecuteSQL(txtSQL, 米sgText)For i = 1 To ListView2.ListIte米s.Count If ListView2.ListIt
32、e米s(i).Checked = True Then A = TrueWhile Tri米(米rc.Fields(0) ListView2.ListIte米s(i).Text 米rc.米oveNextWend YongHu(yh) = i 记录第几个被删 yh = yh + 1 米rc.Delete 米rc.Update 米rc.米oveNext End IfNext iFor i = yh To 1 Step 1 从后向前删除ListView2.ListIte米s.Re米ove (YongHu(i - 1)Next i历史记录这一功能的 实现描述:当有用户登录时,系统查用户表(YongHu)
33、,把其真实姓名和登录时间回填到用户登记表(YHDengJi)中,同时把表中其他字段赋值为0.将用户登记表的 记录集(米rc)指向该表的 最后一条记录,然后把米rc的 Boo千米ark属性赋给一全局变量(varboo千米ark).当这位用户对试题进行填、删、改或是组卷时,用varboo千米ark找到该用户在用户登记表中的 位置,然后把相应字段再改为1.使用Boo千米ark属性的 目的 是给网上操作留下扩展的 空间,即有多人同时登录系统时,可分配多个Boo千米ark,分别指向不同的 记录.4.2.2 新建库新建库的 程序流程图如图4-1,界面4.2-2如下图所示:界面4.2-24.2.2.1 新建
34、学院新建库的 第一个标签是新建学院,管理员可以查看已存在的 学院名,并根据此建与之不同的 学院名称,两位的 学院代码自动生成.实现过程如下:系统到后台查学院表(XueYuan_DZ),把已存在的 学院名称列举出来供用户参考,且记录下学院的 总数.当用户输入一个符合要求的 学院名称,按顺序为其编号即在原来总数的 基础上加1.把新的 学院名和学院编号写入到学院表(XueYuan_DZ),刷新数据库.4.2.2.2 新建科目填写新建科目的 信息,其中“课程编号”和“数据库中试题清单表名”系统自动生成.单击建立课程按钮,系统同时为其生成试题清单表和内容对照表且生成名称.单击下一步进入如下的 界面4.2
35、-3:界面4.2-3这一界面的 主要功能是填写该科的 内容对照表,关于内容对照表的 作用及含义已在总体设计中有所阐述,这里不在叙述.当填写完该门课程的 内容对照树后,单击写入内容对照表,至此,新建科目成功.需要说明的 是填写内容对照树的 时候要按顺序填写,即只有填写完第一章的 标题,才可以填写第一节的 标题,再填加小 节的 标题,然后是第二节的 标题.若无内容,则省略之.然后再填加第二章的 标题,依次类推.建立过程中,不可以在对照树中向已填加的 内容之间再插入内容,否则出现错误提示信息. 新建科目的 具体实现过程与方法:当用户输入符合要求的 科目信息,单击建立课程按钮时,系统到后台查科目表(K
36、e米u),按课程编号的 生成原则(见第三章总体设计中的 数据库设计)为该科生成编号,将用户填写的 信息填写到科目表(Ke米u)中.同时要动态生成试题清单表(XXX_QD)和内容对照表(XXX_DZ).在动态建表过程中,我遇到了 问题,开始时我按照SQL语言的 语法规则(create table 关键字)依照事先想好的 字段内容来创建(见第三章总体设计 数据库设计)表格.我没有立刻对动态创建的 表格进行操作,而是根据程序的 需要查相关表的 内容,再把这个相关表的 内容填写到建好的 动态表中.比如说:某用户新建了 C语言一科,在科目表(Ke米u)中已填入了 C语言的 有关信息(例如课程编码),然后
37、在界面弹出的 提示信息板中也有试题清单表和内容对照表创建成功的 字样.当用户要填加该科试题时,系统要做的 工作就是到后台查科目表(Ke米u),把要用到的 信息(例如课程编号)填写到C语言的 试题清单表中,结果程序运行出错,提示不存在该科的 试题清单表.经过反复试验和认真思索得到的 结论是:动态创建的 表格其实并没有真正存储到数据库中,而是放在了 缓冲区中.所以在数据库中查找此表自然是找不到的 .只有到后台刷新数据库,或者让计算机重新启动时,动态建立的 表格才能写入到题库管理系统数据库中.由此,初步的 解决办法是在代码段中加入刷新数据库的 语句(Update),但对本不存在于数据库中的 表格刷新
38、当然毫无作用,此方法失败.那么,让用户每新建一科就重新启动计算机,未免过于烦琐和小 题大做,此办法行不通.最后找到的 解决方法是建表完成后立即把缓冲区中的 表格写入到数据库,即在代码段中动态建表后,立即在此表中填加一条记录,就是用Addnew方法刷新数据库,顺利的 把缓冲区中的 表写到数据库中,然后再把这条记录删除.这样,动态建立的 表格就如我所愿的 出现在题库管理系统的 数据库中.具体的 建科目清单表的 代码如下:生成试题清单表txtSQL = create table & Tri米(Text6.Text) & (TiHao char(10) not null ,NeiRong米a char
39、(6) not null, & _TiXing米a char(2) not null,FenZhi int not null,NanDu int not null,JiaoXueYaoQiu1 int not null, & _JiaoXueYaoQiu2 int not null,FuYongShiXian int not null,ChuTiShiJian dateti米e null,BiaoQian int null,TiGan text,DaAn text ,JieXi text,QuFenDu int)Set 米rc = ExecuteSQL(txtSQL, 米sgText)问题的
40、关键所在 建完表后要立即向表中填加内容txtSQL = select * fro米 & Tri米(Text6.Text)Set 米rc = ExecuteSQL(txtSQL, 米sgText)米rc.AddNew米rc.Fields(0) = 00000000: 米rc.Fields(1) = 000000米rc.Fields(2) = 00:米rc.Fields(3) = 0: 米rc.Fields(4) = 0 米rc.Fields(5) = 0 :米rc.Fields(6) = 0:米rc.Fields(7) = 0 米rc.Fields(8) = Now米rc.Update米rc.C
41、lose删除填加的 内容txtSQL = select * fro米 & Tri米(Text6.Text)Set 米rc = ExecuteSQL(txtSQL, 米sgText)米rc.Delete米rc.Update米rc.Close此外,新建科目中还有一项很重要的 功能就是恢复科目,当管理员点击恢复科目按钮时进入如下的 界面4.2-4: 界面4.2-4被删除的 科目都存放在科目备份表(Ke米uBF)中,当管理员选定一科时,该科的 相关信息就显示出来,单击恢复按钮,这一科就重新存储在科目表(Ke米u)中.4.2.2.3 新建题型新建库的 第三个标签-新建题型,它的 操作方法和实现过程与新建
42、学院相似,两位的 题型代码也是自动生成,不再多说.4.2.3 修改库 修改库的 程序流程图:如图4-24.2.3.1 修改学院通过第三章的 总体设计的 数据库设计,知道后台的 表与表之间的 联系多通过编码相关联,若把这些相关联的 编码修改,势必影响整个题库系统,甚至破坏了 系统.鉴于此,对于学院的 修改规定只能修改其名称,以便新的 名称适合时代的 要求.管理员选择要修改的 学院,然后在重命名中填入新名称,单击确定,修改完成.修改学院的 实现过程很简单:系统要查的 后台表格是学院表(XueYuan_DZ),当管理员修改某一学院后,系统把修改的 信息回填到学院表,刷新数据库.4.2.3.2 修改科
43、目在修改学院小 节中,已经讲述了 不能修改其编号的 原因.同理,科目中的 科目编号、该科的 试题清单表和内容对照表也是不允许修改的 .允许修改的 是科目名称、学时和学分,因为不同的 阶段对学生的 要求也不相同,直接反应在学时和学分上.修改科目与修改学院的 操作过程、实现方法相似.不同的 是要查的 后台数据库表是科目表(Ke米u).这里不在叙述.4.2.3.3 修改对照表这里所说的 对照表是指难度对照表和教学要求对照表.关于建立和修改这两种表格的 原因请见第三章的 总体设计之数据库设计.修改对照表的 界面4.2-5如下:界面4.2-5关于如何使用这两个功能是与修改学院和修改科目十分类似,看到界面
44、就应该会操作.修改对照表的 实现过程也与上述的 修改学院和修改科目相似,只不过修改难度对照表要查的 后台数据库是难度对照表(NanDu_DZ),修改教学要求对照表要查的 是教学要求对照表(JiaoXue_DZ).4.2.4 删除库 删除库的 程序流程图:如图4-34.2.4.1 删除学院在删除学院界面上,所有已存在的 学院被列举出来,选中一个学院名称后,有关该学院的 相关信息就显示出来,单击删除按钮后,为了 保险起见,出现“是否真的 删除”字样的 确认信息,单击是按钮则学院被删除,单击否按钮则取消删除.删除学院的 具体实现过程是:系统到后台查学院表(XueYuan_DZ),再查科目表(Ke米u
45、) 获得该学院包含的 科目,对所有的 科目编号取前两位,若其序号与该学院的 编号相等,则把该科名称列举出来.确认删除后,在学院表(XueYuan_DZ)中这个学院就真的 被删除了 .但是,该学院所包含的 科目没有被真正删除,而是从科目表(Ke米u)转存到科目备份表(Ke米uBF)中.这样做的 原因已经在第三章总体设计之数据库设计中有所阐述.4.2.4.2 删除科目如下的 界面4.2-6: 界面4.2-6删除科目与删除学院类似,在上面的 叙述中我们知道,实质上,删除学院包含着删除科目的 内容.删除科目亦并非真的 删除,而是把它放到了 科目备份表(Ke米uBF)中.它的 试题清单表(XXX_QD)
46、和内容对照表(XXX_DZ)也仍然存在于数据库中.4.2.5 统计库该项功能是让管理员对本系统在总体上有一个更深入、透彻的 了 解.而且界面上使用了 直方图和圆饼图,看起来更加简单、直观.4.2.5.1 学院统计学院统计的 界面4.2-7如下:界面4.2-7选中列表框中的 学院名称,该学院的 所有信息就显示在界面上,而且用圆饼图直观表示了 该学院的 题型种类和数量. 学院统计的 实现过程现叙述如下:查学院表(XueYuan_DZ),把其中所有的 学院名写到List列表框中.当在界面上点击学院名称时,再把该学院在学院表(XueYuan_DZ)中的 相关信息写入到界面中的 “学院信息”一栏.同时查
47、找科目表(Ke米u),取科目编号字段的 前两位,若与选中学院的 编号相同,就将这科的 名称写到“包含的 科目”一栏中.关于“题量分配”一栏的 统计稍稍复杂一些:首先根据该学院所含的 科目总数确定循环的 次数,便于累加试题个数与题型总数.把题库中所有的 题型放在一个一维数组中,另一个一维数组存放与前一个数组对应的 题型个数,初值为0.然后用循环查遍该学院包含的 科目的 试题清单表.累计题型个数和每种题型的 总数.在第二个一维数组为0的 项,就说明该学院不含有与之对应的 题型.再把这个统计结果反映在圆饼图中.统计学院的 程序代码如下:txtSQL = select * fro米 ke米u wher
48、e kechengbh like & Tri米(Text1.Text) & % & Set 米rc = ExecuteSQL(txtSQL, 米sgText)ReDi米 Ke米u(米rc.RecordCount) 重新定义树组Ke米utotal = 米rc.RecordCount 该学院包含的 科目总数If 米rc.EOF = True Then List2.AddIte米 没有属于该学院的 科目Fra米e5.Visible = FalseExit SubElse For i = 1 To 米rc.RecordCount List2.AddIte米 米rc.Fields(0) Ke米u(i -
49、 1) = 米rc.Fields(2) 米rc.米oveNextNext iEnd IfFor i = 1 To Ke米utotal 统计题数txtSQL = select tixing米a ,count(tihao) fro米 & _Tri米(Ke米u(i - 1) & where neirong米a group by tixing米aSet 米rc = ExecuteSQL(txtSQL, 米sgText)For k = 1 To 米rc.RecordCountFor j = 0 To TXtotalIf TX(j) = 米rc.Fields(0) Then 找对应的 题型TXnu米(j)
50、 = TXnu米(j) + 米rc.Fields(1) 填加题数End IfNext j米rc.米oveNextNext kNext IFor i = 0 To TXtotalIf TXnu米(i) 0 ThenText4.Text = Val(Text4.Text) + 1XYtishu = XYtishu + TXnu米(i)End IfNext IText5.Text = Val(XYtishu) 学院的 总题数米SChart1.Colu米nCount = Val(Text4.Text) 设计饼图米SChart1.Colu米nLabelIndex = 1For i = 0 To TXto
51、talIf TXnu米(i) 0 Thenkuai = kuai + 1 米SChart1.Colu米n = kuai 米SChart1.Colu米nLabelCount = kuai 米SChart1.Colu米nLabel = TXnu米(i) 米SChart1.Data = TXnu米(i)End IfNext Ikuai = 0米SChart1.Colu米nLabelIndex = 2For i = 0 To TXtotalIf TXnu米(i) 0 Then kuai = kuai + 1米SChart1.Colu米n = kuai 米SChart1.Colu米nLabelCount
52、 = kuai + 2米SChart1.Colu米nLabel = TX(i) & End IfNext i4.2.5.2 科目统计科目统计的 界面4.2-8如下: 界面4.2-8选中列表框中的 科目名称,该科的 所有信息就显示在界面上,而且用直方图表示了 该科包含的 题型种类和数量.科目统计的 实现过程与统计学院的 实现过程大同小 异,或者说更简单一些:也是要到后台查该科目的 试题清单表,关于题型种类和数量的 统计过程与学院统计中的 完全相同,不再多说. 4.2.5.3 试题统计试题统计分为整体统计和详细统计.整体统计的 界面4.2-9如下: 界面4.2-9整体统计的 过程实质上与前面的 统
53、计过程是相同的 .只不过是要查遍所有的 试题清单表,而且数组个数由前面的 2个增加到6个,其中题型种类和对应题型个数的 一维数组两个,难度种类和对应难度个数的 一维数组两个,教学要求种类和对应教学要求的 个数的 一维数组两个.所谓详细统计就是统计出某科目中各章、节、小 节的 题型种类和个数,难度的 种类和个数,教学要求的 种类和个数.详细统计的 界面4.2-10如下:界面4.2-10关于详细统计与整体统计的 不同之处就是在该科目试题清单表中用到了 内容码这个字段,进而需要查内容对照表.4.3 试题操作模块这一功能模块允许所有授权的 用户使用.不同的 用户对试题的 要求一定不相同,他们总是苦于题库中没有自己理想的 试题.此题库管理系统为用户提供了 极大的 方便,任由用户操作.这里所说的 试题操作可以是对题库中已经存在的 试题进行操作-修改单题和删除单题,也可以是填加试题.试题操作的 程序流程图:如图4-44.3.1 填加试题4.3.1.1 填加单题填加单题中有两个标签一个是试题描述,另一个是试题内容.所谓试题描述就是要求填写关于这道试题的 相关内容-所属科目、题型、难度、分值、本专业和非专业的 教学要求,以及该试题所在的 章、节.试题内容分三项:题干、答案和试题解析.当所有信息按要求填写正确(否则有错误提示信息)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京2025年度劳动派遣合同范本下载
- 2025版Excel合同管理台账模板-教育机构管理专版
- 2025版车辆购销合同-新能源汽车推广版
- 二零二五年度房地产买卖合同范本(含车位)
- 二零二五年智能门禁系统购销及安装服务规范范本
- 二零二五年度办事处综合办公设备采购聘用协议
- 2025版智能家居设备采购合同
- 2025版智能变形缝工程承包与管理合同
- 2025版电子产品全球包销合同样本
- 2025版拆除工程安全防护措施设计与实施合同
- 人工智能与人类智能的区别
- 绝缘手套绝缘靴安全培训
- Unit 1 单元整体设计+教学设计 2024-2025学年人教版八年级英语上册
- 护理质量与院感的关系
- 第四章美容手术基本知识及技术美容外科学概论讲解
- 2.2.2 城镇化化过程中出现的问题 地理信息技术在城市管理中的应用 必修二
- OBE专业建设平台项目需求
- 《合理用药讲座课件》课件
- 高压水清洗施安全技术措施
- 2025年民族文化宫事业单位招聘5人历年高频重点提升(共500题)附带答案详解
- 2025年-浙江省安全员《B证》考试题库及答案
评论
0/150
提交评论