资源目录
压缩包内文档预览:(预览前20页/共75页)
编号:58744506
类型:共享资源
大小:7.48MB
格式:RAR
上传时间:2020-03-17
上传人:qq77****057
认证信息
个人认证
李**(实名认证)
江苏
IP属地:江苏
7.2
积分
- 关 键 词:
-
VB101
试题库
系统
- 资源描述:
-
VB101试题库系统,VB101,试题库,系统
- 内容简介:
-
大学毕业设计(论文)任务书院(系): 班级: 学生姓名: 毕业设计(论文)题目:通用题库管理系统毕业设计(论文)内容:论文中首先介绍了开发本系统的目的和意义;其次是系统的需求分析,系统的总体设计和系统的详细设计;最后是结论、及对老师和同学的致谢词、部分参考文献以及专业英语翻译。毕业设计(论文)专题部分:用户模块,系统维护模块,试题模块指导教师签字 年 月 日教研室主任签字 年 月 日院长(系主任)签字 年 月 日鞍山科技大学计算机科学与工程学院2003届毕业设计指导书指导教师王丽君学生姓名李向华题目名称通用题库管理系统目的要求1、熟悉SQL Server 2000数据库编程方法2、熟练进行VB6.0数据库编程具体内容利用VB6.0和SQL Server 2000进行系统开发,实现题库管理。系统包括登陆模块、试卷操作模块、试题操作模块系统维护模块和帮助模块。步骤方法1、安装调试SQL Server 2000数据库2、建立数据库3、熟悉VB6.0编程4、系统需求分析及设计5、详细编码、调试6、系统测试进度安排1、查阅相关资料熟悉系统环境2、系统需求分析、总体设计3、建立后台数据库4、基本信息管理模块5、系统管理模块6、系统总体调试技术资料数据库系统概论Visual Basic 6.0 数据库程序设计软件工程导论参考文献Visual Basic 6.0 高级编程技巧Visual Basic 面向对象与可视化程序设计 计算机科学与工程学院院长意见:大学计算机科学与工程学院2003届毕业设计工作计划指导教师学生姓名李向华题目名称通用题库管理系统时间具体工作内容完成情况三月上旬查阅相关资料熟悉系统环境按时完成下旬系统需求分析、总体设计按时完成四月上旬建立后台数据库按时完成下旬基本信息管理模块按时完成五月上旬系统管理模块按时完成下旬系统总体调试按时完成六月上旬撰写毕业论文按时完成下旬毕业答辩指导教师是否同意该学生参加答辩: 同意 不同意 计算机科学与工程学院院长意见:鞍山科技大学毕业设计说明书通 用 题 库 管 理 系 统摘 要通用题库管理系统是为了适应学校考试制度的改革而设计的,它能够使教考分离,减轻教师工作压力,提高试卷生成效率。本文首先分析了当前试题库系统开发中所存在的问题,由此提出了自己的试题库管理系统的思想。本文共分四章,着重阐述了该系统的设计原则、功能实现以及系统研制过程中遇到的难题和必须解决的关键技术等问题;而且通过介绍题库的建立及各个模块的具体功能,阐述了本系统的实用性。本系统前台是面向对象的可视化编程工具Visual Basic,后台是 SQL Server 2000数据库。文中介绍了VB和SQL的功能、特点,还着重说明了该系统的特色,例如:在试题操作模块允许教师加题、改题和删题,其中的批量自动加题给老师们带来了极大的方便。由于毕业设计的时间有限,所以此试题库管理系统中还有许多有待完善的地方,在设计的过程中已经留下了可扩展的空间,而且在文中最后,说明了需完善之处的实现方法。关键词:试题库管理系统,实用性,关键技术,功能模块,WordThe General Management System of Test Question-bankAbstractThe general management system of test question-bank is designed in order to be suitable for some schools reforms . It can separate teaching from examining, release the pressure of teachers and improve the forming rate of the paper. At the beginning the article analyzed the problems which are in the development of the presently-used test question-bank systems. So I put forward my own thought to the management system of test question-bank. The article is divided into four chapters. Moreover, the article expounds the principle of the system designing , implementation of the system, the key techniques and so on. Furthermore, the utility of the management system of test question-bank is expressed in this article by the establishment of the test question-bank and the functions of all modules.The foreground of the system is object-oriented tools-Visual Basic and the background is SQL Server 2000.The function and feature of VB and SQL are introduced in the article. Whats more, the article also describes the feature of the system, for example: The teachers can add, modify, delete questions in the questions operation module, especially the adding question automatically in batch offers the convenience to teachers too much. Because of the limited time, the management system of test question-bank has still some aspects to be perfected. But the writer has kept the space to extend them. In addition, the method to implement those aspects is illustrated at the last of the article.Keywords: the management system of test question-bank, utility, key techniques, functional module, Word . III 目 录摘要-IAbstract-绪论-11环境-52需求分析-72.1调查分析-72.1.1 用户的需要-72.2 调查分析的结果-82.2.1 “检索浏览”功能及应用-92.2.2 “系统维护”功能及应用-92.2.3 “试题操作”功能及应用-93 总体设计-103.1系统的功能模块图-103.2 系统功能描述-103.2.1 试题操作模块-103.2.2 系统维护模块-103.2.3用户模块-103.3 数据库设计-124 详细设计-184.1 用户模块-184.1.1 修改密码-184.1.2 退出系统-184.2 系统维护模块-184.2.1 用户管理-184.2.2 新建库-214.2.3 修改库-264.2.4 删除库 -294.2.5 统计库-324.3 试题操作模块-364.3.1 填加试题-374.4.2 修改试题-414.4.3 删除试题-46结论-49致谢-50参考文献-51附录-52 英文原文-52 中文译文-67大学 论文题目 通用题库管理系统指导教师 计 功能模块 登录用户试卷操作试题操作系统维护帮助文件 系统主界面 致谢 用户 修改密码用户成功登录系统后 可在这一项中修改密码 退出系统整个系统的出口即为此 试题操作 填加试题修改试题删除试题 填加试题 填加单题只要用户按照操作规程 输入该试题必需的指标 即可填加 批量加题 文件读取的实现 在这一功能中用户可以有两种选择 一是手工批量加题 用户可以更加了解试题入库的格式 二是自动批量加题 用户可以把试题存放在文本文件中由系统自动录入 文件读取实现过程 批量加题的实现过程就是读文件 用到的VB对文件的处理 本系统用的是FSO编程 在VB中调用FileSystemObject对象时需要引用MicrosoftScriptingRuntime 其关键的语句如下 DimfsoAsNewFileSystemObjectDimtxtfileAsFileDimtsAsTextStreamSettxtfile fso GetFile Dir1 Path File1 filename Setts txtfile OpenAsTextStream ForReading 不断的调用Ts readline读一行 进行分析文件 修改试题 修改试题不仅具有修改的功能 还有浏览题库的功能 在修改试题前 首先要检索出所要修改的试题 然后修改 这里检索分为精确检索和模糊检索 删除试题 删除试题同样也具有浏览题库的功能 用户首先利用精确检索或模糊检索 选出要删除的试题 然后按要求删之 致谢 首先我要感谢我的指导老师 王丽君老师的辅导 王老师开拓性的工作作风和科学的思维方法都使我受益非浅 感谢张学东院长 迟呈英副院长 曾子维等老师在做毕业设计期间给予的建议和帮助 最后向评审本论文 参加论文答辩的各位老师表示最衷心的感谢 系统维护 只有系统管理员可以进入此功能模块 对用户进行管理 对题库进行维护用户管理新建题库修改题库删除题库统计题库 修改题库 修改学院只允许修改其名称与学院描述 修改科目允许修改科目名 学分 学时和科目描述 修改对照表难度对照表和教学要求对照表中的系数是可以根据实际情况修改的 新建题库 新建学院管理员可以创建与以往学院名称不同的学院 其编号系统自动生成 新建科目 动态建表的实现 新建一科目后 系统自动为其编号 且动态生成它的试题清单表和内容对照表 而且 还可以恢复已删的科目 新建题型与新建学院相似 动态建表的功能实现 生成试题清单表TxtSQL createtable Setmrc ExecuteSQL txtSQL MsgText 问题的关键所在建完表后要立即向表中填加内容txtSQL select fromXXX QD Setmrc ExecuteSQL txtSQL MsgText mrc AddNew向字段中填加一条内容mrc Updatemrc Close 删除填加的内容txtSQL select fromXXX QD Setmrc ExecuteSQL txtSQL MsgText mrc Deletemrc Updatemrc Close 删除题库 删除学院当某一学院被删除时 该学院的所属科目被保留 删除科目删除的科目没有真的删除 需要时可以恢复 用户管理 批准新用户注册成功后的申请用户的信息 管理员在此可以看到 然后决定是否批准 删除用户管理员可以根据用户的工作地点变动或其他原因 将其删除 历史记录管理员能够监控所有用户登录后的行为 如果漏题或题库遭到破坏 可以据此找出责任人 统计题库 统计学院能够统计出该学院的科目总数 试题总数 题型总数 统计科目统计出该科的试题总数 题型总数和百分比 难度百分比以及教学要求百分比 统计试题此处分为整体统计和详细统计 结束语 由于设计时间有限 本系统并未达到完全的 通用 还有许多需要填加和完善的地方 但本系统已经适用一些院系的考试要求 绪论21世纪是知识不断涌现,科技不断创新的时代,对人才的要求越来越高。进行素质教育,提高人才质量,是时代对教育界提出的迫切要求。为适应教学发展要求,教育界不断调整教学内容,改革教学模式,考试制度和形式的改革也在同步进行,试题库管理系统顺应这一趋势应运而生。试题库管理系统的兴起运用电脑进行试题管理是电脑辅助测试(Computer -Assisted Testing)即CAT中首要项目,最早运用这项技术的是1968年IBM公司和美国洛杉矶学区共同开发的一个CTSS(Classroom Teacher Supporting System),CTSS系统最初管理一个美国历史题库,其中贮存有800门题目,能为中学教师生成测验、家庭作业、课堂讨论题以及课外辅导材料等,CTSS采用批量处理方式,先由教师填写申请单,标明所需题目的数量,类别及有关属性,经光电扫描机输入电脑,CTSS即能自动选取题目,复印所需的份数,还能自动输入答案单、核对答案和评分等。后来,加利福尼亚州开发了一个称为SOCRATEB CATC系统,它是在SOCRATES情报检索网络上实现的一个电脑辅助测验编制(Computer Assisted Test Construction,简称 CATC系统)专为加利福尼亚州19个州立大学中的1.6万名教师和29万学生服务,该系统拥有11个题目库,大的试题库装有万个以上的试题,如美国历史题目库,小的题目库也有数百道题目,如心理学题目库。它们能自动编制出各种测验,如自我测验、定位测验、诊断性练习、学期测验和综合测验等。这些测验和练习可通过分时终端交互产生,也可通过批量方式产生。试题库管理系统在我国的发展目前,大多数高等院校的考试仍采用任课教师(个人或集体)考前出题的方式,为了解决学生压题、考前漏题、补(缓)考试题与正式考试试题量及难度差异问题,教务管理部门通常要求教师同时出多套试卷,其题量与难度要求相同,并且要同时给出答案和评分标准。这样虽能解决一些问题,但给教师增加了很大的工作负担。若上下界学生的同一门课程由同一教师承担,则难免几界学生用相同几套试卷;若由不同教师任课出题,则上下届学生的成绩之间又不具有可比性。若建立题库,每次考试前由题库中题目随机生成试卷,则可以较好地解决考教分离的问题,也可以将广大教师从每学期末繁重的命题工作中解放出来。在我国虽然计算机参与教学管理已经有比较长的时间,但由于受到硬件设备性能和软件制作水平的限制,在过去的一段时间中,利用计算机现代化管理试题的技术只为少数对计算机程序精通的人士所掌握,广大的教育工作者仍然处在手工操作的低水平上运作,程不外乎于先把试题被抄写卡片纸上,再分别放置于不同的试题柜中,不仅复制极其困难,而且更新、查找也十分麻烦,效率极其低下。今日,硬件设备性能和软件制作水平的提高,为研制开发高性能的试题管理软件提供了条件。不少软件开发者看到了教育工作者在这一领域的困境,相继推出了一批与试题管理有关的操作软件,其中不乏非常出色的作品。但是从试题管理这一方面来看,用户反应平淡,感觉中意的不多。本题库管理系统是在C/S模型思想的指导下进行设计的,最终目标是使本系统能够在网上运行。最简单的C/S体系结构的数据库应用,由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,称为应用服务器,一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户程序运行在用户自己的电脑上,对应于服务器电脑,可称为客户电脑。当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果。在典型的C/S数据库应用中,数据的储存管理功能,是由服务器程序独立进行的,并且通常把那些不同的(不管是已知还是未知的)前台应用所不能违反的规则,在服务器程序中集中实现,例如访问者的权限,编号不准重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)这背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序可以变的非常“瘦小”,麻烦的事情,都交给了服务器和网络。在C/S体系的下,数据库真正变成了公共、专业化的仓库,受到独立的专门管理。电脑应用的开发,是一个逐步完善的过程,以目前的技术看,先建立C/S结构的局域网络应用,再向Internet/Intranet模式下数据库应用过渡,是比较现实,相对易于把握、成本较低的。即使是一次到位的开发,对于类似的环境和小型的应用而言,要想实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,并有效地保证和管理数据的安全性、访问权限、完整性,采用C/S架构和支持C/S架构的数据平台,是必然选择。从运行上来看,同样设计良好的系统,C/S结构引入了更多的“衔接”环节,这意味着故障的机会和资源的耗费,然而,一旦系统处于开放的网络与应用环境中,这些开销就变成是必须的。对于具备良好的规划能力的开发者而言,C/S结构给予规划者更大的空间和更强的支持,易于实现不同应用间的合理分离,分别调试和投入应用。前台应用和后台数据库的开发,被“强制”地分开;数据库部分的逻辑与规则,一经调试完成,就可以在将来的应用中一直保证下去;在一个动态改进或逐步扩充的开发环境,或复杂的应用环境中,这些都是提高系统可靠性有利因素。对基于文件服务器的系统而言,每次增加或修改功能,通常都意味着整个系统的升级,前后台的一体化,也就意味着每次变更都有更大的可能性造成对原有规则的破坏,并引起连锁效应。以目前的技术环境而言,在C/S结构下,有更多成熟的,适合不同规模应用的开发平台与数据库平台可供选择,并普遍遵循或采用SQL等标准或技术,相对较具开放性,有更多的技术支持、开发与维护人员的来源,并且基于技术与行业发展的趋势,将来也会有更多的发展和保障。1环境本系统的开发环境是基于Windows 2000的中文操作系统,采用面向对象的编程工具Visual Basic 6.0(以下简称VB),后台数据库是SQL Server 2000。考虑到本系统属于小型数据库系统,并且不会有很大的数据量访问,笔者决定采取本地数据库访问和编程方法,以达到对数据库快速方便地访问。Visual Basic 6.0是专门为Microsoft的32位操作系统设计的,可用来建立32位的应用程序。在Windows 9X 或 Windows NT 环境下,用Visual Basic 6.0的编译器可以自动生成32位应用程序。这样的应用程序在32位操作系统下运行,速度更快,更安全,并且更适合在多任务环境下运行。Visual Basic 是一种可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用语开发Windows 环境下的各类应用程序。它具有如下特点:1 可视化编程2 面向对象的程序设计3 结构化程序设计语言4 事件驱动编程机制5 访问数据库6 动态数据交换7 对象的链接与嵌入8 动态链接库 在试题库管理系统中,用VB编程可以方便的实现对试题库的基本操作,如建库、增删记录、浏览和打印等。SQL 是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询。SQL 是一个通用的、功能极强的关系数据库语言。SQL 语言集数据查询、数据操纵、数据定义和数据控制功能于一体,主要特点如下:1 综合统一2 高度非过程化3 面向集合的操作方式4 以同一种语法结构提供两种使用方式5 语言简洁,易学易用。2需求分析 我的毕业设计题目是试题库管理系统,经过两周的理论知识学习和实地调查,我渐渐的了解到用户对题库管理系统的要求。2.1调查分析经过调查分析,我逐步了解到老师最需要的题库系统应该具有的功能:在试题管理方面,老师最需要的是对试题管理的自主性,具体表现在以下三个方面:1)自主初始化试题库;2)自主维护试题库;3)自主调用试题库。2.1.1 用户的需要1.自主初始化试题库:即用户拥有创建新题库的权力,用户能够根据自己的需要,设计试题的储存方案以及试题的属性名和各属性值,实现试题库用户个性化设计,让试题库真正成为用户自己的试题库。现在已经推出的几乎所的试题管理软件都不具备这样的功能,用户所使用的试题库都是程序制作者预先设计好的,对于试题的分类方案用户无权修改。由于学校自身之间的差异,比如小学和初中、初中和高中、高中和大学,试题分类的要求不一样,学校性质的不同,比如重点学校和一般学校、普通中学和职业中学等;考试性质不相同,比如阶段性考试、期中期末考试、会考、高考;还有地区上的差异,比如教育发达地区和教育发展中地区、上海、广东和江苏等等,相同的学科试题分类的要求也不一样。因此用相同的分类方法,用户无法修改的试题分类方案,会给用户的使用带来极大的不便。用户不喜欢这一种不能自主控制的试题分类方案,用户希望自主地初始化试题库。2自主维护试题库:即用户具有添加、修改和删除试题的权力,实现试题库的可扩充性和开放性,使用户对题库具有至高无上的支配权。现在已经推出的几乎所的试题管理软件都不具备这样的功能,用户所使用的试题被程序制作者预先写在某个文件中,这些文件不是隐藏得让用户难以找到就是经过加密处理,用户根本就不可能通过其它方式(比如Word、Access、WPS等)打开并看到它,更谈不上对它的扩充、修改和对某个试题的删除了。由于用户没有自主维护试题库的权力,新试题无法录入,陈旧试题无法删除,这样的试题库在较短的时间内就逐渐老化、失去活力。用户需要自主地维护试题库,希望及时地更新试题库。3自主调用试题库:即允许用户能自由地从试题库中抽取试题。现在已经推出的几乎所的试题管理软件都不完全具备这样的功能,不是向用户提供成套的试题,就是智能组卷。其实只有极其懒惰的用户才依赖智能组卷来出题,一个稍有责任心的老师肯定不会用智能组卷生成的试卷直接去考查学生。因此手工去搜索试题是实用的可行的,智能组卷只是个招牌,中看不中用,是产品广告用语。用户不是去参加制卷大赛,用不着急着要在几分钟内制出一份试卷。一份高质量的试题,需要教师反复地推敲、比较和琢磨,用户需要的是像逛超市一样的心情,能方便地把看中试题取出来,还可以把不需要的试题退回去。某些试题管理软件不仅不支持试题库中试题的修改,而且生成的试卷也不允许修改,连加一个空格,修改字体都无法实现,试卷保存后不能为其它系统(比如Word、WPS等)识别,只能从打印机上输出,这种方案没有多少实用性。 2.2 调查分析的结果 了解到上述情况,对我的题库功能有了初步想法:2.2.1 “检索浏览”功能及应用目前国内试题库软件,无法浏览全库的试题。而用户急切需要看到题库中装了些什么试题。所以,有的用户想方设法把试题库打开,然后用很长时间把试题打印出来。厚厚的几大本,浏览起来也并不方便。我由电子读物的“检索浏览”得到启示,试题库也是一本试题电子书。我增加了“检索浏览”功能。用户如果需要调看某科目(如C语言)、某题型(如填空题)、 某章(如第一章)、甚至某节、某小节的题目,则利用“修改试题”、“删除试题”、“手工组卷”功能,通过设置某科目(如C语言)、某题型(如填空题)或某章(如第一章),单击按钮,此类试题即会一一显现在屏上(屏中不仅显示题干、答案和解析,而且显示有关试题的指标)。2.2.2 “系统维护”功能及应用 事物都是在不断的发展变化的,随着时间的推移,必定有新兴事物和衰亡事物,题库管理系统也同样道理,所以系统维护就显得十分重要。如果我们不对用户的访问权限加以限制,势必会对系统的安全极为不利。所以,我的题库管理系统只有以“管理员”身份登录的,才可以访问“系统维护”功能。由管理员来新建库、修改库、删除库以及对用户的管理。2.2.3 “试题操作”功能及应用从以上的调查分析中,知道自主性是用户最大的需要,因而,试题库管理系统应该具备加题、改题、删题,充分调动用户的积极性和主动性。这也保证了题库中的试题总是最新的、最适合学生的,“愈用愈新”是本题库的特点之一。3总 体 设 计 软件需求确定之后,就进入了开发阶段。开发阶段由三个关联的步骤组成:设计(总体设计和概要设计),实现(编码)和测试。本章将描述开发阶段的第一步:软件设计中的概要设计,又称为总体方案设计。总体设计过程通常有两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。3.1系统的功能模块图本系统共有五个模块,系统总功能模块如图3-13.2 系统功能描述3.2.1试题操作模块此模块对所有级别的用户开放,试题操作包括填加试题、修改试题、删除试题,填加试题中又分为填加单题和批量加题。这一模块给用户极大的自主性,使该题库常用常新。3.2.2系统维护模块这一模块只有系统管理员可以进入,而普通用户无权查看。它包括五项基本功能:1、用户管理批准新用户、删除用户、历史记录2、新建库新建学院、新建科目、新建题型3、修改库修改学院、修改科目、修改对照表,4、删除库删除学院,删除科目,5、统计库学院统计、科目统计、试题统计。3.2.3 用户模块 这一模块包含修改密码和退出系统两项,用户成功登录后,可以修改其密码,通过退出系统选项可退出整个系统。3.3 数据库设计本题库管理系统使用的后台数据库是 SQL Server 2000,关于这个数据库的特点和功能在第一章已经有所介绍,这里不在赘述。本系统后台表格的绝大多数字段以存储编码为主,这样便于对数据库的操作。具体的表格设立如下:1、用户表(YongHu) 任何系统都有其服务群,必须对它的使用者进行管理。本系统的用户表的主要作用是便于题库的管理,规定用户权限。这个表格中存储所有用户的信息,包括普通用户、系统管理员和注册成功后等待批准的用户信息。权限字段中用用户、管理员、申请用户(申请管理员)来区分他们。用户名字段是唯一的,不允许重复。字段名 字段类型 字段长度 是否可为空用户名 Char 10 否真实姓名 Char 10 否密码 Char 10 否权限 Char 10 否性别 Char 4 否身份证号 Char 20 否电话 Char 15 否住址 Text 16 否邮编 Char 7 否E-mail Text 16 是注册时间 Date 8 是备注 Text 16 是2、用户登记表(YHDengJi) 建此表的目的是管理登录用户信息,记录下对题库进行加题、改题、删题、组卷操作之人的真实姓名,以便更好的维护题库的安全。如果题库遭到破坏或试题泄密,能够找到责任人。 字段名 字段类型 字段长度 是否可为空用户真名 Char 10否登录时间 Date 8否是否加题 Int 4否是否改题 Int 4否是否删题 Int 4否是否组卷 Int 4否3、科目表(KeMu) 这个表格中存储题库中所有科目的相关信息,科目编号字段不允许重复,科目编号共6位,它的生成原则是前2位是所属学院的编号(01-99),第3位是开课的学期(1-8),第4位是区分基础课(0)还是专业课(1),后2位是按创建的先后顺序生成课程序号 (01-99)。每新建一科目,系统就会动态生成该科的试题清单表和内容对照表。 字段名 字段类型 字段长度是否可为空科目名Varchar50否科目编号Char6否课程清单表Char50否学分Float8否学时Smallint2否课程描述Text16是建立人Char10否建立时间Date8否4、试题清单表(XXX_QD) 此表格一科一个,存储该科试题的相关内容,题号字段不允许重复,共10位。题号的生成原则:前6位是试题所属科目的编号,后四位是试题的序号(0001-9999)。内容码字段由6位组成,它的生成原则是前2位是试题所属的章(如第一章则是01),中间2位是试题所属的节(如第三节是03),后2位是试题所属的小节(如第五小节是05)。如果是跨章试题,则选出权重较大的一章来生成前2位,如果是跨节或是跨小节的试题,用*来代替它的编码。例如第三章的试题的内容码是03*,第一章第二节的试题的内容码是0102*。如果要删除某道试题,则该试题的内容码为空,以便填加试题时,把新试题加到此位置。教学要求1和教学要求2分别指本专业要求和非专业要求。分值只是一个参考,用户在组卷时通过指标的设定可以更改。标签是用来在组卷过程中标记该道试题是否被选中(0没选中,1选中)。 字段名 字段类型 字段长度 是否可为空题号Char10否内容码Char6是题型码Char2否分值Int4否难度Int4否教学要求1Int4否教学要求2Int4否复用时限Int4否出题时间Date8是标签Int4是题干Text16是答案Text16是试题解析Text16是5、内容对照表(XXX_DZ) 内容对照表也是一科一个,该表起到了书本目录的作用,内容描述是用语言描述的章节标题,内容码的定义原则已经讲过,不再多说。 字段名字段类型 字段长度是否可为空内容描述Char500否内容码Char6否在删除库的删除科目功能中,不应把要删除的科目真正删除,因为可能其他学院用到该科,所以建立一个科目备份表(KeMuBF),当需要恢复时,把其由科目备份表(KeMuBF)中再写回到科目表(KeMu)中。这样避免了重新建表,减轻了数据库的负担。而且,若真的删除之,那么该科的所有试题也必须删除,这样做过于复杂,不可行。科目备份表(KeMuBF)的字段内容与科目表(KeMu)中的字段内容相同。另外,还有一些起到数据字典作用,供查找对照之用的表格,它们的具体内容如下:6、学院对照表(XueYuan_DZ) 学院编号是唯一的,按创建的先后顺序生成两位序号(01-99)。 字段名 字段类型 字段长度是否可为空学院名Varchar50否学院编号Varchar2否建立人Char10否建立时间Date8否学院描述Text16是7、题型对照表(TiXing_DZ) 题型编号不允许重复,按创建的先后顺序生成两位编码(01-99) 字段名 字段类型 字段长度 是否可为空题型名Varchar50否题型编号Varchar2否建立人Char10否建立时间Date8否题型描述Text16是为了能在生成试卷时方便的选取题目,必须对题库中的试题提供必要的字段信息,分析大多数课程的试题可知,试题的难度和教学要求是比不可少的。难度系数和教学要求系数并非完全准确,系统管理员可以根据实际情况对其修改。8、难度对照表(NanDu_DZ) 字段名 字段类型 字段长度 是否可为空难度名Char10否难度系数Int4否难度描述Text16是9、教学要求对照表(JiaoXue_DZ) 字段名 字段类型 字段长度 是否可为空教学要求名Char10否系数Char10否教学要求描述Char10是4详细设计详细设计的阶段的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该得出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某种程序设计语言书写的程序。4.1 用户模块4.1.1修改密码用户登录系统后,可以随意的更改个人密码。它的实现方法是:系统检索后台的数据库用户表(YongHu),根据用户登录时的用户名,把修改后的密码回填到相应的字段,覆盖从前的密码,刷新数据库。4.1.2 退出系统 整个系统的出口就在此选项。4.2 系统维护模块 把用户区分为普通用户和系统管理员,自然他们的访问权限不同。普通用户可以进入除系统维护的所有功能区,在这些区域进行操作,而管理员可以进入所有的功能区,进行所有的操作,并且可以对所有用户进行管理。4.2.1 用户管理用户管理分为批准新用户、删除用户和历史记录。界面4.2-1如下图所示: 界面4.2-1在批准新用户标签中,新注册的用户信息都会在表格中显示出来,选中要批准的用户(一个或者多个),然后单击批准按钮,这些用户便成为正式用户,然后弹出批准成功字样的提示信息。在任何单位内,必定都有人员的变动,比如调职、退休等,还可能有管理员不愿批准的注册用户。所以,系统必须有删除用户的功能,避免了数据库的冗余、杂乱,便于管理系统。打开删除用户的标签,所有的用户包括普通用户、系统管理员和注册成功没有被批准的用户都会显示在表格中。它的操作过程与批准用户的操作过程相似。历史记录这一项的作用是记录下用户的登录信息,让管理员知道用户登录后的行为,便于系统维护,保障题库的安全。如果题库遭到破坏或是试题泄密,通过这一功能可以找出责任人。用户管理功能的实现过程是:在单击用户管理时,查后台数据库用户表(YongHu),将所需内容回填到界面相应处。为了让注册用户在登录界面看到批准信息,并且能够顺利访问本系统。特做如下处理:当管理员成功批准用户后,在用户表(YongHu)中,不立刻把他们的权限改为用户(管理员),而改为准用户(准管理员),刷新数据库。把用户表(YongHu)中权限为准用户(准管理员)的用户名滚动出现在登录界面的批准用户名单提示板上。如果新用户看到了被批准的提示语,此用户成功登录后,就把表中权限字段相应的改写为用户(管理员),刷新数据库。当单击删除按钮时,到用户表(YongHu)中,找到与要删除用户的用户名一致的用户信息,然后从表中把其清除,刷新数据库,实现删除用户功能。其代码如下:txtSQL = select * from YongHu Set mrc = ExecuteSQL(txtSQL, MsgText)For i = 1 To ListView2.ListItems.Count If ListView2.ListItems(i).Checked = True Then A = TrueWhile Trim(mrc.Fields(0) ListView2.ListItems(i).Text mrc.MoveNextWend YongHu(yh) = i 记录第几个被删 yh = yh + 1 mrc.Delete mrc.Update mrc.MoveNext End IfNext iFor i = yh To 1 Step 1 从后向前删除ListView2.ListItems.Remove (YongHu(i - 1)Next i历史记录这一功能的实现描述:当有用户登录时,系统查用户表(YongHu),把其真实姓名和登录时间回填到用户登记表(YHDengJi)中,同时把表中其他字段赋值为0。将用户登记表的记录集(mrc)指向该表的最后一条记录,然后把mrc的BookMark属性赋给一全局变量(varbookmark)。当这位用户对试题进行填、删、改或是组卷时,用varbookmark找到该用户在用户登记表中的位置,然后把相应字段再改为1。使用BookMark属性的目的是给网上操作留下扩展的空间,即有多人同时登录系统时,可分配多个BookMark,分别指向不同的记录。4.2.2 新建库新建库的程序流程图如图4-1,界面4.2-2如下图所示:界面4.2- 新建学院新建库的第一个标签是新建学院,管理员可以查看已存在的学院名,并根据此建与之不同的学院名称,两位的学院代码自动生成。实现过程如下:系统到后台查学院表(XueYuan_DZ),把已存在的学院名称列举出来供用户参考,且记录下学院的总数。当用户输入一个符合要求的学院名称,按顺序为其编号即在原来总数的基础上加1。把新的学院名和学院编号写入到学院表(XueYuan_DZ),刷新数据库。 新建科目填写新建科目的信息,其中“课程编号”和“数据库中试题清单表名”系统自动生成。单击建立课程按钮,系统同时为其生成试题清单表和内容对照表且生成名称。单击下一步进入如下的界面4.2-3:界面4.2-3这一界面的主要功能是填写该科的内容对照表,关于内容对照表的作用及含义已在总体设计中有所阐述,这里不在叙述。当填写完该门课程的内容对照树后,单击写入内容对照表,至此,新建科目成功。需要说明的是填写内容对照树的时候要按顺序填写,即只有填写完第一章的标题,才可以填写第一节的标题,再填加小节的标题,然后是第二节的标题。若无内容,则省略之。然后再填加第二章的标题,依次类推。建立过程中,不可以在对照树中向已填加的内容之间再插入内容,否则出现错误提示信息。 新建科目的具体实现过程与方法:当用户输入符合要求的科目信息,单击建立课程按钮时,系统到后台查科目表(KeMu),按课程编号的生成原则(见第三章总体设计中的数据库设计)为该科生成编号,将用户填写的信息填写到科目表(KeMu)中。同时要动态生成试题清单表(XXX_QD)和内容对照表(XXX_DZ)。在动态建表过程中,我遇到了问题,开始时我按照SQL语言的语法规则(create table 关键字)依照事先想好的字段内容来创建(见第三章总体设计 数据库设计)表格。我没有立刻对动态创建的表格进行操作,而是根据程序的需要查相关表的内容,再把这个相关表的内容填写到建好的动态表中。比如说:某用户新建了C语言一科,在科目表(KeMu)中已填入了C语言的有关信息(例如课程编码),然后在界面弹出的提示信息板中也有试题清单表和内容对照表创建成功的字样。当用户要填加该科试题时,系统要做的工作就是到后台查科目表(KeMu),把要用到的信息(例如课程编号)填写到C语言的试题清单表中,结果程序运行出错,提示不存在该科的试题清单表。经过反复试验和认真思索得到的结论是:动态创建的表格其实并没有真正存储到数据库中,而是放在了缓冲区中。所以在数据库中查找此表自然是找不到的。只有到后台刷新数据库,或者让计算机重新启动时,动态建立的表格才能写入到题库管理系统数据库中。由此,初步的解决办法是在代码段中加入刷新数据库的语句(Update),但对本不存在于数据库中的表格刷新当然毫无作用,此方法失败。那么,让用户每新建一科就重新启动计算机,未免过于烦琐和小题大做,此办法行不通。最后找到的解决方法是建表完成后立即把缓冲区中的表格写入到数据库,即在代码段中动态建表后,立即在此表中填加一条记录,就是用Addnew方法刷新数据库,顺利的把缓冲区中的表写到数据库中,然后再把这条记录删除。这样,动态建立的表格就如我所愿的出现在题库管理系统的数据库中。具体的建科目清单表的代码如下:生成试题清单表txtSQL = create table & Trim(Text6.Text) & (TiHao char(10) not null ,NeiRongMa char(6) not null, & _TiXingMa 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 datetime null,BiaoQian int null,TiGan text,DaAn text ,JieXi text,QuFenDu int)Set mrc = ExecuteSQL(txtSQL, MsgText)问题的关键所在 建完表后要立即向表中填加内容txtSQL = select * from & Trim(Text6.Text)Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.AddNewmrc.Fields(0) = 00000000: mrc.Fields(1) = 000000mrc.Fields(2) = 00:mrc.Fields(3) = 0: mrc.Fields(4) = 0 mrc.Fields(5) = 0 :mrc.Fields(6) = 0:mrc.Fields(7) = 0 mrc.Fields(8) = Nowmrc.Updatemrc.Close删除填加的内容txtSQL = select * from & Trim(Text6.Text)Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.Deletemrc.Updatemrc.Close此外,新建科目中还有一项很重要的功能就是恢复科目,当管理员点击恢复科目按钮时进入如下的界面4.2-4: 界面4.2-4被删除的科目都存放在科目备份表(KeMuBF)中,当管理员选定一科时,该科的相关信息就显示出来,单击恢复按钮,这一科就重新存储在科目表(KeMu)中。 新建题型新建库的第三个标签新建题型,它的操作方法和实现过程与新建学院相似,两位的题型代码也是自动生成,不再多说。4.2.3 修改库 修改库的程序流程图:如图4- 修改学院通过第三章的总体设计的数据库设计,知道后台的表与表之间的联系多通过编码相关联,若把这些相关联的编码修改,势必影响整个题库系统,甚至破坏了系统。鉴于此,对于学院的修改规定只能修改其名称,以便新的名称适合时代的要求。管理员选择要修改的学院,然后在重命名中填入新名称,单击确定,修改完成。修改学院的实现过程很简单:系统要查的后台表格是学院表(XueYuan_DZ),当管理员修改某一学院后,系统把修改的信息回填到学院表,刷新数据库。 修改科目在修改学院小节中,已经讲述了不能修改其编号的原因。同理,科目中的科目编号、该科的试题清单表和内容对照表也是不允许修改的。允许修改的是科目名称、学时和学分,因为不同的阶段对学生的要求也不相同,直接反应在学时和学分上。修改科目与修改学院的操作过程、实现方法相似。不同的是要查的后台数据库表是科目表(KeMu)。这里不在叙述。 修改对照表这里所说的对照表是指难度对照表和教学要求对照表。关于建立和修改这两种表格的原因请见第三章的总体设计之数据库设计。修改对照表的界面4.2-5如下:界面4.2-5关于如何使用这两个功能是与修改学院和修改科目十分类似,看到界面就应该会操作。修改对照表的实现过程也与上述的修改学院和修改科目相似,只不过修改难度对照表要查的后台数据库是难度对照表(NanDu_DZ),修改教学要求对照表要查的是教学要求对照表(JiaoXue_DZ)。4.2.4 删除库 删除库的程序流程图:如图4- 删除学院在删除学院界面上,所有已存在的学院被列举出来,选中一个学院名称后,有关该学院的相关信息就显示出来,单击删除按钮后,为了保险起见,出现“是否真的删除”字样的确认信息,单击是按钮则学院被删除,单击否按钮则取消删除。删除学院的具体实现过程是:系统到后台查学院表(XueYuan_DZ),再查科目表(KeMu) 获得该学院包含的科目,对所有的科目编号取前两位,若其序号与该学院的编号相等,则把该科名称列举出来。确认删除后,在学院表(XueYuan_DZ)中这个学院就真的被删除了。但是,该学院所包含的科目没有被真正删除,而是从科目表(KeMu)转存到科目备份表(KeMuBF)中。这样做的原因已经在第三章总体设计之数据库设计中有所阐述。 删除科目如下的界面4.2-6: 界面4.2-6删除科目与删除学院类似,在上面的叙述中我们知道,实质上,删除学院包含着删除科目的内容。删除科目亦并非真的删除,而是把它放到了科目备份表(KeMuBF)中。它的试题清单表(XXX_QD)和内容对照表(XXX_DZ)也仍然存在于数据库中。4.2.5 统计库该项功能是让管理员对本系统在总体上有一个更深入、透彻的了解。而且界面上使用了直方图和圆饼图,看起来更加简单、直观。 学院统计学院统计的界面4.2-7如下:界面4.2-7选中列表框中的学院名称,该学院的所有信息就显示在界面上,而且用圆饼图直观表示了该学院的题型种类和数量。 学院统计的实现过程现叙述如下:查学院表(XueYuan_DZ),把其中所有的学院名写到List列表框中。当在界面上点击学院名称时,再把该学院在学院表(XueYuan_DZ)中的相关信息写入到界面中的“学院信息”一栏。同时查找科目表(KeMu),取科目编号字段的前两位,若与选中学院的编号相同,就将这科的名称写到“包含的科目”一栏中。关于“题量分配”一栏的统计稍稍复杂一些:首先根据该学院所含的科目总数确定循环的次数,便于累加试题个数与题型总数。把题库中所有的题型放在一个一维数组中,另一个一维数组存放与前一个数组对应的题型个数,初值为0。然后用循环查遍该学院包含的科目的试题清单表。累计题型个数和每种题型的总数。在第二个一维数组为0的项,就说明该学院不含有与之对应的题型。再把这个统计结果反映在圆饼图中。统计学院的程序代码如下:txtSQL = select * from kemu where kechengbh like & Trim(Text1.Text) & % & Set mrc = ExecuteSQL(txtSQL, MsgText)ReDim KeMu(mrc.RecordCount) 重新定义树组KeMutotal = mrc.RecordCount 该学院包含的科目总数If mrc.EOF = True Then List2.AddItem 没有属于该学院的科目Frame5.Visible = FalseExit SubElse For i = 1 To mrc.RecordCount List2.AddItem mrc.Fields(0) KeMu(i - 1) = mrc.Fields(2) mrc.MoveNextNext iEnd IfFor i = 1 To KeMutotal 统计题数txtSQL = select tixingma ,count(tihao) from & _Trim(KeMu(i - 1) & where neirongma group by tixingmaSet mrc = ExecuteSQL(txtSQL, MsgText)For k = 1 To mrc.RecordCountFor j = 0 To TXtotalIf TX(j) = mrc.Fields(0) Then 找对应的题型TXnum(j) = TXnum(j) + mrc.Fields(1) 填加题数End IfNext jmrc.MoveNextNext kNext IFor i = 0 To TXtotalIf TXnum(i) 0 ThenText4.Text = Val(Text4.Text) + 1XYtishu = XYtishu + TXnum(i)End IfNext IText5.Text = Val(XYtishu) 学院的总题数MSChart1.ColumnCount = Val(Text4.Text) 设计饼图MSChart1.ColumnLabelIndex = 1For i = 0 To TXtotalIf TXnum(i) 0 Thenkuai = kuai + 1 MSChart1.Column = kuai MSChart1.ColumnLabelCount = kuai MSChart1.ColumnLabel = TXnum(i) MSChart1.Data = TXnum(i)End IfNext Ikuai = 0MSChart1.ColumnLabelIndex = 2For i = 0 To TXtotalIf TXnum(i) 0 Then kuai = kuai + 1MSChart1.Column = kuai MSChart1.ColumnLabelCount = kuai + 2MSChart1.ColumnLabel = TX(i) & End IfNext i 科目统计科目统计的界面4.2-8如下: 界面4.2-8选中列表框中的科目名称,该科的所有信息就显示在界面上,而且用直方图表示了该科包含的题型种类和数量。科目统计的实现过程与统计学院的实现过程大同小异,或者说更简单一些:也是要到后台查该科目的试题清单表,关于题型种类和数量的统计过程与学院统计中的完全相同,不再多说。 试题统计试题统计分为整体统计和详细统计。整体统计的界面4.2-9如下: 界面4.2-9整体统计的过程实质上与前面的统计过程是相同的。只不过是要查遍所有的试题清单表,而且数组个数由前面的2个增加到6个,其中题型种类和对应题型个数的一维数组两个,难度种类和对应难度个数的一维数组两个,教学要求种类和对应教学要求的个数的一维数组两个。所谓详细统计就是统计出某科目中各章、节、小节的题型种类和个数,难度的种类和个数,教学要求的种类和个数。详细统计的界面4.2-10如下:界面4.2-10关于详细统计与整体统计的不同之处就是在该科目试题清单表中用到了内容码这个字段,进而需要查内容对照表。4.3 试题操作模块这一功能模块允许所有授权的用户使用。不同的用户对试题的要求一定不相同,他们总是苦于题库中没有自己理想的试题。此题库管理系统为用户提供了极大的方便,任由用户操作。这里所说的试题操作可以是对题库中已经存在的试题进行操作修改单题和删除单题,也可以是填加试题。试题操作的程序流程图:如图4-44.3.1 填加试题 填加单题填加单题中有两个标签一个是试题描述,另一个是试题内容。所谓试题描述就是要求填写关于这道试题的相关内容所属科目、题型、难度、分值、本专业和非专业的教学要求,以及该试题所在的章、节。试题内容分三项:题干、答案和试题解析。当所有信息按要求填写正确(否则有错误提示信息),单击录入则系统自动为其编写题号将其录入库中。填加单题的实现过程比较简单:当试题描述和试题内容填写正确后,单击录入时,系统到后台数据库中科目表(KeMu),根据用户选择的科目名称来获得该科的科目编号和试题清单表名。系统再查找此单题所属科目的试题清单表,然后把试题描述和试题内容的相关信息对应填到表中。需要说明的是被填加的试题在清单表中的位置。系统首先浏览清单表,检查内容码是否为空,若遇到内容码为空的的记录,就把该试题加到表中此位置,覆盖原来的记录内容,因为此时题号字段已有内容,所以系统无须为其生成题号。若没有内容码为空的记录,就把该试题加到表尾,生成的题号就是科目编号和上一题题号最后四位数字加1的连接,共10位。 填加单题的代码如下:txtSQL = select KeChengBH from KeMu where KeChengMing = & Combo1.Text & Set mrc = ExecuteSQL(txtSQL, MsgText)Bh = mrc.Fields(0) 得到题号的前6位mrc.Close生成题号的后4位 txtSQL = select * from & Trim(Combo1.Text & _QD)Set Jrc = ExecuteSQL(txtSQL, MsgText)Do While Jrc.EOF = FalseIf Left(Jrc.Fields(0), 6) = * Then Shh = Right(Jrc.Fields(0), 4) 中间有空号码 Kong = True Exit DoEnd If Jrc.MoveNextLoop If Jrc.EOF = True Then 说明没有空号码,在最后面加题Hh = Jrc.RecordCount + 1Kong = False:Jrc.Close 判断位数If Hh 10 Then 得到后4位 Shh = Trim(000 & Trim(Str$(Hh)Else If Hh 100 Then Shh = Trim(00 & Trim(Str$(Hh) Else If Hh 1000 Then Shh = Trim(0 & Trim(Str$(Hh) Else Shh = Trim(Str$(Hh) End If End IfEnd IfEnd IfTH = Trim(Bh & Shh) 生成题号*比较章,节,小节,生成内容码If Trim(Combo8.Text) = ThentxtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo7.Text) & ElseIf Trim(Combo9.Text) = ThentxtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo8.Text) & Else txtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo9.Text) & End IfEnd Ifset mrc = ExecuteSQL(txtSQL, MsgText)NM = mrc.Fields(0) 生成内容码*mrc.Close txtSQL = select TiXingID from TiXing_DZ where TiXingMing= & Trim(Combo2.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)TX = mrc.Fields(0) 生成题型码*mrc.Close txtSQL = select xishu from NanDu_DZ where NanDu= & Trim(Combo3.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)ND = mrc.Fields(0) 生成难度码*mrc.ClosetxtSQL = select xishu from JiaoXue_DZ where JiaoXueYaoQiu= & Trim(Combo4.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)YQ1 = mrc.Fields(0) 生成本专业教学要求码*mrc.ClosetxtSQL = select xishu from JiaoXue_DZ where JiaoXueYaoQiu= & Trim(Combo6.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)YQ2 = mrc.Fields(0) 生成非专业教学要求码*mrc.Close向试题清单表中填加内容If Kong Then 有空题号存在Jrc.Fields(0) = TH: Jrc.Fields(1) = NM: Jrc.Fields(2) = TXJrc.Fields(3) = Val(Text1.Text): Jrc.Fields(4) = NDJrc.Fields(5) = YQ1: Jrc.Fields(6) = YQ2Jrc.Fields(7) = 0: Jrc.Fields(8) = ShiJianJrc.Fields(9) = 0: Jrc.Fields(10) = Trim(Text2.Text)Jrc.Fields(11) = Trim(Text3.Text)Jrc.Fields(12) = Trim(Text4.Text)Jrc.Fields(13) = QuFenDuJrc.UpdateJrc.CloseElsetxtSQL = select * from & Combo1.Text & _QD Set mrc = ExecuteSQL(txtSQL, MsgText)mrc.AddNewmrc.Fields(0) = TH: mrc.Fields(1) = NM: mrc.Fields(2) = TXmrc.Fields(3) = Val(Text1.Text)mrc.Fields(4) = ND: mrc.Fields(5) = YQ1mrc.Fields(6) = YQ2: mrc.Fields(7) = 0mrc.Fields(10) = Trim(Text2.Text): mrc.Fields(9) = 0mrc.Fields(11) = Trim(Text3.Text): mrc.Fields(8) = ShiJianmrc.Fields(12) = Trim(Text4.Text): mrc.Fields(13) = QuFenDumrc.Updatemrc.Close End IfMsgBox 试题已经填加到试题存储表中, vbOKOnly, 成功 批量加题在批量加题中又分为手工加题和自动加题 。.1 手工加题手工加题的界面4.3-1如下: 界面4.3-1这个界面的操作和要求与填加单题十分相似,它的实现过程也与填加单题完全相同。这看起来手工加题似乎没有多大作用,甚至多此一举。其实,这个手工加题主要是为自动加题服务的,自动加入的试题要到这个界面中来检验它们的指标是否符合本题库的规则(在自动加题中再详细说明其规则),若有的试题不符合要求,则出现提示信息,需要帮助时,系统会给予必要的帮助信息。关于试题的存储位置及题号的生成与填加单题稍有不同:当用户每录入一道试题的时候,单击确定后,试题并没有立刻存入到试题清单表中,而是到此表中查找内容码为空的记录,若找到,则用“*”来占据这个空位置,然后把题号赋给该道试题,将这道试题的完整信息填入到界面上的Listview表格中。当检查到清单表尾的时候,也没内容码为空的记录,那么就用清单表中记录集的总数加1方法来生成试题的题号,再加入到Listview表格中。在这批试题中,若某道试题不符合要求,系统出现提示信息,中断录入过程且把先前用“*”来占位的内容码清空。当把所有要批量录入的试题都检验完,而且试题都符合录入规则,那么系统再从Listview表格中取出,一次性把这些试题按照题号存储到试题清单表中。如果不这样做,而是录入一道试题存储一道,那么当遇到不符合要求的试题时,系统中断,用户修改完后再次批量录入时,系统仍会从头开始做许多重复性的工作,这样在断点前面的试题会重复录入,造成题库的冗余,增加了系统的开销。系统把检查符合要求的试题顺序再填到手工加题界面的Listview表格中,这样做的好处不仅仅是为了界面美观,更重要的是便于向后台的清单表中回填内容,使系统一次性与数据库连接,提高系统的运行速度,编写代码简单,简化了对题库的操作。.2 自动加题自动加题的界面4.3-2如下图所示: 界面4.3-2进行批量自动加题前,用户所做的工作是将要录入题库的试题首先存成文本形式且放入文件夹中(若不然,系统无法找到)。这里文本内容的具体格式是有要求的,也就是手工加题中所说的题库的规则,现说明如下:对于一道试题而言,它在文本中的格式是第一行是8种编码,与手工加题的8种编码对应。第二行是题干。下一行是答案,再另起一行是试题解析,如果试题解析省略了,那么应该用“-”来代替。找到存储试题的文本文件,就会在另一个文本框中显示这个文件包含的内容。单击录入系统将试题存储到库中,若遇到不符合题库的要求的试题,就转入手工加题界面,出现提示信息,自动加题的过程被中断。自动加题的实现过程现说明如下:这一界面的风格有些类似Windows 的资源管理器,它的功能实现涉及了对文件的操作。其实,在编码的过程中是很简单的。首先,将电脑中的存储器名称记录到下拉列表框中,每改变一个存储器名时,对应的文件列表框中的文件路径就变成存储器的驱动器名,既而显示该存储器的全部文件。然后把以“.txt”为后缀的文件过滤出来,单独写在另一个列表框中。当用户单击录入时,系统都会自动把用户要录入的试题集写到手工加题的界面中且调用手工加题界面中的确定按钮。关于试题的要求检验和在清单表中的存储位置以及题号的生成过程与手工加题完全相同,不再重复。自动加题中把试题写入到手工加题的过程就是通过打开此文本文件,然后利用循环当没到文件尾时按行读取。在以上的实现过程中,用到了内容对照表。4.3.2 修改试题在这个小的功能模块中不仅能完成对试题的修改,而且包含着浏览题库的功能。因为要修改某一道试题可能是随机的,也可能是具体的,所以模糊检索和精确检索正是顺应这两个条件而设立的(相当浏览题库)。对于用户来说,对于题库中存储的试题未必完全了解,模糊检索就显得更加重要。 模糊检索所谓模糊检索就是只知道关于试题的一项或几项指标,让系统根据给定的指标,从题库中找出符合条件的试题,然后让用户从这些试题中选出自己不满意的试题进行修改。模糊检索的界面4.3-3设计如下图所示: 界面4.3-3单击模糊检索,选择指标。需要指出的是试题所属科目必须选择,否则无法检索。检索后的结果,显示在界面的表格中。当用户选定某道试题后,该道试题的具体信息显示在界面的相应位置。此时,界面上的这些信息是无法修改的,只有单击修改按钮确定后,一些指标才可以被修改,如分值、难度、教学要求、题型、题干等,但该试题所属科目、章节、题号是不变的,所以不允许修改。下图为检索结果界面4.3-4: 界面4.3-4模糊检索的实现过程及方法是:系统根据用户对试题指标的指定情况,到该类题所属科目的试题清单表中查询。具体分为下面几种情况,因为试题所属科目必须选择,所以不做讨论:A、用户在没有选定题型的情况下:1. 用户没有选择章,那么系统就要到该科的试题清单表中把所有试题都回写到界面的检索表中,供用户选择。2. 用户选择了章:(1).用户没有选择节,系统到该科的内容对照表中查询,把内容编码赋给一个变量(内容码后四位是*),待以后查清单表之用。(2).用户选择了节: a.用户没选择小节,系统到该科的内容对照表中查询,也把内容编码赋给那个变量(内容码后两位是*),待以后查清单表之用。 b.用户选择了小节,系统到该科的内容对照表中查询,也把内容编码赋给那个变量(内容码是六位数字),待以后查清单表之用。以上具体分析了没有选择题型的情况,做完以上处理后,系统就查试题清单表,按条件选出试题。填写到界面的Listview表中。对于选择了题型的情况,只是缩小了查找范围,实质上与上面的叙述是一样的,不再多说。用户选定某到具体的试题时,系统再查试题清单表把试题的具体指标和内容展现在界面上。修改后,如果单击保存,那么这道试题就存储在原来位置,覆盖未修改前的的试题。如果单击另存为,那么就像填加单题中一样生成题号和存储。以下是没选题型,选择了章的情况的程序代码:If Check1.Value = 0 Then 没选择节txtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo2.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)CZ = Left(mrc.Fields(0), 2) 得到章的内容码 只是2位CZ = Trim(CZ & %)box = 该科没有存储试题,请重新选择科目Else 选择了节If Check2.Value = 0 Then 没选小节txtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo3.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)CZ = Left(mrc.Fields(0), 4) 得到节的内容码 4位CZ = Trim(CZ & %)Box = 该节没有存储试题,请重新选择科目Else 选了小节txtSQL = select NeiRongMa from & Combo1.Text & _DZ & where NeiRongMiaoShu= & Trim(Combo4.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText)CZ = Trim(mrc.Fields(0) 得到节的内容码 6位box = 该小节没有存储试题,请重新选择科目End IfEnd If 以上是判断按什么内容码查找txtSQL = select * from & Combo1.Text & _QD & where neirongma like & CZ & Set mrc = ExecuteSQL(txtSQL, MsgText) ProgressBar1.Max = mrc.RecordCountIf mrc.EOF = True ThenMsgBox box, vbOKOnly + vbExclamation, 警告ProgressBar1.Visible = FalseExit SubEnd If 精确检索精确检索的应用是有限的,因为很少有用户能记清楚某道试题的具体题号(10位)。精确检索的界面4.3-5如下: 界面4.3-5当单击检索按钮时,若该题号存在(否则有错误信息提示),则显示该题的具体信息。精确检索的检索结果如下界面4.3-6所示:因为就一道试题,所以不必要再填到检索表中。精确检索是根据用户输入的题号在该科试题清单表中搜索其代码略。 界面4.3-6精确检索的实现过程叙述:系统首先截取用户输入的题号的前6位即科目编号,在科目表(KeMu)中找到该科,进而找到该科的试题清单表,再到试题清单表中查找与题号匹配的试题。若找到,显示在界面上。精确检索中的试题修改、保存和另存为与模糊检索完全相同。4.3.3 删除试题删除单题与修改单题的界面十分相像,同样也分为精确检索和模糊检索,检索的过程也完全相同。在删除时,并不是在清单表中将其信息全部清除,而是把它的内容码清空,便于以后往此位置填加试题,充分利用题库空间。有待解决的问题:l 使程序宽展到局域网上题库管理系统的研制是为了减少教师的工作量,使教考分离因此,题库必须放在服务器上,教师无论在哪里,只要符合登录身份就可以登录。而本系统对于数据库的访问采用的是本地访问方式,如果扩展为网络版,这对于数据库的查询应改为存储过程,这样将提高系统的处理速度。l 加强系统的安全保密机制当把题库扩展为网络版,为了题库的安全,有效的防止试题泄密,必须将密码学的基本原理和方法应用到试题库管理系统的建设。加密技术已经成为网络安全的核心技术,很多网络被入侵都与密码的破解和口令泄密有关,系统的保密性和可靠性很大程度上取决于加密和密钥的管理。题库的加密、解密以及密钥算法等相关技术的研究与实现。目前国际上已有许多成熟的商用加密技术,专用密钥加密技术有DES、IDEA和RC5,公钥加密技术如SRA、SEEK和PGP等,这些技术可以用来保证网络中信息交换传输的保密性、完整性、真实性。加密技术的多样化为题库的加密提供了更多的选择余地。然而这些技术的合理使用往往不是一件容易实现的事情,真正需要的是针对环境需求开发的加密系统。题库安全保密机制的研究,主要包括:1.加密机制:使用加密算法和加密工具对数据的存取和传输进行加密,题库服务器中的每一道试题和答案以密文的形式暗箱存储。即使有人突破防火墙,题库被非法访问或试卷传输中被非法截获得到也只是密文,没有密钥无法解密看不到试题明文,使入侵者也无法阅读或修改试题内容。2.访问控制机制:合理制定不同级别用户的访问控制权限和权限周期,严格控制对系统的高级别访问权限(题库的修改、增删权限)。题库服务器上要建立自动记录系统模块,密钥的实效控制模块。不同的课程要使用不同密钥加密,密钥存放在软盘或磁卡上由专人妥善保管。只有插入相应课程的密钥,才能进入系统并显示试题的明文。3.安全管理机制:除了在网络设计上采用新的技术,完善安全保密办法外,从某种意义上讲,对于网络的内部管理并不亚于外部防范。对于题库网络安全而言,不仅要有先进的防范措施,而且要有完善的安全管理规定。密钥的生产、存储、传递以及密钥的使用期限都要进行有效的控制管理,防止泄密。l 图形的处理和报表的生成1.关于图形的处理应用VB的OLE容器,嵌入Word,使用户可以在Word中编辑图形文件。利用OLEAutomation技术,借助Windows系统剪切版实现向题库快速插入OLE对象的方法。实现了通用题库管理系统处理图形、特殊字符、公式的功能。2.由于VB带有的报表生成器多与数据库连接,在题库中设计一个报表打印表,把要用报表显示的内容送入其中,这样就解决了报表与数据库连接的问题。结 论试题库管理系统运用了面向对象的程序设计技术,采用了关系型数据库设计方法,较好地保证了系统的有效性、可扩展性、开放性,同时系统有较好的容错性和可移植性,缩短了开发周期。本系统已经经过了调试阶段,达到了毕业设计要求:试卷整洁,试题均匀覆盖题库中各章节,且自动出题的随机化程度显著。但是本系统还没有真正投入使用,实际的应用效果未知,而且对题型(例如图形题)的创建、试题的加密还有一定的局限性(例如图形题),因此还需要进一步的完善。但是,经过笔者的反复调试和使用,认为它具有一定的实用价值和推广价值。致 谢这个设计是在指导教师王丽君老师的亲切关怀和悉心指导下,由我和计99.3班同学高超合作完成的。从设计方案的选定,设计计划的安排,具体功能的实现,出现问题的解决,毕业论文的撰写及至论文定稿的全过程,王老师都给予了精心的指导及严格的要求。王老师严谨的治学态度,开拓性的工作作风和科学的思维方法都使我受益非浅。王老师严于律己,忘我高尚的品德为我树立了很好的典范。在此,我对王丽君老师表示衷心的感谢。 感谢张学东院长、迟呈英副院长、曾子维等老师在做毕业设计期间给予的建议和帮助。感谢计算机实验室的老师,为我的毕业设计提供很好的实验环境,使我的毕业设计能够顺利完成。还要感谢我的搭档高超同学在学习方面给予的帮助,以及其他很多很多给予我帮助的人,在此,一并致以最诚挚的谢意。最后向评审本论文,参加论文答辩的各位老师表示最衷心的感谢。参考文献1 黄淼云、张学忠等,Visual Basic 控件高手北京希望电子出版社, 20012 李善茂、杜大鹏、刘国宏,Visual Basic 6.0 高级编程技巧电子工业出版社. 1999 3 王国荣. Visual Basic 6.0 数据库程序设计 人民邮电出版社, 20004 廖杉山、黄维通等,Visual Basic 面向对象与可视化程序设计 清华大学出版社,20005 马艳、徐淑华,用VB建立电工学题库青岛大学学报(工程技术版)6 宋庆红、朱建,题库系统的研究和实现,信息技术 年.卷.期: 2002 17 姜龙滨,基于C/S模式的题库管理系统,沈阳师范学院学报(自然科学版)年.卷.期: 2002 20 28 Jeffrey D.Ullman, Jennifer Widom,A First Course in Database Systems,Prentice Hall,inc.19979 Curtis Smith Michael Amundsen, Sams Teach Yourself Database Programming With Visual Basic 6.0 in 21 Days, Sams,199810 Jeffrey D.Ullman, Jennifer Widom,A First Course in Database Systems,1999附录 英文原文 Windows XP Professional How-to Article Find out how Windows XP can help you work smarter. How-to articles are grouped by topic on this page. You can also view a complete list of all how-to articles. If you manage Windows XP in a corporate environment, or for advanced how-to information, see the Windows XP Professional How-to Articles for IT Pros page. There is also a list of How-to Articles for Small BusinessON THIS PAGE Getting StartedPersonalize Your ComputerCommunication and the InternetGo MobileWork with MultimediaNetworkingSecurity and MaintenanceGet Help and SupportGet StartedSet Up Windows XP ProfessionalFind out how to perform a quick upgrade, make a new installation, and join a network. Learn how to configure your computer for connecting to a network, creating accounts, and logging on, along with procedures that allow you to backup and recover. Find answers to common questions about installation and configuration, plus information about troubleshooting, accessibility, and finding support.Transfer Files and Settings to Your New PC The Files and Settings Transfer Wizard helps you automatically gather your files and settings from your old computer and transfer them to your new computerFinding Driver Information Making sure you have all the right drivers is a good place to start troubleshooting problemsMultiboot with Windows XP Read about multibooting with Windows XP, including how to install Windows XP and Windows 2000; Windows XP and Windows NT Workstation 4.0; or Windows XP and MS-DOS, Windows 95, Windows 98, or Windows Millennium Edition (Windows Me).Personalize Your Computer.Personalize Your Computer Settings Find out how to change your desktop background, add a screen saver, work with themes, change your screen size, work with sound effects, and customize your mouse and pointer and your Start menu.Microsoft ClearType Tuner: Customize Your Screen for Your Eyes Use the ClearType Tuner to increase font readability on your monitor.Take Advantage of Accessibility Tools Learn about using the Accessibility Wizard; adjusting accessibility, display, mouse, keyboard, Internet, sounds and audio, taskbar and menu, user accounts, and speech options; and using the Utility Manager, On-Screen Keyboard, Narrator, and Magnifier.Expand Your Workspace with Multiple Monitors and Dualview Find out how to maximize your resources with Multiple Monitors and DualviewShare a Computer with Fast User SwitchingFast User Switching lets two or more users share a computer and easily switch in and out of individual accounts without closing applications.Restore Windows Classic View When You Want ItThe new task-based design of Windows XP makes it easier to use a computer regardless of your experience. But if you prefer some things in the classic design you can use the Windows Classic View.Communication And The InternetStay in Touch with Windows Messenger 4.5 Learn how to use the latest version of Windows Messenger for instant messaging, online voice communications, video conferencing, sending files and photos, and application and whiteboard sharing, plus find out how to control what others see of your online status.Go MobileEnable Remote DesktopHeres what you need to know to use Remote Desktop, including how to enable your computer as the host, install client software, and start a Remote Desktop session.Use Offline Files When Youre off the Network Find out how to use Offline Files in Windows XP Professional to help you be more productive.Offline Files in WindowsXP Professional can help you be more productive. You can use this feature on a portable computer, or on a desktop computer that occasionally connects to your workplace network. For example, this feature is useful if you are working at home on a desktop computer, and need to automatically get files off the network whenever you connect.The files that you select are automatically downloaded from shared folders on the network and stored on your computer. When you disconnect, the files are available to use. When you reconnect to the network, your changes are added to the files on the network in a process called synchronization. If someone else on the network made changes to the same file, you can save your version, keep the other version, or save both.To set up your computer to use offline files1. Open My Computer. (Click Start, and then click My Computer.) 2. On the Tools menu, click Folder Options. 3. On the Offline Files tab, make sure that the Enable Offline Files check box is selected as shown below. 4. Select Synchronize all offline files before logging off to get a full synchronization. Leave it unselected for a quick synchronization. A full synchronization ensures that you have the most current version of every shared network file that you work with offline. A quick synchronization ensures that you have complete versions of your offline files, although they may not be the most current versions. You might select a quick synchronization if you are the only person working on a file or if you do not need the most current version of a file. To make a file or folder available to you offlineAfter you set up your computer to use offline files, you need to make shared network files available to you offline.1. Open My Computer. (Click Start, and then click My Computer.) 2. Doubleclick a network drive to view its contents. If My Computer does not contain links to any network drives, you need to assign a drive letter to a shared network resource. 3. Click the shared network file or folder that you want to make available offline. 4. On the File menu, click Make Available Offline. This option appears on the File menu only after you set up your computer to use offline files as described above. 5. To make a network file or folder unavailable offline, rightclick the item, and click Make Available Offline again to clear the check mark.To view a list of all of the shared network files that are available offline1. On the Tools menu, click Folder Options 2. On the Offline Files tab, click View Files. Make Web Pages Available for Offline Viewing Learn how Internet Explorer 6 in Windows XP can make a Web page available offline so you can view it when your computer is not connected to the Internet.Transfer Internet Data Securely with Virtual Private Networks Heres how to make your Internet communications secure and extend your private network with a virtual private network (VPN) connectionWork With MultimediaGet Started with Windows Movie Maker Find out how to get started with Windows Movie Maker, how to transfer film from your camera to your computer, and how to edit movies.Enjoy a World of Music Get acquainted with Windows Media Player and learn how to copy tracks from a CD onto your computer, find music on the Internet, create playlists, burn your own CDs, use portable devices, tune in Internet radio, and change the appearance of Windows Media Player.Organize and Work with Your Photos Start working with photos and find out how to e-mail photos, print photos, order prints online, publish photos to the Web, use photos for your desktop background, organize your photos, and store photos on CD.NetworkingCreate a Home or Small Office Network Get an understanding of small network technologies and find out how to determine your small network layout, put it together, and protect it.Configure Broadband Connections Using PPPoE Point to Point Protocol over Ethernet (PPPoE) is a protocol used by some ISPs who provide broadband connections. Heres how to make sure it works with Windows XP.Use Automatic Configuration for Multiple Networks Find out how to use automatic configuration to make it easy to move your mobile computer from your home network to the local area network in your office, without the need to manually reconfigure TCP/IP settings.Secure Your Small Network with Internet Connection Firewall Learn how to enable Internet Connection Firewall in Windows XP to restrict what information is communicated between the Internet and your home or small office network.Set Up and Use Internet Connection Sharing Find out how you can connect one computer to the Internet, then share the Internet service with several computers on your home or small office network.Connect Computers and Devices with Infrared Data Transfer Read about how you can connect your computer to other nearby computers and devices without wires, using infrared light to transfer data, the same way your TV remote control sends signals.Security and MaintenanceKeep Your Computer Current with Windows Update Learn how to use Windows Update, a Web site where you find the most recent updates for your operating system, software programs, and hardware.Restrict Who Can Use Files with Access Control Find out how to use the access control features that allow you to restrict access to a specific user, a computer, or a group of users.Use Backup to Protect DataHeres how to protect your data from accidental loss if your system hardware or storage media fails.Copy Files and Folders to CDs Learn how to use a CD-recordable (CDR) or CDrewriteable (CD-RW) drive to copy data to a CD as easily as you can to a floppy disk.Encrypt Your Data to Keep It Safe Find out how to take advantage of the advanced Encrypting File System (EFS) security feature in Windows XP.Use Security and Privacy Features in Internet Explorer 6 Find out how Internet Explorer 6 in Windows XP helps protect your privacy on the Web by giving you more control over cookies and more information on a Web sites privacyGet Help and SupportUsing the Help and Support Center in Windows XP Learn how to use the new Windows XP Help and Support Center that consolidates Online Help, support, tools, how-to articles, and other resources in one convenient spot.Roll Back a Device Driver If a new driver does not work properly, Windows XP lets you restore the previous driver. Heres how.Use System Restore to Undo Changes if Problems Occur Find out how to use System Restore to remove any system changes that were made since the last time you remember your computer working correctly.Take Advantage of Program Compatibility Mode Learn how Windows XP l
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。