(精品)毕业精品毕业精品.DOC(2013年优秀毕业设计)_第1页
(精品)毕业精品毕业精品.DOC(2013年优秀毕业设计)_第2页
(精品)毕业精品毕业精品.DOC(2013年优秀毕业设计)_第3页
(精品)毕业精品毕业精品.DOC(2013年优秀毕业设计)_第4页
(精品)毕业精品毕业精品.DOC(2013年优秀毕业设计)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉科技学院毕业设计(论文)任务书题目:通用试卷生成系统完成期限: 2004年12月1日至2005 年6月11日院系 计 算 机 科 学 系 指导教师 高 晓 清 专业 计算机科学与技术 职 称 讲 师 学生 陈 惠 钦 院(系)主 任 黄求根 接受任务日期 2004-12-1 批准日期 2005-6-11 一、原始依据(资料)在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之一,一直没有得到较好的改善,试卷的编辑、整理工作占了很大的工作量。传统的手工出卷过程,存在不少弊端.如出现不必要的重复劳动,造成人力资源及时间上的浪费;缺乏科学的衡量、评价及统一试卷难易度、试卷质量的有效手段;存在自教自考,考前漏题的情况;试卷容易出现错漏缺现象,引起不必要的麻烦。针对这些情况,我们进行总结分析,开发出了通用试卷生成系统。本系统希望利用计算机强大的数据处理功能,由计算机逐步代替传统的人工出卷,并且规范出卷程序,使出卷工作更加科学化、现代化,使教育工作更上一层楼。二、设计(论文)内容和要求1. 设计要求:在掌握数据库基础理论知识和基本技术及数据库管理程序开发的步骤的基础上,运用Delphi集成开发环境和数据库技术开发出实用、高效的通用试卷自动生成系统。2. 开发平台:a) WINDOWS3. 开发环境:a) Delphi4. 论文要求:a) 语言简洁,论述清楚b) 论文格式符合毕业论文的要求三、主要参考资料1 张春林等 Delphi7 数据库系统设计与开发 清华大学出版社 2003.102 黄明等 Delphi7 信息系统设计与开发实例 机械工业出版社 2005.3四、同组设计者 潘玉丹设计(论文)进度计划表序号起止日期计划完成内容实际完成内容检查日期检查人签名12004.12.1-2004.12.15写开题报告完成任务22004.12.1-2004.12.15熟悉出卷的一般过程、题型,了解现有试卷生成系统的特点及不足,并在此基础上进行需求分析完成任务32004.12.16-2005.3.31借阅相关资料,熟悉开发环境及数据库原理的常用技术完成资料收集42005.4.1-2005.4.30编制软件计划书,分配角色和任务完成任务52005.5.1-2005.6.1编写程序代码、进行调试完成任务62005.6.1-2005.6.11撰写毕业论文及答辩完成任务指导教师批准日期 年 月 日 签名毕业设计(论文)开题报告课题名称通用试卷自动生成系统院系名称计算机科学系专业名称计算机科学与技术学生姓名陈惠钦指导教师高晓清一、课题的意义试卷自动生成系统,此课题目的是在我们以往学习数据库的基础上,灵活运用数据库开发软件Delphi和结构化查询语言SQL2000,开发出能供教学使用的一套出试卷系统,以方便教学。应用所学的有关数据库的知识,更深入地学习Delphi和SQL2000,将所学的书面知道和实际应用结合起来,以达到学以致用的目的。在各学校开始逐步引入计算机的今天,试卷作为考察教学成果的重要手段之一,通用试卷自动生成系统升化了传统的手工出卷,解决了很多问题,例如: 避免了不必要的重复劳动,节约了人力资源及时间; 使用科学的衡量、评价及统一试卷难易度、试卷质量的有效手段; 大幅度降低了试卷出现错漏缺的机率,减少不必要的麻烦。二、发展状况在以往的教学中,老师出试卷大多由手工出卷,这样生成的试卷往往会有知识点分布太集中、难易程度不当、分值分布不均等一些缺点;这样,既增加了老师的负担,也没有达到很好考查学生学习的真实水平,造成教学上的失误。基于以上的原因,有很多从事软件开发的人员,在试卷自动生成方面做了很大的研究。目前这一领域也以良好的发展姿态而不断进步,早期已经有了一些类似的系统,但经过软件开发人不断的完善,大致形成了具备如下功能的系统:删除试题、批量录入试题、试题交流、合并题库、自定义试题参数等一些功能,其中试题交流功能非常实用,主要用于同事间交流试题。系统体积非常小,压缩后只有几百K。平时只要将一些试题或从网络下载的试题,按学科、章节、知识点、题型、难易程度、备注六个参数进行归类,录入题库,需要用时,只要输入一些查询条件即可查出所要找的试题。生成试卷非常方便,只需几分钟就可以生成一份试卷,生成的试卷还配有答案,更重要的是软件能与WROD的完美结合,试题、答案的编辑、试卷的排版打印全部由WORD来完成,试卷和答案都可保存为*.DOC格式。可见,试卷自动生成系统这方面的研究日益成熟,这不但减轻了教师的工作负担,也使用教学更加地科学化,有利用教育事业的发展。三、研究内容/(还末改进)1、新建试卷,添加、删除题目、选项、试卷;2、编辑试卷属性:设置试卷的总分、名称、保存路径;3、系统能支持不同类型的题目,比如:判断、单选、多选等;4、编辑题目时能插入图片;5、可以按试卷类型对试卷进行分类;6、可以对用户进行管理,修改用户口令密码等;7、生成的试卷可以进行脱机测试,测试过程中如出现漏题,选项漏选,在提交前系统你能对用户进行提示;8、编辑题目时如出现逻辑上的错误,比如判断题没有设置正确答案,单选题没有设置正确选项,多选题没有设置全正确选项等,在保存试题时系统能自动进行提示;9、测试完毕,系统自动对试卷进行批改,试卷得分以及做错的题目系统能以醒目颜色进行标示。四、研究方法/(还末改进)系统从设计理念上坚持采用树状管理结构,在系统结构中用“科目”、“课程”、“章节”、“知识点”来组织整个系统;每道题目都由“科目”、“课程”、“章节”、“题型”、“知识点”、“难度”这六个参数组成,再而演变出试卷和成绩。故系统对小学、初中、中专、高中、大专、大学、单位自办学校和教师个人都适用。本系统利用计算机强大的数据处理功能,由计算机逐步代替传统的人工出卷,并且规范出卷程序。用模块化设计方法设计试卷自动生成系统,将要实现的功能在需求分析中详细描述出来;然后在概要设计阶段对这些功能归纳总结,使它们模块化,也就是进行总体控制;由大模块再细分为一些小模化,逐步细化,从而使功能不断地完善。用模块化设计方法设计试卷自动生系统,可以使那些繁琐、复杂的功能变成一个简单易实现的小模块,从而使设计工作事倍功半。五、 研究手段1、 自我准备:本次设计所需要的是Delphi和SQL2000。我已学习过这两个软件的使用方法;尽管如此,但不能满足毕业设计的需要,所以必须深入学习并熟练掌握其功能和使用方法。2、 查找资料:为了搞好毕业设计,我在图书馆和网上查阅了大量有关试卷自动生成系统方面的资料,对其分析和讲解得都很详细;我还购买一些相关书籍,通过借鉴他人的一些Delphi和SQL2000的使用方法和技巧,为毕业设计做准备。 3、 设计方案:试卷自动生成系统要具有手工生成和自动生成的功能;对用户的管理也应当具有增加、删除用户等功能;对生成的试卷如有不满意的,可对其进行修改;还可对题库进行增、删、改等功能,使题库不断的完善。六、研究步骤该方案的题库系统的开发分为以下几个阶段:1 进行需求分析 ,通过需求分析,确定整个系统大概的规模 。2 进行系统分析,通过系统分析 ,确定该系统该具有那些功能,有那些模块,各个模块之间是怎样联系的,以及怎样组合的 。3 建立数据库,通过对系统的分析,我们要确定数据库的结构是怎么样的,使得数据库的表结构尽可能的合理,操作上更加方便、简洁 。4 划分功能模块,使得整个系统分到每个小组成员,使系统能整个进行。5 系统模块的拼装,把每个小组成员所做的模块,组装成一个系统,并且是系统整体能够运行。6 调试,调试整个的系统模块的功能,看各个功能是否能正常运行,并找出程序中的错误,改正这些错误 。7 撰写毕业论文及答辩。七、参考书目Delphi7数据库应用开发 郭晶、杨章玉编著 电子工业出版社Delhpi7数据库高级教程 刘斌、李文革编著 清华大学出版社研究内容-开发一个基于知识点通用题库管理系统软件,采用大型数据库,包括题库、试卷等模块。该系统提供题库的框架结构,以及对题库中数据的维护功能。该系统数据库中可预先存入相关试题资料,也可在系统运行过程中添加数据。其系统应包含以下特点与功能:1 采用SQL Server数据库,NT4.0或者Windows98操作系统以上。题库可以自由维护、扩充,题库大小只受物理限制的存储容量。2 权限分明的管理操作系统,支持按操作者及题库权限进行操作,确保题库的公共性与私有性。3 试题支持单项选择题,判断题,填空题,编程题等题型,用户可以自由设置题型,试题内容包括内容,标准答案等属性,提供可以自由设置的试卷分类;多种试卷生成方式,可以设定参数自动生成或者手工选择试题,题库中自动抽取指定数量的试题或手工选取试题,也可以从某题库中每个题型各抽取多少分的试题,或者从多个题库中分别抽取指定数量的试题合成试卷,试卷生成的方式可以带答案、解答。4 定义的试卷可以重新编辑、排序、删除、调整,可以自动生成一份文档,也可以把现有的文档资料存到系统里,内容不受限制。研究方法-这种试题库系统的基本思想是按照“知识点”来构建试卷,主要是思路是依据教学大纲的要求,以课程的主干内容为主线,先把教学内容细致分解为一个个知识点,然后按大纲对各个知识点的要求掌握的层次,与题型、题量、难易度及各知识点间的馆包容性结合起来,作为该试题库系统构建试题的基本原则,以便计算机自动生成每份试卷、在考查点的分布上具有较强的科学性。要实现基于知识点的试题库系统的试卷建构,首先必须研究从知识点角度对试题如何进行分类,并结合试题的类型赋予各种特征参数,使试题库编程符合科学化与规范化的要求。因此,参数的设置是否合理,对能否体现基于知识点建构试卷的思想.所建构试卷的质量,编程的工作量及运行效率都是直观重要的。本试题库管理系统中,对于其中的每一道题,设置了以下属性字段,分别是:“章号、节号、编号、难度系数、试题类型、试题内容。其中”章号+编号”唯一对应一道题;试卷生成模块是整个题库管理系统的核心。本系统的组卷是采用交互方式,即用户在输入各种要求后,系统会自动生成一份符合要求的试卷。组卷过程中系统会向用户依次询问以下信息:(1) 要生成的试卷满分分数(2) 是否考所有章的内容,若只是考部分章内容,还应输入所考章的章号;(3) 将系统试题库表中该门课程所用全部题型列表显示,供用户选择。(4) 具体输入所考类型的代号,该类型的题目数目以及该类型题所占分数;(5) 将每种题型的题数分配到各章节;(6) 输入本试卷整体的难度系数;所有上述参数有效输入后,确信在题库中满足上述条件的题目数目量足够的情况下即可生成 一份试卷来摘 要运用可视化Delphi开发出试题自动生成系统.利用其提供的各种面向对象的开发工具, 建立系统应用原型,然后进行需求迭代,不断修正和改进,直到形成满意的可行系统。该系统结构良好、使用方便,题库数据输入简单,系统能够实现人工选题和随机抽题两大功能. 包括后台数据库的建立、维护以及前端应用程序的开发两个方面。该系统有安全的用户登录模块、方便快捷的浏览界面、易于操作的功能模块。本文的分析基于知识点的试题库结构基础上,阐述以知识点难度系数和题型为主要控制参数的组卷算法的建立与实现方法。该系统的运用不仅提高了教师的工作效率,而且可以实现真正意义上通用性。关键词:通用试卷;知识点;自动组卷; Delphi; SQL Server;this paper describes the design of the structure of the test questiondatabase and the method of the foundation realization of arithmetic of organizing examination paper with the main controls parameters of content of exam and coefficient of difficulty and the structure of test questionthe examination base is developed by the use of visual tool DELPHI7.0 and can be used in wide range of applicationsThis program is about a manage system in miniature of house resource. It adopt the Client/Server model including backstage supporter foundation and maintain and front two respects of development of application program of data base mainly. Through so analyse the situationing, I use DELPHI 6.0 developing instruments and utilize its various kinds of developing instruments which face the target offered, it set up and use by prototype systematically within short time at first, then, Carry on demand change and take the place of, revise and improve constantly, until forming the user satisfied feasible system to initial prototype system.This system has secure user entry, convenient scanning and easy using query 、append and so on. I believe it will meet the corporations satisfaction.关键词:(小四号、黑体、左顶格) (内容采用小四号、宋体、接排,各关键词之间用分号隔开)(模板一)ABSTRACT(采用三号字、Times New Roman字体、加粗、居中、与内容间空一行)(内容采用小四号Times New Roman字体)Key words:(小四号、Times New Roman字体、加粗、左顶格) (内容采用小四号、Times New Roman字体、接排、各关键词之间用分号和1个空格隔开)(模板二)目 录(三号、黑体、居中、“目录”两字间空四格、与正文间空一行)1(空一格)(小三号、黑体)11 概述2 数据库理论基础和开发工具2.1 数据库理论基础2.1.1 数据库管理系统2.1.2 数据库系统设计2.1.3 数据库设计范式分析2.2 数据库开发工具2.2.1 Delphi 7.0具体特点2.2.2 基本数据库组件2.2.3 Delphi 7.0 一些控件2.3 在Delphi中通过BDO 连接数据库2.3.1 BDE概述2.3.2 BDE原生对象2.3.3 BDE组件概要介绍2.4 SQL语言在Delphi中的应用2.5 本章小结3 通用试卷生成系统的定义3.1 问题的定义3.2 可行性分析3.3 需求分析3.3.1 题库管理3.3.2 试卷管理3.3.3 权限管理4 系统的框架分析和设计4.1 系统总体结构设计4.2 试题设计流程4.3 数据模块窗体及BDE的设置4.4 前台用户部分模块设计4.4.1 用户登录窗口设计4.4.2 主界面设计4.4.3 权限管理4.5 数据库后台设计4.5.1 数据库表的设计思路4.5.2 数据库部分表的列举4.6 试卷生成4.7 自动生成试卷向导模块设计4.8 算法概要4.8.1 随机策略4.8.2 补偿策略4.8.3 算法描述4.9 试卷预览4.10 本章小节5 总结参考文献参考文献多少页(模板三)1(空一格)(小三号、黑体、左顶格)1 概述 /未改 随着社会经济的迅速发展和科学技术的全面进步,计算机事业的飞速发展,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高,人们对生活质量及工作环境的要求也越来越高。在计算机飞速发展的今天,简化试卷的手工操作势必所然,。所以如何设计好仓库管理系统,尽可能地减少仓库管理的重复性和低效性就成为当前最为重要的问题。图书仓库管理的核心是入库、库存和出库之间的联系,如何处理好三者之间的关系是系统最为关键的部分。另外,员工信息和供应商信息管理也是仓库管理中一个必不可少的部分,它提供着与入库和出库相关的地一些信息,使得整个系统更加完整,更加实用。通过对仓库管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今图书仓库管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。2 数据库理论基础和开发工具2.1 数据库理论基础数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密起关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。2.1.1 数据库管系统数据管理系统(DBMS)是用描述、管理和维护数据库的程序系统,是数据库系统的核心组成部分。它建立在操作系统的基础上,对数据库进行统一的管理和控制。其主要功能有:1) 描述数据库:描述数据库的逻辑结构、存储结构、语义信息和保密要求等。2) 管理数据库:控制整个数据库系统的运行,控制用户的并发性访问,检验数据的安全、保密与完整性,执行数据的检索、插入、删除、修改等操作。3) 维护数据库:控制数据库初始数据的装入,记录日志,监视数据库性能,修改更新数据库,重新组织数据库,恢复出现故障的数据库。4) 数据通信:组织数据的传输。2.1.2 数据库系统设计在软件需求分析阶段,搞清楚了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们需要描述的是系统的总的体系结构(1) 数据库模块设计:系统的概要设计中最重要的就是系统模块化设计。模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。将系统划分为多个模块是为了降低软件系统的复杂性,提高可读性、可维护性,但模块的划分不能是任意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。(2) 数据表设计: 数据表的设计是指设计数据库中表的结构,数据表的逻辑结构包括:属性名称,类型、表示形式、缺省值、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为了使效率高,规范化程度应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据完全。2.1.3 数据库设计范式分析建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。 在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,依此类推。第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有表都满足1st NF。 第二范式(second normal form,简称 2nd NF)是指每个表必须有一个(而且仅一个)数据元素为主关键字(primary key),其它数据元素与主关键字一一对应。例如,在图l9.7中如果我们将合同号定义为主关键字(其它数据元素中的记录数据都有可能重名,故不能作为主关键字),故只要知道了一个合同记录的合同号,就可以唯一地在同一行中找到该合同的任何一项具体信息。通常我们称这种关系为函数依赖(functional depEndence)关系。即表中其它数据元素都依赖于主关键字,或称该数据元素唯一地被主关键字所标识。第三范式(third normal form,简称 3rd NF)就是指表中的所有数据元素不但要能够唯一地被主关键字所标识,而且它们之间还必须相互独立,不存在其它的函数关系。也就是说对于一个满足了 2nd NF的数据结构来说,表中有可能存在某些数据元素依赖于其它非关键宇数据元素的现象,必须加以消除。为防止数据库出现更新异常、插入异常、删除异常、数据冗余太大等现象,关系型数据库要尽量按关系规范化要求进行数据库设计。2.2 数据库开发工具Delphi类可以粗略地分成两部分:一部分是组件类,这些组件类通常以某种方式出现在组件面板上,当用户从组件面板上点取一个类的图标后,在程序中就自动生成了该类的对象(非可视组件除外);另一部分是功能类,这此功能类的对象通常出现在程序代码中,起着不可代替的作用,但是这些功能类在组件面板上是找不到的。在Delphi中,每一个类的祖先都是Tobject类,整个类的层次结构就像一棵倒挂的树,在最顶层的树根即为Tobject类。这样,按照面向对象编程的基本思想,就使得用户可用Tobject类这个类型代替任何其它类的数据类型。实际上在Delphi的类库中,Tobject类派生出了为数相当众多的子类,它们形成了一个庞大的体系,通常情况下,如果不自行开发组件,就不必了解整个类的体系结构,只用到类层次树的叶结点就足够了。2.2.1 Delphi 7.0具体特点。2.2.2 基本数据库组件用Delphi 7.0 开发数据库应用,重点是和各种数据库组件打交道,数据集是一组离散的数据记录的集合。在Delphi中,数据集有3种表现形式:表,查询,存储过程;3种形式的数据集分别用Ttable,Tquery,TStoredProc来操纵。而Ttable,Tquery,TStoredProc的直接上级是TDBDataSet,TDBDataSet而是从TDBEDataSet派生的,而TDBEDataSet又是从TDataSet派生的。这些数据集之间的继承关系如。示TTableTADODataSetTADOTableTADOQueryTADOStoredProcTQueryTStoredProcTBDEDateSetTNestedTableTBDEDataSetTClientDataSetTDataSetTCustomADODataSet -数据集的关系TdataSouce对象用于在DataSet对象(包括Ttable,Tquery,TStoredProc)和数据感知组件之间提供一个连接的纽带,以便在窗体上显示数据库中的数据,在数据库中导航定位与编辑数据集中的数据。数据感知组件负责数据库的显示,并把用户对数据的修改传回。这里面的绝大多数组件,如DBEdit,DBText,DBMemo,DBComboBox等的功能和对应的非数据感知组件相同。结合自己的系统,我使用了以下的数据库应用的逻辑三层的结构:如下图所示:。客户端应用程序 用户界面TDataSouce数据模块TTableTQueryBDE 数据库服务器 逻辑三层结构2.2.3 Delphi 7.0 的一些控件(1) 数据控制类DataControl (2) 数据访问类DataAccess2.3 在Delphi中通过BDE连接数据库2.3.1 BDE 概述2.3.2 BDE原生对象2.3.3 BDE 组件概要介绍。(很多个组件的介绍与功能Table.query.stro,dateset,connrct,command等)2.4 SQL 语言在Delphi中的运用在Delphi中使用SQL语言非常方便,一般来说,都是通过Tquery组件来使用SQL语言的。可以在TQuery组件的SQL属性中设置SQL语句。设计程序时,在该组件的属性对话框中选择SQL属性,单击带省略号的按钮,就可以打开String List Editor对话框,然后我们就可以在对话框中添加SQL语句。还可以使用Delphi的SQL Builder来自动生成SQL语句,这样可以避免手工编写SQL而可能造成的语法错误。静态SQL语句在程序设计时便已固定下来,它不包含任何参数和变量。动态SQL语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态SQL语句: Select * From Students Where StudentCode =: StudentCode;其中的变量StudentCode便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条SQL语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法:根据参数在SQL语句中出现的顺序,设置TQuery部件的Params属性值为参数赋值。直接根据SQL语句中各参数的名字,调用ParamByName方法来为各参数赋值。将TQuery部件的DataSource属性设置为另一个数据源,这样将另一个数据源中与当前TQuery部件的SQL语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要明细型数据库应用。在程序运行过程中,要想设置TQuery部件的SQL属性,必须首先调用Close方法,关闭TQuery部件,然后再调用Clear方法清除SQL属性中现存的SQL命令语句, 最后再调用Add方法为SQL属性设置新的SQL命令语句。例如:Query1.Close 关闭Query1)Query1.SQL.Clear 清除SQL属性中的SQL命令语句Query1.SQL.Add(Select * From Students);Query1.SQL.Add( Where Name =Lucy );在为TQuery部件设置SQL属性时调用Close方法总是很安全的,如果TQuery部件已经被关闭了,调用Close方法时不会产生任何影响。在应用程序中为SQL属性设置新的SQL 命令语句时,必须要调用Clear方法以清除SQL属性中现存的SQL命令语句,如果不调用Clear方法,便调用Add方法向SQL属性中设置SQL命令语句,那么新设置的SQL命令语句会追加在现存SQL命令语句后面, 在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。在这里要特别注意的,一般情况下TQuery部件的SQL属性只能包含一条完整的SQL语句,它不允许被设置成多条SQL语句。当然有些数据库服务器也支持在TQuery部件的SQL属性中设置多条SQL语句,只要数据库服务器允许这样,我们在编程时可以为 SQL 属性设置多条SQL语句。在为TQuery部件设置完SQL属性的属性值之后,也即编写好适当的SQL程序之后,可以有多种方式来执行SQL程序。在设计过程中,设置完TQuery部件的SQL属性之后将其Active属性的值置为True, 这样便可以执行SQL属性中的SQL程序,如果应用中有与TQuery部件相连的数据浏览部件( 如TDDGrid TDBEdit等)那么在这些数据浏览部件中会显示SQL程序的执行结果。在应用程序运行过程中,通过程序调用TQuery部件的Open方法或ExecSQL 方法可以执行其SQL属性中的SQL程序。Open方法和ExecSQL方法是不一样的。Open方法只能用来执行SQL语言的查询语句(Select命令), 并返回一个查询结果集,而ExecSQL方法还可以用来执行其它常用的SQL语句(如INSERT, UPDATE, DELETE等命令),例如:Query1.Open (这样会返回一个查询结果集)如果调用Open方法,而没有查询结果时,会出错。此时应该调用ExecSQL 方法来代替Open方法。如:Query1.ExecSQL (没有返回结果)当然在设计应用程序时,程序设计人员是无法确定TQuery部件中的SQL 语句是否会返回一个查询结果的。对于这种情况应当用TryExcept模块来设计程序。在 Try 部分调用Open方法,而在Except部分调用ExceSQL方法,这样才能保证程序的正确运行。Delphi中用ADOQuery来使用SQL语句同样十分方便。在ADOQuery组件中首先通过ConnectionString属性值来联接数据源,然后就通过双击SQL属性值来写入SQL语句。在Delphi中调用数据库,就可以调用ADOQuery组件,通过修改其中的SQL属性中的SQL语句来实现对数据库的各项操作。值得注意的是,ADOQuery组件只有在激活的情况下才可以被正确地使用,这样就提出了一个问题,也就是说,在每次修改ADOQuery组件的SQL属性时都必须先行进行关闭,待清除掉SQL中所有的SQL语句后才可以添加新的SQL语句。而且,在每一次修改完成以后,还应该记得重新将ADOQuery激活。其它的使用方法与TTQuery有许多的相似之处。2.5 本章小节本章主要介绍了数据库的理论基础、数据库的开发工具Delphi和SQL语句在Delphi中的使用方法,数据库理论基础分析了数据库的设计过程中要遵守的规则和设计方法。数据库开发工具主要介绍了Delphi的特点和Delphi的DBE控件组,另外还简要介绍了SQL 在Delphi中的运用。3 通用试卷生成系统的定义3.1 问题的定义随着教育教学改革的不断深入,/教考分离!试卷规范化!标准化的呼声越来越高如何实现之是许多教育工作者潜心探讨的问题而伴随着国家对教育发展投入的力度不断加大和全社会信息化水平的不断提高,各级各类学校基本具备了实现现代化信息管理的物质基础因此,采用计算机信息管理系统来解决/教考分离!试卷规范化!标准化的问题是一种行之有效的方法它不仅可以减轻人员的重复劳动,提高工作效率,更是各学校实现考务自动化,管理数字化!信息化的标志基于上述原因,本文给出了一个通用试卷生成系统的设计方案其系统应包含以下特点与功能:1、 用SQL Server数据库,NT4.0或者Windows98操作系统以上。题库可以自由维护、扩充,题库大小只受物理限制的存储容量。2、 限分明的管理操作系统,支持按操作者及题库权限进行操作,确保题库的公共性与私有性。3、 题支持单项选择题,判断题,填空题,编程题等题型,用户可以自由设置题型,试题内容包括内容,标准答案等属性,提供可以自由设置的试卷分类;多种试卷生成方式,可以设定参数自动生成或者手工选择试题,题库中自动抽取指定数量的试题或手工选取试题,也可以从某题库中每个题型各抽取多少分的试题,或者从多个题库中分别抽取指定数量的试题合成试卷,试卷生成的方式可以带答案、解答。4、 义的试卷可以重新编辑、排序、删除、调整,可以自动生成一份文档,也可以把现有的文档资料存到系统里,内容不受限制。3.2 可行性分析通用试卷生成系统是一个具有题库管理功能和出卷功能系统。可以将该系统分为题库管理系统和出卷系统两个模块来做,其中出卷系统又分为手工出卷和自动出卷两个子模块。题库管理模块应具有:查看题库,修改题库、新增题目、删除题目、章节管理、题型管理的功能。手工出卷让用户自己选择试题,当用户选择的试题存在重复(例如,同一道题选择了两次)或者有内容冲突(例如,同一知识点,在选择题中出现,又在填空题中出现)时,要能提示用户。自动出卷则是通过用户选择的生成试卷的条件,随机地选择试题,自动完成试卷的生成。这种试题库系统的基本思想是按照“知识点”来构建试卷,主要是思路是依据教学大纲的要求,以课程的主干内容为主线,先把教学内容细致分解为一个个知识点,然后按大纲对各个知识点的要求掌握的层次,与题型、题量、难易度及各知识点间的馆包容性结合起来,作为该试题库系统构建试题的基本原则,以便计算机自动生成每份试卷、在考查点的分布上具有较强的科学性。要实现基于知识点的试题库系统的试卷建构,首先必须研究从知识点角度对试题如何进行分类,并结合试题的类型赋予各种特征参数,使试题库编程符合科学化与规范化的要求。因此,参数的设置是否合理,对能否体现基于知识点建构试卷的思想.所建构试卷的质量,编程的工作量及运行效率都是直观重要的。试卷生成模块是整个题库管理系统的核心。本系统的组卷是采用交互方式,即用户在输入各种要求后,系统会自动生成一份符合要求的试卷。组卷过程中系统会向用户依次询问以下信息:(1) 要生成的试卷满分分数(2) 是否考所有章的内容,若只是考部分章内容,还应输入所考章的章号;(3) 将系统试题库表中该门课程所用全部题型列表显示,供用户选择。(4) 具体输入所考类型的代号,该类型的题目数目以及该类型题所占分数;(5) 将每种题型的题数分配到各章节;(6) 输入本试卷整体的难度系数;所有上述参数有效输入后,确信在题库中满足上述条件的题目数目量足够的情况下即可生成 一份试卷来。抽题组卷是系统的关键,如何设计 一个算法一定能抽出满足要求的试卷,这是一个非常复杂的问题,从大纲对各个知识点所要求掌握的层次、题型、题量、各知识点之间的包容性,及考查点分布的科学性等角度来看,现有的试卷生成系统并不能完全达到教学基本要求,有待进一步研究。题库查询和统计模块能够及时地查询和统计现在题库中试题的数量,为题库的扩充和更新提供了很好的参照。由上述需求可以画出数据流程图。为了表达较为复杂问题的数据处理过程,用一张数据流图是不够 的,要按照问题的层次结构进行逐步分解,并以一套分层的数据流图反映这种结构关系。在这里一共使用了两层数据流图,即顶层图和底层图。它们是系统的关键部分,也是主要的部分。通过以上对数据流图的分析之后,我们已大体地了解了系统的功能和目标,接下来所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。该系统分为两个子系统:题库管理系统和试卷生成系统。经过对系统的分析首先得到系统流程图。如下:试卷生成程序操作记录题库题库管理程序事务试卷事务 试卷生成系统数据流图:题库管理系统数据流图:3.3 需求分析本系需要实现以下一些基本功能:3.3.1 题库管理试题管理的主要目的是维护题库中已有的试题及各项参数输出及题库查询。其中包括题库编辑、题库排序、题库查询。题库编辑;其内容包括新建题库,已存在题库的内容修改和增添、删除以及旧题库文件的删除这部分是对基本库文件直接进行操作,特别是删除操作,对库文件的潜在危害极大。因此应防止因用户误操作而对文件造成的损坏。题库查询:要编制试卷首先要清楚各个基本库文件中的试题分布情况,因此要对基本库文件做查询,将查询反馈给出卷者(用户),出卷者再根据库中试题分步情况来选题。3.3.2 试卷管理该模块可根据要求实现试卷的自动/手工出卷自动生成的试卷试题由系统随机抽取,由于题库中的试题按照题目的难易程度分类,故随机抽出的试题难易适中,既可满足一般考试的要求又避免了人为因素,增强了试卷的可信度尽管自动生成试卷符合规范化考试的要求,但为了满足不同用户的特殊需要,特设置了手工出卷的操作,这样就增加了系统的通用性与灵活性此外,该模块还可根据用户的查询要求生成关于试卷情况的文档/试题编辑模块本模块的主要功能是录入试题,同时可对试题内容进行编辑和修改。(1)试题编号的生成试题库中的试题编号是区别试题的重要标志,因此必须保证试题编号的唯一性。为防止由于试题录入者的错误录入而造成的系统出错,同时减轻试题录入者的工作量,试题编号将由系统自动给出。图1 系统功能示意图在录入新试题时,系统给出的试题编号为当前题库中的试题数加一。(2)试题的录入在连续录入试题时,试题的科目、题型、知识点等字段的值往往会重复出现,因此系统将保留前一题录入的某些字段值,以提高试题录入效率,减轻试题录入者的工作量。2.1.2 试题查询模块本模块的主要功能是按照用户设置的查询条件对试题进行快速查询。用户可以根据科目、试题题型、试题难度、试题使用情况、试题编号以及试题知识点,来查询试题的内容、答案等信息。2.1.3 试题删除模块本模块的主要功能是对一些旧题、错题进行逻辑删除或对已被逻辑删除的试题进行撤消删除操作。在试题录入过程中,系统自动生成的试题编号为题库中的试题数加一,因此如果随便对试题进行物理删除,题库中的试题编号将会出现重复的情况,这是系统所不允许的。为解决这一问题,我们在题库中设置了一个“删除记号”字段。当字段值为.T.时,表示该题已被逻辑删除;当字段值由.T.变为.F.时,表示对已被删除的试题进行撤消删除操作。2.2 试卷生成与管理模块本模块完成试卷的组织与生成、查阅与打印及编辑功能。2.2.1 试卷组织与生成模块本模块的主要功能是组织试卷结构,生成一份完整的试卷。(1)试卷的结构组织一份试卷主要是由试卷标题、试卷内容及试卷答案三部分构成。其中试卷内容为试卷的主体,包含若干大题,每一大题中又有若干小题。由于试卷的大题数一般不会太多,因此在本系统中,我们规定大题数的上限为10。(2)试卷的选题出卷者给出试卷选题的要求,如试题的题型、难度等,系统将根据这些要求,从题库中找出满足条件的试题,并从中进行随机选题。如果出卷者对选题结果不满意,可以让系统重新选题或对个别试题进行调整。2.2.2 试卷查阅与打印模块本模块的主要功能是对历届的试卷进行查阅和打印。(1)试卷查阅的安全性问题(2)由于本系统允许有多个用户,所以需要采取必要的措施,使任何一位用户所出的试卷不能被其他用户看到。在试卷的查阅过程中,如果将使用过的试卷和未使用过的试卷混在一起进行查阅,将是一种很不安全的做法。因此,本系统将自动隐藏未曾使用过的试卷;用户如果希望对这些试卷进行查阅,就必须通过身份验证。/3.3.3 权限管理:增加可删除系统操作人员,并指定操作人员的权限。可通过对用户进行权限管理范围设定,减轻操作内容,也可对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。4 系统的框架分析和设计4.1 系统总体结构设计通用试卷生动生成系统从功能上分为几大模块:系统管理模块又分为用户权限的分配,赋予权限、修改密码,新增用户四个模块;试卷模块主要分为两大分支,手动生成试卷和自动生成试卷两大类,不同的题目对应不同的题型,根据不同的题型选择不同的数据源,最后显示在同一个表上。/要改善的题库管理模块又分为题库的修改模块(包括增加、删除、编辑、新题录入)、查询模块,查询题库时可选择多条件查询,精确查询和模糊查询,细分模块,添加细节。比如,又将修改界面中其分为增加题目,修改题目信息、删除。试卷管理模块又分为题库自动生成模块、手动生成模块、试卷修改模块、试卷删除模块、试卷预览模块。系统体系结构框图如下图。手工生成自动生成试卷修改试卷删除试卷预览试卷 管理系统 管理试题输入试题查询试题添加试题修改题库 管理修改密码用户添加用户删除修改权限数据管理退出系统登陆系统试卷自动生成系统 系统体系结构4.2 试题设计流程图如下:定制试卷1.题型 。分数自动生成-章节选择-难度选择-试卷生成浏览-答案生成查看4.3 数据模块窗体及BDE的设置本系统使用了一个数据模块窗体,这个数据模块窗体继于TdataModule。在本系统中所有的数据存取组件和数据源组件都在此数据模块中进行了定义。在编写数据库应用程序时,经常要遇到这样的情况,即多组件、窗体同时访问相同的数据源,如果为每一个组件或者窗体都设置一个数据源将是十分耗时的工作,而且要保证这些数据源的确是相同的也需花一番功夫。数据模块就把这些数据源集中管理做成的一个统一的模块,需要时就将该模块引入而不必直接操作数据源本身。简单说来,数据模块是用来集中管理数据源的一个窗体。该窗体可在需要的地方随时引入,不过一定要的是在使用该数据组件时须在USES中加入该数据模块单元。/再写一点如何连接的,属性。4.4 前台用户部分模块设计4. 登陆模块供用户登陆进入系统使用,用户首先选择用户,只有当密码符合时,用户才被允许进入系统,实现方法是对用户表进行遍历搜索,若存在记录满足用户输入的密码,则打开主窗体,并记录登陆事件和相应资料。当密码三次输入错误时就退出。主要使用了Ttable 的Locate()方法。当输入的密码正确下,登陆窗体就将主窗体可以显示的标志为真,同时,把登陆人的号码和登陆人的姓名也传到主窗体中,作为其它的功能条件。如图* 图。4.4.2 主界面设计主窗体(如图4-4)在一定的程度是存放打开各功能菜单的一个窗体,按照设计,不同的用户登陆能使用不同的菜

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论