




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要随着计算机技术的迅猛发展,学校教学和管理的信息化已逐步成为现代教育技术的重要研究课题。开发试卷生成管理系统既可以增强学校考试工作的规范性,提高试卷质量,又能减轻教师工作负担、提高工作效率,有利于学校教学信息化水平的提高。本文采用面向对象的可视化编程工具d e l p h i 设计实现了一个试卷生成管理系统。该系统包括用户管理、试卷生成、试卷管理和题库管理等模块。在系统设计过程中,对组卷算法进行了分析比较,采用一种效率和成功率都比较高的算法进行组卷。这个算法用户只需要指定考试范围、试卷满分、考试难度等指标,系统就能够自动生成满足条件的试卷。研究了d e l p h i 和w o r d 的接口,实现了系统与w r o d 的很好结合,试题、答案的编辑、试卷的排版打印都由w o r d 来完成,试卷和答案都可保存为木d o c 格式。该系统具有操作方便,界面简洁美观,实用性强,系统安全、稳定、可靠等特点,经初步运用,运行状况良好。关键词:试卷生成,组卷算法,管理系统,数据库a b s t r a c ta l o n gw i t ht h ef a s td e v e l o p m e n ti nc o m p u t e rt e c h n o l o g y ,t e a c h i n ga n dt h em a n a g e m e n to ft h es c h o o lh a sb e c o m et h ei m p o r t a n tr e s e a r c ht o p i ct om o d e me d u c a t i o nt e c h n o l o g y t h ed e v e l o p m e n to ft h ep a p e rp r o d u c t i o nm a n a g e m e n ts y s t e mc o u l d n to n l ys t r e n g t h e nt h es c h o o lt e s tw o r kt h es t a n d a r d sa n di m p r o v e st h ep a p e rq u a l i t y ,b u ta l s ol i g h t e nt h et e a c h e rw o r kl o a da n dt h ee n h a n c e m e n tw o r k i n ge f f i c i e n c y ,i sa d v a n t a g e o u si nt h es c h o o lt e a c h i n gi n f o r m a t i o n i z a t i o nl e v e l t h i sa r t i c l eu s e dt h eo b j e c t - o r i e n t e dv i s u a l i z a t i o np r o g r a m m i n gt o o ld e l p h id e s i g nt or e a l i z ep a p e rp r o d u c t i o nm a n a g e m e n ts y s t e m t h i ss y s t e mi n c l u d i n gm o d u l e s :u s e rm a n a g e m e n t ,p a p e rp r o d u c t i o n ,p a p e rm a n a g e m e n ta n dt e s tq u e s t i o nd a t a b a s e ,a n ds oo n i nt h es y s t e md e s i g np r o c e s s ,h a sc a r r i e do nt h ea n a l y s i sc o m p a r i s o nt ot h eg r o u pv o l u m ea l g o r i t h m ,u s e so n ek i n do fe f f i c i e n c ya n dt h es u c c e s sr a t i oa l lq u i t eh i g ha l g o r i t h mc a r r i e so nt h eg r o u pv o l u m e t h i sa l g o r i t h mu s e ro n l yn e e d st oa s s i g nt e s ts c o p e ,p a p e rp e r f e c ts c o r e ,a n dt e s td i f f i c u l t y ,t h es y s t e mb ea b l et op r o d u c ea u t o m a t i c a l l ys a t i s f i e st h ec o n d i t i o nt h ep a p e r h a ss t u d i e dd e l p h ia n dt h ew o r dc o n n e c t i o n ,h a sr e a l i z e dt h es y s t e ma n dw r o dv e r yg o o du n i f i e s ,t h eq u e s t i o na n da n s w e re d i t i o n ,t h ep a p e r st y p e s e a i n ga n dp r i n t i n ga l lc o m p l e t e sb yw o r d ,t h ep a p e ra n dt h ea n s w e ra l lm a yp r e s e r v et o 枣d o cf o r m s t h i ss e to fs y s t e m sh a v et h ee a s eo fc h a r a c t e r i s t i c s :o p e r a t i o ns u c c i n c t l y ,t h ec o n t a c ts u r f a c ea r t i s t i c ,u s a b l e ,s y s t e ms a f e t y ,s t a b l e ,r e l i a b l ea n ds oo n ,a f t e rt h ep r e l i m i n a r yu t i l i z a t i o nt ob eg o o d k e yw o r d s :p a p e rp r o d u c t i o n ,g r o u pv o l u m ea l g o r i t h m ,m a n a g e m e n ts y s t e m ,d a t a b a s e独创性声明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他入已经发表或撰写过的研究成果,也不包含为获得丞望太堂或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何均已在论文中作了明确的说明并表示谢意。弛张峨签字日期:矽。7 年月f 7 日学位论文版权使用授权书本学位论文作者完全了解丞洼太堂有关保留、使用学位论文的规定。特授权丞洼太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交论文的复印件和磁盘。( 保密的学位论文在解密后适用本授权说明)学位敝作者躲彩蛾签字日期:切刁年6 月第一章绪论第一章绪论2 l 世纪是计算机信息时代,现代科学技术的飞速发展,改变着世界,也改变着人类的生活。伴随着计算机和互联网技术的发展,社会信息化程度越来越高,教育事业也必须适应这种发展趋势,才能增强自己的适应能力和竞争能力,不断发展壮大。作为基础教育的学校,是社会培养高质量人才的土壤,正因如此,学校的首要任务是为学生提供良好的教育和创造良好的学习环境和氛围,使学生得到好的教育。现在,社会对教育的要求日益提高,如何提高教育教学质量,促进学生全面发展,成为学校发展的方向,这样必然对学校教学管理和其他日常工作日提出了更高的要求。1 。1 课题背景及其意义随着学校教育教学改革的进一步的深入,对学生掌握每- f - j 课程内容程度的考试必须规范化、系统化、科学化、现代化,相应的教学管理必须实现现代化、规范化。考试作为评估教育教学水平和考核学生认知能力和水平的重要手段,一份好的试卷是考试成功的重要保证,传统的出试卷方式是由教师个人组卷,这样往往造成试题难度和知识覆盖面难以把握,不能达到对学生即科学又全面的考核。试卷生成管理系统:一方面,可以实现自动组卷,避免了手工出试卷造成的试卷不规范,不易集中管理;另一方面,可以避免教师每次考试时手工组卷时的重复劳动,将教师从简单、重复的环节中解脱出来,以更多的精力投入到教育教学当中去。在试题库的制作方面,按章节和难度划分,可以不断地对试题库的内容进行完善。在每一次组卷时,可以进一步对每题的内容进行分析,发现细微的问题,对试题库的内容作进一步地修改。试题库的建设具有继承性,规范性,可以不断积累考试经验,丰富试题库的内容j 。在试题管理方面,除了少数几个步骤( 如拟题、审查等) 需要相应较高的专业知识技能之外,其它都是一些相对比较简单的、重复的、机械的劳动( 如复制、寻找、组卷、校对等) ,这部分工作单调、乏味、缺少创造性。时代的进步要求我们不断地改进工作方法和提高工作效率,科学技术的发展特别是现代计算机技术的发展对教育工作者尽快摆脱这种沉重的、低效的劳动带来了曙光。在试题管理过程中,许多重复、机械的工作虽然量大但有规律可循,适合于运用计算机进行管理,计算机管理试题库具有可行性和可操作性。开发一套试卷生成管理系统,对学校而言,优化管理体制,实现资源合理配置,节约更多的资金用于教学科研和校园设施建设,有利于教育教学信息的快速传递和充分共第一章绪论享,提高工作效率,减轻教师和教务人员工作负担,推动学校管理机制的进一步完善,适应现代化教育教学的要求,充分体现学校管理工作的先进性。对教师而言,可以随时按教学情况进行更新和修改题库信息,发布相关课程内容,提高工作效率p j 。因此,从长远的发展来看,根据学校的实际情况和发展目标,研制开发以题库为基础,融组卷为一体的试卷生成管理系统是非常必要的,以此来改变原有的以传统方式出题考试的方法,使考试知识面的覆盖率更高,使学生的能力得到增强,提高其应用知识的能力,不但可以直接和学校的教学体系接轨,更重要的是便于以后系统的扩充和更新,它不仅能实现计算机类课程考试的需求,而且还能实现其他类课程考试的需求,试题类型可以是客观题。1 2 发展现状在国外,己建立起一些针对标准化考试的试题库系统。例如:美国的t o e f l ,g r e ,g m a t 等试题库计算机系统,已成功地运作了几十年,一直都能科学地测试出学生的实际水平。这表明用计算机来成卷是可能的而且是有效的,但是,这些系统涉及到的具体内容与细节,以及其设计思想与原理几乎都是保密的,要建立一套适合中国国情的试题库就成为了一个急需解决的问题。在国内,目前部分高校己联合开发了一些基础学科的试题库系统,但就使用范围而言,这些系统大多是某一学科的“专用题库”,而且有很强的封闭性,不能根据自己学科的实际情况进行调整,缺乏可扩充性和灵活性。这样,同一所学校要实现所有学科的计算机命题成卷,就必须为每一学科都开发或购置一套相应的试题库系统,这就必将导致大量的重复性劳动、浪费大量的资金。显然这种系统在一定程度上给人们的使用带来不便,也阻碍了系统的推广,因此这样的试题库系统是不完善的。从组卷方面看,现有的试题库系统大体分三种:一种是将试题库看做试题集,命题时由具有丰富经验的教师逐题抽取。二是将试题库看做试卷集,将己经出好的试卷存储起来,在组卷时任意抽取一份。三是有自动形成试卷的功能,利用某种组卷策略,自动形成合理的试卷。前两种虽能保证试卷质量,但第一种与入工命题无异,第二种只能出有限份试卷,第三种则是随机出题,又有组卷策略可遵循,会形成千变万化的试卷,但所使用的组卷技术和策略有优有劣i 珥j 。因此,为了更好地普及计算机命题,有必要研制一个具有先进的组卷方法的试卷生成管理系统。1 3 研究内容和全文安排第一章绪论为实现教、考分离,减轻题库建设、出卷等给教师带来的繁重工作,本文以d e l p h i为界面开发平台,以a c c e s s 为后台数据库,实现试卷生成管理。1 以d e l p h i 为技术平台,进行系统的总体设计。2 进行系统数据库的设计,确定试题库的题目与命题要求。3 自动组卷算法的研究,系统可以实现智能组卷和手工组卷。在智能组卷方式中,用户只需要指定考试范围、试卷满分、考试难度等指标,系统就能够自动生成满足条件的试卷。4 d e l p h i 和w o r d 的接口研究,实现系统与w r o d 的结合,试题、答案的编辑、试卷的排版打印由w o r d 来完成,试卷和答案都可保存为木d o c 格式。论文安排,全文共分六章:第一章:讨论课题研究的背景和意义、发展现状,以及本课题研究的内容和论文安排。第二章:对本课题所采用的相关技术d e l p h i 、a c c e s s 、数据库连接技术a d o 和s q l语言在d e l p h i 用的应用做了比较全面的阐述。第三章:对课题的功能需求和功能模块的设计。第四章:分析组卷算法的原理,对试卷生成管理系统进行算法的设计与分析。第五章:系统功能的实现,主要实现对题库的录入、试卷的自动和手动生成的实现。第六章:课题的总结和展望。第一章相关技术支持第二章相关技术支持计算机软件的开发基本上分为两个不同的体系,其中一个体系是使用传统的程序设计语言( 如p a s c a l 、b a s i c 和c 等) 开发数值控制、数值运算等软件,围绕它们的重点是算术、数据结构以及近年产生的面向对象技术。另一个体系则是通用的数据库管理软件领域( 数据库应用程序开发) 。这两个体系的发展都极为迅猛,但是二者并没出现混合渗透迹象。如果使用数据库语言进行传统的算术编程,虽然也能完成相应的功能,但是其编程过程可能极为复杂;如果使用传统的的编程语言进行数据库编程,通过调用专用的数据库应用程序接口函数和过程,利用这些函数和过程提供的功能,可能也做的比较完善,但这做起来大多是比较困难的,而b o r l a n dd e l p h i 较好地实现了程序设计语言和数据库编程的融合。2 1d eip hi 简介d e l p h i 是面向对象的可视化编程工具,利用该工具既可以开发系统软件,也可以开发包括数据库软件在内的各种应用程序。d e l p h i 是全新的可视化编程环境,为我们提供了一种方便、快捷的w i n d o w s 应用程序开发工具。它使用了m i c r o s o f tw i n d o w s 图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言( o b j e c t - o r i e n t e dl a n g u a g e ) 、当今世界上较好的编辑器、拥有领先的数据库技术。对于广大的程序开发人员来讲,使用d e l p h i 开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作- d e l p h i 的每一个设计细节,都将带给您一份欣喜。d e l p h i 的大部功能是通过系统控件完成的,这些控件类通常出现在组件面板上,当用户从控件面板上点取一个类的图标后,在程序中就自动生成了该类的对象( 非可视组件除外) 【5 羽。d eip hi 主要的控件及其属陛简介t f o r m 类的控件:实现对窗体界面特性的控制1 ) b o r d e r i c o n s 属性:用来控制程序标题按钮的可用性。2 ) b o r d e r s t y l e 属性:用来控制程序边框的样式。3 ) c o l o r 属性:用来控制程序界面的颜色。4 ) f o n t 属性:用来控制程序界面的字体。5 ) p o s i t i o n 属性;用来控制程序运行时界面的显示位置。t a d o c o n n e c t i o n 类的控件:该组件包含了a d o 的连接组件,使用该组件进行4 第二章相关技术支持数据库连接,可以将窗体连接到所访问的数据库。1 ) c o n n e c t i o n s t r i n g 属性:用来控制链接字符串。2 ) l o g i n p r o m p t 属性:用来控制链接时是否要输入密码。3 ) c o n n e c t e d 属性:用来控制是否进行链接。t a d o q u e r y 类的控件:组件和t q u e r y 组件相似,可以灵活的使用s q l 语法来获取数据,并且不局限于单一的数据表。1 ) c o n n e c t i o n 属性:用来指定和哪个t a d o c o n n e c t i o n 控件相连。2 ) s q l 属性:用来添加向数据库提交的s q l 语句。3 ) a d d 方法:用来向s q l 属性添加s o l 语句。4 ) o p e n 方法:用来执行s q l 语言中的s e l e c t 语句。5 ) e x e c s q l 方法:用来执行任何s q l 语句。6 ) f i e l d b y n a m e 属性:用来给数据库的字段赋值。7 ) f i d l d v a l u e s 属性:用来取出数据库的字段的。8 ) a p p e n d 方法:用来向数据库添加一条记录。9 ) e d i t 方法:用来编辑当前的记录。1 0 ) p o s t :用来向数据库提交所做的修改。t a d o t a b l e 类的控件:是一个数据集组件,可以从a d o 数据资源中存取单一的数据库表,功能与t t a b l e 组件相似。1 ) c o n n e c t i o n 属性:用来指定和哪个t a d o c o n n e c t i o n 控件相连。2 ) o p e n 方法:用来打开数据库中指定的表。3 ) f i e l d b y n a m e 属性:用来给数据库的字段赋值。4 ) f i d l d v a l u e s 属性:用来取出数据库的字段的。5 ) a p p e n d 方法:用来向数据库添加一条记录。6 ) e d i t 方法:用来编辑当前的记录。7 ) p o s t :用来向数据库提交所做的修改。t d a t a s o u r c e 类的控件:是连接数据集部件t t a b l e 、t o u e r y 、t s t o r e d p r o c 和数据控制部件t d b g r i d 、t d b e d i t 等的桥梁,t t a b l e 、t q u e r y 、t s t o r e d p r o c 部件通过b d e可以实现与磁盘上的数据库连接即访问,但它们本身不能显示数据库中的数据信息,而数据控制部件如t d b g r i d 、t d b e d i t 等能够提供可视化的界面,显示数据库中的数据信息,但它们不具备访问磁盘数据库的能力,正是t d a t a s o u r c e 将这两者有机地结合起来,使得用户才能交互地对数据库中的数据信息进行查询、修改、插入、删除等操作。第_ 章相关技术支持1 ) d a t a s e t :用来指定和哪个数据集相连。t d b g r i d 类的控件:它是浏览数据库中的数据的网格,以网格的方式显示数据库中的数据,在网格中还可以对数据库中的数据进行编辑。利用f i e l d se d i t o r 可以对数据库表中字段的显示格式、显示顺序、是否显示等进行控制1 ) d a t a s o u r c e :用来指定和哪个t d a t a s o u r c e 控件相连。t p a g e c o n t r o l 类的控件:对页进行控制1 ) a c t i v e p a g e 属性:用来指定当前活动的p a g e 页。t c h e c k t r e e 类的控件:复选框信息控制1 ) r e a d o n l y 属性:用来控制t c h e c k t r e e 内的i t e m 是否可编辑。2 ) i t e m 属性:用来控制t c h e c k t r e e 包含的所有树形结点。3 ) i m a g e s 属性:用来指点t c h e c k t r e e 中结点的图标。4 ) o n m o u s e u p 事件:用来添加鼠标放开事件所执行的程序代码。5 ) o n s t a t e c h a n g e 事件:用来添加结点状态改变时的程序代码。o n c l i c k 事件:用来添加按钮的单击事件所执行的程序代码。2 2a c c e s s 简介a c c e s s 2 0 0 0 数据库管理系统是m i c r o s o f to f f i c e 2 0 0 0 套件的重要组成部分,是a c c e s s 的最新版本,可在w i n d o w sx p 环境下运行。a c c e s s 2 0 0 0 适用于小型商务活动,用以存贮和管理商务活动所需要的数据。a c c e s s 2 0 0 0 不仅是一个数据库,而且它具有强大的数据管理功能,它可以方便地利用各种数据源,生成窗体( 表单) ,查询,报表和应用程序等j 。数据库是有结构的数据集合,它与一般的数据文件不同,( 其中的数据是无结构的)是一串文字或数字流。数据库中的数据可以是文字、图象、声音等。m i c r o s o f ta c c e s s 是一种关系式数据库,关系式数据库由一系列表组成,表又由一系列行和列组成,每一行是一个记录,每一列是一个字段,每个字段有一个字段名,字段名在一个表中不能重复。每个表都有n 个记录组成,一个记录占一行,每一个记录由实体的基本属性的字段组成。表与表之间可以建立关系( 或称关联,连接) ,以便查询相关联的信息。a c c e s s 数据库以文件形式保存,文件的扩展名是m d b 。a c c e s s2 0 0 0 数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块【8 】。表( t a b l e ) 表是数据库的基本对象,是创建其他5 种对象的基础。表由记录组成,记录由字段组成,表用来存贮数据库的数据,故又称数据表。查询( q u e r y ) 查询可以按索引快速查找到需要的记录,按要求筛选记录并能连第二章相关技术支持接若干个表的字段组成新表。窗体( f o m ) 窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建子窗体显示相关联的表的内容。窗体也称表单。报表( r e p o r t ) 报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分析。宏( m a c r o ) 宏相当于d o s 中的批处理,用来自动执行一系列操作。a c c e s s 列出了一些常用的操作供用户选择,使用起来十分方便。模块( m o d u l e ) 模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可以根据自己的需要编写程序。模块使用v i s u a lb a s i c 编程。与a c c e s s 以前的版本比较,a c c e s s 2 0 0 0 新增了许多功能,字段类型增加了o l e 对象和超级链接,特别是与i n t e r n e t 的融合,在数据库中可以直接链接到指定的w e b 页面或网络文件,也可以把w e b 页面上的表格导入到数据库。a c c e s s2 0 0 0 可以方便地利用各种数据源,包括d b a s e ,f o x b a s e ,f o x p r o ,e x c e l ,w o r d 等。a c c e s s2 0 0 0 增加了数据库访问的安全机制,可对表一级设置访问许可权。a c c e s s2 0 0 0 还可以方便地利用f o x p r o 数据库、e x c e l 电子表格的数据,还可以和w o r d 混合使用,打印通用信函或信封。2 3 数据库连接方式d e l p h i 连接数据库的主要方式有两种:一是:b d e ,二是a d o 。现在我们来大致比较一下这两种技术的优缺点:b d e ( b o r l a n dd a t a b a s ee n g i n e ) 是d e l p h i 颇具特色的数据库连接管理技术。凭借窗体和报表,b d e 可以访问诸如p a r a d o x ,d b a s e ,本地i n t e r b a s e 服务器的数据库,也可访问远程数据库服务器上的数据库,如o r a c l e ,s y b a s e ,i n f o r m i x 等c s 数据库中的数据库,也可访问经o d b c 可访问的数据库管理系统中的数据库。a d o ( a c t i v e xd a t ao b j e c t s ) 是微软提供的一项技术。通过a d o ,可以方便的访问各种类型的数据库,特别是o l e d b 数据库。a d o 已成为访问数据库的新的标准接口。从d e l p h i6 0 开始d e l p h i 添加了对a d o 的支持,以便让用户能迅速实现对终端用户用来做商业决策的数据库的一致性访问,结合d e l p h i 本身的开发式数据组件结构,程序员可以很快地建立应用程序,用来把自己的商业数据库通过i n t e r n e t 发送给客户,最终用户以及整个销售环节。通过a d o ,d e l p h i7 0 也能让用户快速访问关系或非关系数据库以及e - m a i l 和商务文件系统【9 1 。这两者提供了几乎相同的功能,在进行产品开发时,势必要做一个精心的比较。虽第_ 章相关技术支持然a d o 技术提出的时间不长,并被定位为工业标准的,而且其在性能上由于当前没有良好的数据库引擎支持,其性能还不够完美,但是,应该注意到b o r l a n d 公司已经宣布停止发展b d e 了,其性能被a d o 超越也是迟早的事,因此,在开发长期应用的产品时,采用a d o 技术。这样还有另一个好处是,在进行产品分发时,可以避开大量b d e 的链接库d l l 的分发。基于以上原因我们选择了a d o 做为我们的数据库访问组件。在d e l p h i 7 0 中,采用a d o 技术。a d o 是微软提供对各种数据格式的高层接口( h i g h l e v e li n t e r f a c e ) ,该接口已经成为访问数据库的新的标准。a d o 支持用于建立基于客户端服务器和w e b 的应用程序的主要功能。它的主要优点是易于使用、高速度、低内存支出和占用磁盘空间较小。a d o 同时具有远程数据服务( r d s ) 功能,通过r d s ,可以在一次往返过程中实现将数据从服务器移动到客户端应用程序或w e b 页、在客户端对数据进行处理然后将更新返回服务器的操作【1 0 1 。a d o 的主要特征:i 、支持成批更新。即对多个记录更新进行缓冲,然后同时提交。2 、支持所有类型的游标。包括只向前型、键值集型、动态型和静态型游标。3 、支持服务器端存储过程。使用它可以大大提高应用程序效率。4 、支持返回多个记录集的查询。5 、支持查询目标。包括限制返回记录的数目、激活对返回记录的过滤和预先语句。尽管a d o 支持以上这些特征,但它们还需要有o l ed b 提供者的支持。在o l ed bo d b c提供者的支持下,a d o 可以用来访问已有的o d b c 数据源,如图2 - 1 所示。8 -第_ 章相关技术支持图2 1 :基于a d o 的两层数据库应用程序a d o 控件的应用,a d o 控件是a d o 对象模型的一个接口,用它可以快速的建立起数据绑定控件与数据源的连接。与d a o 相比a d o 提供了一些新的事件,是能够更有效、更灵活的控制对数据的访问。d b g r i d 是一个o l ed b 的表格控件。将a d o 控件作为它的数据源,可以很方便的在应用程序中实现记录浏览的功能。利用a d o 控件和相关的其它控件一起数据访问主要有两方面的工作:设置a d o 控件的属性以建立数据源的连接和获得记录数据;设置相关的控件的d a t a s o u r c e 属性和d a t a f i e l d 属性。一边显示a d o 控件提供的记录数据。可以预见,当记录中的字段个数很多时,设置相关控件的有关属性是一项非常繁琐的重复工作。但是用a d o 对象模型进行数据访问时,需要建立一个c o n n e c t i o n 对象,通过该对象来建立应用程序与数据源的连接。一旦建立了连接,应用程序便可以对数据进行访问。为了能够创建所有的a d o 对象,必须在应用程序工程中添加对a d o 对象库的引用 1 ho2 4s q l 语言在d e l p h i 中的运用s q ls e r v e r2 0 0 0 是一个功能强大的数据库系统,他能为任何规模的企业提供比以前的管理方式好得多的数据库管理方法。m i c r o s o f ts q ls e r v e r2 0 0 0 是一个客户服务器关系式数据库系统剧。在d e l p h i 中使用s q l 语言非常方便,一般来说,都是通过t q u e r y 组件来使用s q l语言的。可以在t q u e r y 组件的s q l 属性中设置s q l 语句。设计程序时,在该组件的属性对话框中选择s q l 属性,单击带省略号的按钮,就可以打开s t r i n gl i s te d i t o r 对话框,然后我们就可以在对话框中添加s q l 语句。还可以使用d e l p h i 的s q lb u i l d e r 来自动生成s q l 语句,这样可以避免手工编写s q l 而可能造成的语法错误。静态s q l 语句在程序设计时便己固定下来,它不包含任何参数和变量。动态s q l 语句,也被称作参数化的语句,在其中间包含着表示字段名或表名的参数,例如下面的语句是一条动态s q l 语句:s e l e c t 木f r o ms t u d e n t sw h e r es t u d e n t c o d e = :s t u d e n t c o d e ;其中的变量s t u d e n t c o d e便是一个参数变量,它由一个冒号引导,在程序运行过程中,必须要为该参数赋值,该条s q l 语句才能正确执行,每次运行应用程序时可以为该参数变量赋予不同的值。为参数赋值有三种方法:根据参数在s q l 语句中出现的顺序,设置t q u e r y 部件的p a r a m s 属性值为参数赋值。直接根据s q l 语句中各参数的名字,调用p a r a m b y n a m e 方法来为各参数赋值。第二章相关技术支持将t q u e r y 部件的d a t a s o u r c e 属性设置为另一个数据源,这样将另一个数据源中与当前t q u e r y 部件的s q l 语句中的参数名相匹配的字段值赋给其对应的参数。利用这种方法也能实现所谓的连接查询,创建主要一明细型数据库应用。在程序运行过程中,要想设置t q u e r y 部件的s q l 属性,必须首先调用c l o s e 方法,关闭t q u e r y 部件,然后再调用c l e a r 方法清除s q l 属性中现存的s q l 命令语句,最后再调用a d d 方法为s q l 属性设置新的s q l 命令语句。例如:q u e r y l c l o s e 关闭q u e r y l )q u e r y l s q l c l e a r 清除s q l 属性中的s q l 命令语句)q u e r y1 s q l a d d ( s e l e c t f r o ms t u d e n t s ) ;q u e r y1 s q l a d d ( w h e r en a m e = ”l u c y ”) ;在为t q u e r y 部件设置s q l 属性时调用c l o s e 方法总是很安全的,如果t q u e r y 部件已经被关闭了,调用c l o s e 方法时不会产生任何影响。在应用程序中为s q l 属性设置新的s q l 命令语句时,必须要调用c l e a r 方法以清除s q l 属性中现存的s q l 命令语句,如果不调用c l e a r 方法,便调用a d d 方法向s q l 属性中设置s q l 命令语句,那么新设置的s q l 命令语句会追加在现存s q l 命令语句后面,在程序运行时常常会出现出乎意料的查询结果甚至程序无法运行下去。在这里要注意的是,一般情况下t q u e r y 部件的s q l 属性只能包含一条完整的s q l语句,它不允许被设置成多条s q l 语句。当然有些数据库服务器也支持在t q u e r y 部件的s q l 属性中设置多条s q l 语句,只要数据库服务器允许这样,我们在编程时可以为s q l 属性设置多条s q l 语句。在为t q u e r y 部件设置完s q l 属性的属性值之后,也即编写好适当的s q l 程序之后,可以有多种方式来执行s q l 程序。在设计过程中,设置完t q u e r y 部件的s q l 属性之后将其a c t i v e 属性的值置为t r u e ,这样便可以执行s q l 属性中的s q l 程序,如果应用中有与t q u e r y 部件相连的数据浏览部件( 如t d d g r i dt d b e d i t 等) 那么在这些数据浏览部件中会显示s q l 程序的执行结果。在应用程序运行过程中,通过程序调用t q u e r y 部件的o p e n 方法或e x e c s q l 方法可以执行其s q l 属性中的s q l 程序。o p e n 方法和e x e c s q l 方法是不一样的。o p e n 方法只能用来执行s q l 语言的查询语句( s e l e c t 命令) ,并返回一个查询结果集,而e x e c s q l 方法还可以用来执行其它常用的s q l 语句( 如i n s e r t , u p d a t e ,d e l e t e 等命令) ,例如:第二章相关技术支持q u e r y l o p e n ( 这样会返回一个查询结果集)如果调用o p e n 方法,而没有查询结果时,会出错。此时应该调用e x e c s q l 方法来代替o p e n 方法。如:q u e r y l e x e c s q l ( 没有返回结果)当然在设计应用程序时,程序设计人员是无法确定t q u e r y 部件中的s q l 语句是否会返回一个查询结果的。对于这种情况应当用t r y e x c e p t 模块来设计程序。在t r y 部分调用o p e n 方法,而在e x c e p t 部分调用e x c e s q l 方法,这样才能保证程序的正确运行。d e l p h iq b 用a d o q u e r y 来使用s q l 语句同样十分方便。在a d o q u e r y 组件中首先通过c o n n e c t i o n s t r i n g 属性值来联接数据源,然后就通过双击s q l 属性值来写y n s q l 语句。在d e l p h i 中调用数据库,就可以调用a d o q u e r y 组件,通过修改其中的s q l 属性中的s q l 语句来实现对数据库的各项操作1 13 1 。值得注意的是,a d o q u e r y 组件只有在激活的情况下才可以被正确地使用,这样就提出了一个问题,也就是说,在每次修改a d o q u e r y 组件的s q l 属性时都必须先行进行关闭,待清除掉s q l 中所有的s q l 语句后才可以添加新的s q l 语句。而且,在每一次修改完成以后,还应该记得重新将a d o q u e r y 激活。其它的使用方法与t t q u e r y有许多的相似之处。第三章系统总体设计第三章系统总体设计试卷生成管理系统是一个具有题库管理功能和出卷功能的系统。因此将该系统分为题库管理系统和出卷系统两个主模块来设计,其中出卷系统又分为手工出卷和自动出卷两个子模块。题库管理模块具有:查看题库,修改题库、新增题目、删除题目、章节管理、题型管理等功能。3 1 功能需求本系统主要包括以下几个功能模块如图3 - 1 所示:3 1 1 对试题的要求1 试题属性的确定图3 - 1 系统功能模块第三章系统总体设计根据课程考核目标,本系统所设置的属性有试题编号、试题内容( 题j f ) 、试题使用次数、试题答案、难度系数以及知识点编号等。根据不同课程以及管理的需要,还可以规定其它的题目属性。对于题库中的每一道题目,都要具有这些属性并且都有值1 1 4 】。2 命题要求衡量一个题库的好坏,首先是看命题工作是否有一个严格的要求,应事先设定命题细则表,并按要求编写试题,认真审核试题,提供最优的答案。准确控制试题的难度系数,以便良好地控制所抽取试卷的整体难度。并确保每道试题的知识点,不能和其他试题知识点发生相互交叉,最后题干内容要准确的描述出所考核的内容,清楚易懂。3 、题库的质量保证一个合格的、良好的题库系统应该库存量丰富、库内存储内容质量上乘。题库中的题目的数量要足够多,这样才能做到使题目尽量不被重复使用,以防止由于题库中的题目数量不够造成试题反复被抽取,从而造成同一试题反复被使用而失去测试的功能,题库中的每道试题的性能必须确定,试题的各项参数:考核的内容、知识点、难度、使用次数、重要系数等都应严格进行控制,以确保题库的质量【1 5 1 。3 1 2 对试卷管理的要求定制试卷可以采用两种方法:自动抽题和手动抽题一1 自动抽题利用自动组卷算法,自定义出题策略,根据试题分布,按题型、知识点、难度等参数定义出出题数量,从题库中抽出符合要求的试题,组成满足考试要求的试卷。2 手动抽题根据题目类型和所选择的数目,进行选取,满足传统考试的需要,生成试卷时,自动生成两份试卷,一份不包含答案,一份包含答案,试卷规范、直接可用。3 2 功能模块1 试题管理模块本模块的主要功能是录入试题,同时可对试题内容进行编辑和修改。( 1 ) 试题编号的生成试题库中的试题编号是区别试题的重要标志,因此必须保证试题编号的唯一性。为防止由于试题录入者的错误录入而造成的系统出错,同时减轻试题录入者的工作量,试题编号将由系统自动给出f 1 6 1 。( 2 ) 试题的录入第三章系统总体设计在连续录入试题时,试题的科目、题型、知识点等字段的值往往会重复出现,因此系统将保留前一题录入的某些字段值,以提高试题录入效率,减轻试题录入者的工作量。根据该课程的考核目标和实际特点,首先确定考核中需要使用的特性,例如题型、难度等;对确定的每一个特性进行量化,例如将“难度”特性分为“1 ,2 ,3 ,4 ,5 对应为“容易、较易、中等、较难、难”五种档次,具体定义每一种档次。( 3 ) 题目管理主要是维护题库中已有的试题及各项参数输出及题库查询。其中包括题目编辑、题目排序、题目查询。题目编辑;包括新建题目,己存在题目的内容修改和增添、删除等操作。特别是删除操作,对库文件的潜在危害极大,做删除操作时要由信息框提示信息,是否真的进行删除,此在可避免误删除造成的损失。2 试卷生成与管理模块本模块完成试卷的组织与生成、查阅与打印及编辑功能。( 1 ) 试卷组织与生成模块本模块的主要功能是组织试卷结构,生成一份完整的试卷。试卷的结构组织。一份试卷主要由试卷标题、试卷内容及试卷答案三部分构成。其中试卷内容为试卷的主体,包含若干大题,每一大题中又有若干小题。试卷生成管理。实现试卷的“自动手工出卷”,自动生成试卷,用户给出试卷选题的要求,如试题的题型、难度等,系统结合这些要求,根据组卷算法,从题库中找出满足条件的试题。尽管自动生成试卷符合规范化考试的要求,但为了满足不同用户的特殊需要,特设置了手工出卷的操作,这样就增加了系统的通用性与灵活性。( 2 ) 试卷查阅与打印模块本模块的主要功能是对试卷进行查阅和打印。试卷查阅,对以前生成的试卷进行查阅。调用w o r d 控件,对已生成的试卷进行阅览和打印。3 用户管理( 1 ) 权限管理。增加或者删除系统操作人员,并指定操作人员的权限,可通过对用户组进行权限及管理范围设定,减轻操作内容,也可以对单个用户权限及范围进行修订,从而保证系统在实施中的灵活性。第三章系统总体设计( 2 ) 数据的备份与恢复。能够备份和恢复数据库文件,这项功能只有管理员级的用户才能使用,把数据库文件按用户指定的路径进行保存或恢复【1 7 1 。一个好的管理系统,离不开数据库的支持,本文设计了三类数据库,即系统用户库、试题库和试卷结构库,其中试题库为每种类型的试题建立一张表( 试题表) ,以便于题库内容的扩展,管理和提高自动组卷效率。3 3 数据库设计1 系统用户库:名称:操作人员表表名称标识:a d m i n数据来源:权限管理模块进行录入操作人员表如表3 - 1 所示。表3 1 操作人员表?17 一“?:。? = 名称,。,字段名称类型主键。菲空一。标识i d自动编号y e sn o用户名u s c m a m e文本n oy e s用户密码u s e r p w d文本n on o用户类型c l a s s数字n on o2 试题库( 1 ) 名称:难易程度表表名称标识:n a n y i d j数据来源:直接在数据库中录入。难易程度如表3 - 2 所示:表3 2 难易程度表”。4 ”“”w 1* 。一# ”“# 8w 虬”i * 4 8 ;名称字段名称类型主键非空!编号b h自动编号y e sn o难易等级n y d文本n on o( 2 ) 名称:填空题表表名称标识:t t i a n k o n g数据来源:试题录入模块进行录入填空题表如表3 - 3 所示。第三章系统总体设计表3 3 填空题表名称字段名称类型主键非空编号b h自动编号y e sn o随机号s j h数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理健康知识普及与辅导技巧考核答案及解析
- 2025年病理科肿瘤病理切片鉴别诊断考察答案及解析
- 2025年呼吸内科呼吸机操作技能考核试卷答案及解析
- 2025年精神科学科心理评估与干预技能检测答案及解析
- 初中化学推断题型专项突破训练
- 2025年骨髓移植科造血干细胞移植术后并发症处理试卷答案及解析
- 小学数学时间教学全套方案
- 2025年眼科常见疾病诊疗知识测试答案及解析
- 高三数学三角函数复习资料
- 2025年精神科抑郁症治疗方案选择答案及解析
- 长期护理机构照护服务记录表(护理员用表)2-4-5
- 2024年江苏省射阳县事业单位招聘35人历年高频考题难、易错点模拟试题(共500题)附带答案详解
- 标签打印机的快速批量打印方法
- GB/T 1504-2024铸铁轧辊
- 食品行业创新与研发
- 电力各种材料重量表总
- 樊荣-《医疗质量管理办法》核心制度要点解析与案
- 男性不育症诊治指南课件
- 《声声慢》省赛一等奖
- 消防安全教育培训记录表
- 国家开放大学《实用管理基础》形考任务1-4参考答案
评论
0/150
提交评论