在线考试系统的设计与实现_第1页
在线考试系统的设计与实现_第2页
在线考试系统的设计与实现_第3页
在线考试系统的设计与实现_第4页
在线考试系统的设计与实现_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

在线考试系统论文在线考试系统的设计与实现摘要在信息技术迅速发展的今天,网络对于大多数人已不再陌生,并且其应用在人们的工作、学习和生活中越来越多地发挥着不可替代的作用。很多学校也纷纷根据自身的需要,采用了先进的信息技术来加强教学管理、提高教学质量。网上考试作为网络教育不可缺少的组成部分,它与传统的考试相比较而言,减少了教师出题、组织考试、批改试卷等工作量,提高了教师的工作效率,并且使考试更客观公正。但是目前很多考试系统都是由软件开发公司来开发并且销售的,多数考试系统力求功能全面,从而存在着设置参数过多、操作较难、成本较高等问题。所以开发一个适用于中等职业学校、实用够用、操作简单、使用方便、成本较低的考试系统是很必要的。本系统以哈尔滨市第一职业高级中学的网络考试为背景,采用了当前较为流行B/S三层体系结构,其客户端采用浏览器来完成考试全过程;使用应用广泛的C#.NET语言进行开发,使用SQLServer2005作为后台数据库,本系统涉及多个科目和多种考题类型,在考试过程中实现了自动组卷、时间限制、在线批卷、题库管理等多种功能、并且能很好地处理考试断点情况。较以往的考试系统相比,这本系统最大的特点是增加了指纹识别功能,学生在报名参加考试的同时采集本人的指纹信息并将它保存到相应的指纹数据库里面,学生进入考场之前通过计算机和指纹识别仪进行指纹识别,指纹识别通过者才可以进入考场准备考试;本系统开发可以满足我校的多种考试情况并且已经成功地在校园网上运行。它界面友好、可操作性强、性能稳定、扩展性良好。系统的使用改进了学生考核手段,取消了以往考试对时间和地点的限制要求。为我校节约了大量的人力、物力和财力。关键词:在线考试;指纹识别;自动组卷;Browser/Server;

AbstractToday,withtherapiddevelopmentofinformationtechnology,networkisnolongerstrangetomostpeople.Itsapplicationinpeople'swork,studyandlifemoreandmoreplayanirreplaceablerole.Manyschoolshaveadoptedtheadvancedinformationtechnologytostrengthenschoolmanagementandimprovethequalityofinstructionontheirownneeds.On-linetestasanindispensablepartofthenetwork’seducation,comparingwithtraditionaltest,reducestheteacher’sworkofthepapersetting,theexaminationorganizingandtheexaminationpapers’marking,etc,improvestheteacher’sefficiency,andmakesthetestbemoreobjective.Butthereisalotoftheexaminationsystemsaredevelopedandsalebysoftwaredevelopmentcompany,Mostoftheexaminationsystemswantafullfunctionthattheyhavemanyproblems,suchassettingtoomuchparameter,hardoperationandhigh-cost.Soitisnecessarytodevelopanexaminationsystemwhichareusefulandenough,operationeasy,usingconvenientandfitsformiddlevocationalschool.ThissystemusesHarbinNo.1VocationalSchool'sfirstnetworktestforthebackground,itadoptsB/Sthree-tierarchitecturewhichismorepopularatthecurrent.Itsclientusesthebrowsertocompletethewholeprocessofexamination.ItusestheC#.NETlanguagetodevelopwhichiswidelyused,itusesSQLServer2005asdatabase.Thissysteminvolvesanumberofsubjectsandavarietyofquestiontypes.Intheexamination,itachievestheautomatictestpaper,timeconstraints,onlinebatchvolume,examinationmanagementandotherfunctions,anditcanwellhandlethesituationofbreakpointduringthetest.Comparedwiththeoldexaminationsystems,thebiggestcharacteristicofthesystemisthatitincreasesfingerprintingcapabilities.Itgathersone’sinformationoffingerprintsandkeepsthemtotherelateddatabasewhenthestudentsapplyfortheexamination.Beforethestudentsentertheexaminationroomtheymustpassthefingerprintrecognitionbycomputerandfingerprintidentificationdevice,thenthemcanentertheclassroomtopreparefortheexam.Thedevelopingofthissystemcanmeetavarietyoftestconditionsofourschoolandhasbeenrunningsuccessfullyinthecampusnetwork.Itsinterfaceisfriendly,operabilityisstrong,performanceisstable,andscalabilityisgood.Theusingofthesystemimprovethestudents’assessmenttools.Itcancelsrestrictedrequirementstothetimeandaddressoftheoldexaminations.Itsavesalotofmanpower,materialandfinancialresources.Keywords:onlineexamination;fingerprintidentification;automaticgeneration;Browser/Server目录中文摘要 IIAbstract III第1章绪论 5课题背景 5课题目的和意义 5国内外研究现状 6项目的研究内容 8第2章本课题相关技术的简介 9软件工程 9软件工程的概念和目标 9软件的特点及其要素 9软件工程常用的开发模型 102.2B/S模式 122.3ASP技术简介 142.3.1什么是ASP 142.3.2ASP的特性 142.4ADO技术 152.4.1ADO介绍 152.4.2ADO与数据库交互技术 152.5SQLServer2005介绍 162.5.1SOL语句介绍 162.5.2SQLServer2000的特点 162.6C#语言的特点 182.7本章小结 19第3章系统需求分析 203.1系统的目标分析 203.2可行性分析 203.2.1技术可行性 213.2.2经济可行性 213.2.3操作可行性 213.3系统需求问题描述 223.3.1系统功能需求 223.3.2系统非功能性需求 233.4系统开发环境 233.4.1硬件平台 243.4.2软件平台与开发工具 243.5本章小结 24第4章系统的设计与实现 254.1考试系统的系统结构图 254.2系统实现 264.2.1实现过程概述 264.2.2主要功能模块设计 264.3关键技术 304.3.1常见的组卷算法 304.3.2算法实现 324.3.3考试中断与恢复处理 35指纹识别技术 36指纹识别的概况 36指纹识别的原理 36指纹识别算法 394.5数据库的分析与设计 40第5章系统测试 435.1系统测试目标 435.2系统测试的基本原则 435.3系统测试的方法 44界面测试 45系统功能测试 45兼容性测试 46负载测试 465.9系统测试结果与分析 47总结 48参考文献 49致谢 50第1章绪论课题背景在当下的信息不断发展时代,计算机技术和网络技术被越来越广泛地应用于各个领域,它改变着人们的生活、工作、学习甚至思维方式,同时也引起了教育领域的重大变革。信息技术的不断发展,是现代教育发展的需要,是计算机考试发展的必然趋势,考试作为衡量人的能力的重要手段,在现代生活中的地位进一步提高,并深入到社会的各个层面。在线考试是改革教育模式,提高学校教学效果和教学效率、提高科研和管理水平的必要手段。针对我校的情况,人数众多,每次考试会浪费大量的人力物力,特此研究在线考试系统,不仅能实现计算机类课程考试的需求,还能实现其他各类课程考试的需求,试题类型可以是客观题,也可以是主观题。目的是可以直接和学校的教学体系接轨,改变原有的以传统笔试为主的考试方法,提高学生动手能力,使其应用知识的能力得到增强,更重要的是便于以后系统的扩充。目前试题库的趋势是用大规模的计算机网络考试模式,随着计算机网络技术的教学、生产生活正变得越来越流行,传统的考试,布置考场、检查、组织成绩有效管理和考生考试模式发生了很大的变化。因此,如何让现在考试过程就会变得更快,更方便、更公平、更高效、是现代教育一个很重要的问题。网上考试系统是一种传统的考试的改革,是传统的考试的延伸,它利用了强大的网络,可以在任何时间、任何地点对学生考试,加上先进的数据库技术的采用,从而大大简化了传统的测试过程。有此可以看出网络考试系统是现实现代化教学不可缺少的一个重要环节。有趋势表明,考试的标准化、计算机网络化已当今考试的发展方向,当前国际上许多考试认证,例如GRE、CISCO,其出题、答卷以及评分都是在计算机上完成的[1]。对传统的考试形式已不能适应发展的需要。一般来说,组织一个传统的测试至少通过五步骤,即人工出题,考生考试,人工阅卷、评估试卷和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,教师的工作量将会越来越大,其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试。那么基于网络的考试系统恰恰能弥补这些不足。基于网络考试系统是传统的考试的延伸,加上数据库技术使用,大大简化了传统的测试过程,并可使用足够标准化测验,使用计算机判卷,大大提高阅读效率,考试更趋于客观性、公证、更激发学生的学习兴趣。还可以直接把取得的考试成绩保存到数据库、进行统计和排序操作。其运行成本低廉,有效和灵活的优良性能,因此,老师所要做的是精心设计的试题,维护题库,不组织考试,从而大大减少教师的负担,这表明其经济可行性是相当大的[2]。为了适应新形势的发展,为了配合中等职业学校考试制度的改革,结合中职学校的特点:中职在校学生人数较多,各中职学校开设的专业课相对来说也很多。并且,大部分学生都来自于初中,中职学校以培养学生的动手能力为主,学习文化课为辅;多年来,绝大多数的学校所有课目都是采用传统的考试方法。由于,学生人数众多、班级数目多、学生考试的科目较多,而教师相对来说又较少,每年的各种考试只能按照不同的年级在不同的时间段进行,既费时又费力。为了改变现状、提高效率、充分利用中职学校现有的计算机软、硬件资源和网络资源实现考试,我们有意开发一个在线考试系统,争取以后中职学校的文化课实现在线考试。利用考试系统实现本地及远程考试则可大大简化考试的过程和复杂度,可以很好地解决中职学校人员不足问题;利用考试系统还可以不断地充实题库,解决教师反复出题的工作压力;利用考试系统可以由计算机来完成阅卷,减少人工阅卷的工作量并充分保证了阅卷的公平性与客观性。综上所述,我会针对中职学校的考试特点进行全面的分析、详细的设计、并结合中职学校的实际情况,提出一种基于Web的网上考试系统,并用SQLSever2000数据库与C#.NET技术结合进行具有中等职业学校特色的考试系统的开发。国内外研究现状在国内,目前绝大多数考试还停留在传统考试方式上,网络实际应用的限制在线登记工作和在线测试成绩查询,还没有真正形成的在线测试的规模。网上考试系统作为现代教育的一个子系统,是保证教育教学质量的重要手段。在传统的考试方式下,组织考试要经过出题、考试、评卷、试卷分析等步骤,随着考试类型的增加及考试要求的提高,教师的工作量将会越来越大,并且其工作非常容易出错,在一定程度上说,传统的考试方式已经存在着改革的必要了[3]。Internet技术的发展使得考试的技术手段和载体发生了划时代的变化,考试从传统的纸笔考试到计算机辅助考试再发展到基于Web的网上考试成为现实。作为网络考试系统,国外很早以前就开始使用了,并且在题库建设、统计措施等方面取得许多重要理论的结果,如我们熟知它们的经典测量理论、概化理论、项目反应理论、题库理论、自适应检验理论等。网上考试在一些国家已经得到了蓬勃发展,人们学习课程和考试都是通过网络来进行的。例如国外一些著名的考试,如Microsoft公司的MCSE(Microsoft系统工程师认证考试)、GMAT(工商管理硕士入学考试)、托福考试、GRE(美国研究生入学考试)等,都是采用网上考试的形式进行的[4]。

然而,软件的研究人员在客户应用调查中发现,当前大多数的在线考试应用都还处于把纸面的考卷搬到网页上,然后使用电脑进行自动批卷的简单应用水平上。但也有一些机构已开始利用互联网独有技术特点,针对一些学习点,创新出一些网上考试特别的考试问题。可以预见,连同其他不同创新性在线考试的应用的不断出现,将会有越来越多的考察考生能力测试是通过在线考试系统提供的。另一个趋势是随着网络技术的不断发展,在一定程度上通过技术手段,保证了公平的考试,使之能应用到更广泛的领域。现在,在线考试系统已实现了很多网络上特有的防作弊功能,如:网络监控功能、随机出卷、题目混编等功能。可以说,在某些特定应用领域,考试的公正性是可以得到很好的保证的,现在一些行业的资格认证考试,一些单位的任职资格考试都已经渐渐有了网络考试代替传统的考试方式了。同时,随着教育改革的不断深入,教育行业的分专业化,这是不可避免的,往往有一批优秀的教师、科研人员将会逐步转向提供精品的课件和题库,而其他教师则会使用这些优秀教学资源去辅导更多的学生。在这样一个发展趋势下,只有有效地保护题库创作者的知识产权,才能更好地推动整个产业价值链的发展。从整个业界发展来看,一方面提供良好的教学资源(包括题库)的交换渠道,另一方面实现对题库创作者的知识产权的有效保护,这些都是在线考试系统未来将面临的主要问题[5]。在目前,在线考试系统的开发技术的主流有已经相当成熟,且很好地适合于动态站点设计和基于网络数据库访问的要求,是当前网上考试软件实现的主流技术之一。在对大量关于网上考试系统资料的研究和学习后,根据工作的需要,针对本校实际情况特别是教学的需求,利用学校校园网络存在的基本条件,研究、开发适合本校使用的基于Web的网上考试系统。项目的研究内容为了保障整个系统的安全性,在线考试系统实现了分类验证的登录模块。通过此模块,可以对不同身份的登录用户进行验证,确保了不同身份的用户操作系统。在抽取试题上,系统使用随机试题的方式,体现了考试的客观与公正。在考生考试过程当中会出现计时器,提醒考生考试时间。当考生答题完毕之后,提交试卷即可得知本次考试的得分,体现了系统的高效性。在后台管理员管理模块和试题管理模块。其分别适应不同的用户,前者只有系统高级的管理员才能进入,对整个系统进行管理。而后者只允许教师登录,教师可以对自己任教的科目试题进行增加、修改、删除等操作,并且可以查看所有参加过自己任教科目的学生成绩。综合上述内容,本文的组织结构是这样安排的:第1章:介绍了课题的背景、目的和意义以及考试系统的国内外发展的现状。第2章:介绍了软件工程的相关知识,讲述B/S三层体系统结构、C#.NET开发语言和ASP的相关知识以及访问数据库的相关知识。第3章:通过认真地分析和讨论,提出了在线考试系统的目标、考试系统的可行性分析、功能需求和非功能需求。第4章:根据系统功能模块的划分进行总体框架设计、数据库设计、界面设计和系统优化设计。第5章:详细介绍系统的实现技术,对关键技术进行分析并提出解决方案。第6章:系统测试与维护的相关论述,分析系统的成功与不足,并对未来工作做进一步的探讨和展望。第2章本课题相关技术的简介软件工程软件工程的概念和目标许多计算机和软件科学家尝试,把其他工程领域中行之有效的工程学知识运用到软件开发工作中来。经过不断实践和总结,最后得出一个结论:按工程化的原则和方法组织软件开发工作是有效的,是摆脱软件危机的一个主要出路。软件工程到底是什么?答案很简单。如外行人理解的,软件工程是工程原理在软件上的应用。进一步细化则可以将工程定义为:将科学和数学原理应用于实际目的,如设计、制造和操作有效且经济的结构、机器、过程和系统。如果将工程的这个定义应用于软件,软件工程则可定义为:将科学和数学原理应用于软件设计、制造以获得有效的和经济的软件、软件开发过程和软件系统。软件工程的目标是:在给定\o"成本"成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并且满足用户需求的软件产品。追求这些目标有助于提高软件产品的质量和开发效率,减少维护的困难。软件的特点及其要素如果我们考虑周围的各种产品,如计算机及各种电子设备,它们好像存在某种程度的共性。软件也是一种产品,但它与上述产品有一些本质的不同,其区别在于软件不是物理实体。软件是一个逻辑实体,因而它具有抽象性。软件常见的特点如下:(1)软件不开发的,不是制造的尽管像其他产品一样,软件必须先设计,然后制作,但是它不是从自动装配线上生产出来的。尽管有很多计算机辅助软件工程工具可以使用,但是许多方面取决于开发人员的个人技能和创造能力,这些很难详细说明,更难以量化,而且事实上不可能标准化。因此管理软件的开发和控制软件的质量成为非常具有挑战性的工作。CASE是一个将各种软件工具和一个存放开发过程信息的工程数据库组合起来的软件工程环境。(2)软件具有柔性通常对于大多数工程产品而言,如果需要修改,首先修改设计。但是对于软件,可以很容易地修改产品本身,而不需要修改设计。因此软件具有高度柔性,所以不同于其他产品。然而软件容易修改这一特点经常被滥用。假定用严格的原则进行控制,软件的柔性特性可以得到有利的利用。这里用于修改的手续和质量标准就变得很重要。(3)软件不磨损与其他机械产品不同,软件从不磨损。但是,软件也会不能用,因为在最初开发之后软件的功能多年不变,其对不断变化的需求的适用性会随着时间的推移而降低。如果对软件进行修改以满足不断增加的需求,很可能就会产生缺陷,因而破坏软件的质量。更重要的是,对于其他工程产品,可以很容易地用备件更换缺陷部件,与此不同,软件没有备件的概念。软件是计算机系统中与硬件相互依存的另一部分,它包括三个要素:程序、数据和文档。其中,程序是按事先设计的功能和性能要求执行的指令序列;数据是使程序能正常操纵信息的数据结构;文档是与程序开发、维护和使用有关的图文材料。2.1.3软件工程常用的开发模型与其它任何工程学科相同,软件工程也有一些用于软件开发的结构模型,软件开发生命周期模型是从软件项目可行性分析直至软件经使用后废弃为止,跨越整个生存周期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。随着软件工程的发展,已经产生了多种SDLC模型,用的开了模型有四种:瀑布模型、原型模型、增量模型和螺旋模型。本节重点讨论瀑布模型和螺旋模型。瀑布模型包括可行性分析、需求分析、系统设计、编码、测试、部署和维护七个阶段,第一个阶段自上而下,相互衔接,次序固定。瀑布模型具有很强的顺序性和依赖性,即:下一阶段必须以上一阶段的完成为前提。如同瀑布流水,逐级下落。因此,引用“瀑布”一词做些模型的名称。如图2-1所示:可行性分析可行性分析需求和分析系统设计编码测试维护部署图2-1软件工程的瀑布模型Fig2-1softwareengineeringwaterfallmodel螺旋模型是瀑布模型的改版,它的演变过程从中心开始,近顺时针方向移动,每个周期都包含计划、风险分析、工程、客户评估、客户通信几个阶段。开发过程每迭代一次,螺旋线就增加一周,软件开发前进一个层次,系统生成一个新版本,软件开发时间与成本又有新投入,经过多次的迭代最终可以得一个用户满意的软件版本[6]。如图2-2所示:图2-2软件工程的瀑布模型Fig2-2softwareengineeringwaterfallmodel2.2B/S模式B/S(Browser/Server):它是浏览器/服务器结构,一种全新的软件系统构造技术。它只需要安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行结构是一种全新的软件系统构造技术。它只需要安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。它也是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构,其结构如图2-3所示。这种模式统一了客户端,将系统功能实现的核心部分全都集中到了服务器上,简化系统的开发、使用和维护。在这种结构下,通过浏览器为用户进行工作,在前端(Browser)实现的只是很少部分事务逻辑,服务器端(Server)来实现主要事务逻辑,形成所谓三层结构。这种三层结构分别指:表示层、业务逻辑层和数据存储层,三层结构在层与层之间都是相互独立的,任何一层有所改变都不会影响其它层次的功能。这样就可以很大程度上将客户端电脑的负荷大量减少,并将系统的维护和升级的成本与工作量减轻了不少,使用户的总体成本降低。伴随着Windows将浏览器技术植入操作系统内部,这种结构已成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是一个非常大的进步[7]。图2-3Browser/Server结构Fig2-3Browser/ServerstructureB/S(Browser/Server)结构有如下优点:(1)维护方便:因为B/S结构管理软件只需要安在服务器(Server)上,网络的管理员只需要管理好服务器(Sever)就行了,这样不仅能够降低总体成本,而且方便维护。软件所有的维护、升级工作都只在服务器上进行,只需要改变网页,即可实现所有用户的同步更新即获得最新版本的软件。这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显客户端在运行软件时,类似于我们平时上网浏览网页,只要有浏览器就可以,不用安装其它软件。(2)安全性好:客户端请求都是过DBMS(SQLServer2000)来访问数据库,从而大大减少了数据直接暴露的风险,因此系统的架构就采用了B/S设计模式。服务器端程序的实现技术也很多,本系统选用了当前比较流行的网络编程技术——ASP(ActiveServerPages)作为主要实现手段(配合JavaServlet、JavaBean、HTML等)。(3)成本降低在原有的C/S两层结构中,软件一般是采用两层结构的。而B/S采用的是三层结构,其结构如2-4图所示。两层结构中,客户端接受用户的请求,客户端向数据库服务提出请求,数据库服务将数据提交给客户端,客户端将数据进行计算(可能涉及到运算、汇总、统计等等)并将结果呈现给用户。采用三层结构的B/S的配置可以是提高服务器的配置,降低客户端的配置。这样增加的只是一台服务器(应用服务和数据库服务可以放在同一台计算机电脑中)的价格,而降低的却是几十台客户端机器的价格。起到了降低总体拥有成本的作用[8]。图2-4Browser/Server结构Fig2-4Browser/ServerstructureASP技术简介什么是ASPASP(ActiveServerPages)本身并不是一种脚本语言,它只是提供了一种使镶嵌在HTML页面中的脚本程序得以运行的环境。ASP文件是以.asp为扩展名的文本文件,可以使用任何一种文本编辑器(如Windows中的记事本、写字板)创建ASP文件。ASP程序中可以包含纯文本、HTML标记以及脚本命令。ASP本身还提供了五个内置的对象。这五个内置对象可被ASP脚本直接使用,它们是分别是ee1.Request从客户端取得信息传递给服务器,是ASP读取用户输入的主要方法。2.Response服务器将信息传递给用户3.Server提供访问服务器的方法和属性4.Application在一个应用程序的多个主页之间保留和使用某些共同的信息,负责管理所有会话信息,可用来在指定的应用程序的所有用户之间共享信息。。ASP的一大特色,是可以用来编写具有协作机制的应用程序,在多个用户的多个主页之间共享信息。使用内置的Application和Session对象可实现这些功能[9]。使用那些带有ASP增强支持的编辑器将更提高效率,如FrontPage,Dreamweaver等。想要学好ASP程序的设计,必须掌握脚本的编写。脚本就是由一系列的脚本命令所组成的,类似一般程序,脚本可以将值赋给变量,也可以命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。要编写脚本,至少要掌握一门脚本语言,如JavaScript。在ASP文件中通常包含文本、HTML、标记和脚本命令,这三部分的内容以各种组合混杂在ASP文件中,需要使用不同的符号进行区分。ASP的特性ASP具有如下几个重要特性面向对象:ASP提供了几种内置对象。通过使用这些内置对象可以使脚本功能更强。另外,利用这些对象还可以从客户端浏览器中获得信息或者向客户端浏览器发送信息。具有保密性:ASP是在服务器端运行,送到客户端浏览器的是ASP的执行结果所生成的HTML页面,因此ASP程序具有保密性。无须编译:容易编写,可在服务器端直接执行数据处理方便:使用附加组件可以扩展ActiveServerPage。ActiveServerPage可以同几个标准的服务器端ActiveX组件捆绑在一起。与数据库连接:ASP可以与数据库(如SOLServer,MicrosoftAccess等)建立连接,通过对数据库的操作建立功能强大的Web应用程序。2.4ADO技术ADO介绍ADO的全名是ActiveXDataObject(ActiveX数据对象),是一组优化的访问数据库的专用对象集,在多数的应用程序中,程序都要根据用户的需要操作数据库,ADO对象在服务器端执行,并向客户端提供含有数据库信息的内容,客户端可以根据指定的权限对数据库进行读写等操作,这些技术可以操作如Ms-Access、SQLServer和Oracle等数据库。当用户需要数据时,ADO就可以访问存储在数据库中的数据。它为ASP提供了完整的站点数据库访问解决方案[10]。它可作用于服务器端,以提供含有数据库信息的主页内容。通过执行SQL命令,让用户在浏览器画面中输入、更新和删除站点服务器的数据库信息。ADO与数据库交互技术使用ADO访问数据库的设计要领是掌握ASP脚本的几个典型语句,它们是:1.定义数据库组件。有两种定义方法:使用"Server.CreateObject"建立连接的对象。Set·使用<OBJECT>标记建立连接的对象。<OBJECTRUNAT=ServerID=ConnCLASSID="Clsid:00000293-0000-0010-8000-00AA006D2EA4"></OBJECT>2.可以用"Open"命令打开要访问的数据库:Conn.Open"DSN名称"3.设定SQL语句,使用"Execute"命令,即可开始执行访问数据库的动作:SetRS=Conn.Execute("SQL语句")其中RS为结果集对象(RecordSets)。4.利用RecordSets对象所提供的属性显示查询结果,如下例将查询结果显示于一个表格中:(其中<%和%>是ASP脚本的专用定界符)ASP与组件对象的使用[11]。2.5SQLServer2005介绍2.5.1SOL语句介绍SQL全称是“结构化查询语言(StructuredQueryLanguage)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEMR开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是Oracle,Sybase,Informix,SQLserver这些大型数据库管理系统,还是VisualFoxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。StructuredQueryLanguage包含4个部分:数据查询语言DQL-DataQueryLanguageSELECT数据操纵语言DQL-DataManipulationLanguageINSERT,UPDATE,DELETE数据定义语言DQL-DataDefinitionLanguageCREATE,ALTER,DROP数据控制语言DQL-DataControlLanguageCOMMITWORK,ROLLBACKWORK[12]。2.5.2SQLServer2000的特点MicrosoftSQLServer2000是一代大型关系数据库管理系统,支持高容量的事务处理以及数据仓库和决策支持系统而设计的,是一个后台数据库管理系统。它在企业数据处理、数据仓库和数据库解决方案等应用中起着重要的核心作用,为企业的数据管理提供了强大的支持,对数据库中的数据提供有效的管理,并采用有效的管理措施实现数据的完整性及数据的安全性[13]。它的特性包括:1、易于安装和使用SQLServer2000中包括一连串的开发与管理工具,这些工具可改进在多个站点上安装与部署、管理与使用SQLServer的过程。SQLServer2000同时也支持基于标准的、与WindowsDNA一体化的优化程序设计模型,使SQLServer数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能让你迅速交付SQLServer应用程序,让客户仅有很小的安装和管理开销执行这些应用。2、完全的Web支持SQLServer2000提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许您使用内置的存储过程以XML格式轻松存储和检索数据。您还可以使用XML更新程序容易地插入、更新和删除数据。通过Web轻松访问数据。有了SQLServer2000,可以使用来向数据库发送查询、对数据库中存储的文档执行全文搜索、以及通过Web进行自然语言查询。强大而灵活的基于Web的分析。SQLServer2000分析服务功能被扩展到了Internet。可以通过Web浏览器来访问和控制多维数据。3、可伸缩性和可用性使用SQLServer2000可以获得非凡的可伸缩性和可靠性。通过向上伸缩和向外扩展的能力,SQLServer满足了苛刻的电子商务和企业应用程序要求。SQLServer2000中包括一系统管理和开发工具,这些工具可改进同时在多个站点上安装、部署和使用SQLServer的过程。SQLServer2000利用了对称多处理器(SMP)系统实现了向上伸缩,SQLServerEnterpriseEdition最多可以使用32个处理器和64GBRAM。向外扩展可以将数据库和数据负载分配给多台服务器。它还支持基于标准的、与WindowsDNA集成的程序设计模型,使SQLServe数据库和数据仓库的使用成为生成强大的可伸缩性系统的无缝部分。这些功能可以快速交付SQLServer应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。4、企业级数据库功能SQLServer2000分布式查询让使用者可以引用来自不同数据源的数据,这些数据就好像是SQLServer2000数据库的一部分似的,分布式数据更新的完整性可以由分布式事务支持并得到充分保护。SQLServer2000关系数据库引擎能够支持目前非常严格的数据处理环境所需要功能。数据库引擎很有效地保护了数据的完整性,同时这能够很好地管理数以千计个并发修改数据库的用户的开销削减到最低[14]。5、数据仓库SQLServer2000能够很好地提供数据仓库功能,这个功能只有在Orcle和其他更昂贵的DBMS中才有。SQLServer2000中包括析取和分析汇总数据以进行联机分析处理(OLAP)的工具。SQLServer中还包括一些工具,可用来直观地设计数据库并通过EnglishQuery来分析数据[15]。2.6C#语言的特点C#是一种功能强大的面向对象的语言,程序员可以使用它快速开发种类丰富的应用程序。C#可以用于开发功能强大的windows/web应用程序,还能用于开发移动设备、手提设备和其他设备应用程序。由于C#具有一流的面向对象设计,使其成为从构建组件形式的高级商业对象到构造系统级应用程序的最佳选择。C#的目标是为开发人员提供一种简单而有效的面向对象语言语,它易于被具有C/C++知识的人员所掌握,它能支持功能强大的面向对象的组件的开发,它既提供C++没的的许多功能,同时又保留了C++强大的控制能力;它可用于编写桌面应用程序、移动设备的应用程序和Web应用程序。在很长一段时间里,C/C++是最具有生命力的程序开发语言,它们为开发人员提供了丰富的功能(如高度的灵活性和强大的底层控制能力),但这一切都是建立在牺牲开发效率上的。由于它们编写的代码难于控制,开发效率低下,所以开发人员必须忍受学习的艰苦和开发周期的长期性。随着Internet的飞速发展,Web应用程序日新月异,网络时时刻刻地展现着丰富多彩的一面。然而,这一切对C/C++开发人员来说却是巨大的痛苦,因为C/C++和Web结合得并非很好。面对这种情况,C#应运而生。它与C/C++有着很大程度的相似性,使得C/C++开发人员很快就能掌握,并且提供强大的应用Internet能力和对底层的控制能力,使得C#其迅速成为当今最为流行的开发语言之一。C#是专门为.NET应用开发的一种编程语言,从根本上保证了与.NET的完美结合。在.NET运行库的支持下,C#的优点展现得淋漓尽致。下面列举了一些C#突出的特点:优秀的面向对象的设计C#具有一切OOP语言的特性,除面向对象必备的封装、继承、多态等特性,还吸收了VB的快速开发经验,另外还有只允许单继承、没有了全局函数和全局变量、取消了全局常数、所有方法都必须封装在类中以及名称空间的使用、强类型的使用等特点。简洁的语法C#使用的语法是当今最为流行的语法结构,它所带来的最大的特色是没有了指针通过对名称空间的使用使代码结构更加合理。在通过名称空间后加符号“.”,就可以使用这个名称空间下的类及类中的方法,程序结构使程序开发人员一目了然。C#在托管代码中去掉了指针这个危险而又难以控制的功能,使程序越来越安全,也使开发程序越来越容易。精心地面向对象设计C#具有面向对象的语言所应有的一切特性:封装、继承与多态性。在C#的类型系统中,每种类型都可以看作一个对象。与Web的紧密结合在.NET框架的支持下,网络服务对C#来说就像是本地对象。使用C#可以十分方便地开发Web服务组件。使用C#语言,还可以轻松地利用ASP.NET技术快速开发基于Web的应用程序。良好的安全性和错误处理安全性和错误处理是衡量一种开发语言是否优秀的重要依据。C#在这方面的处理非常出色,强类型的检查提高了代码的安全性,例如不能使用未初始化的变量。C#具有优秀的错误处理能力,可以轻松地捕获各种异常,不但减轻了编程人员的工作量,同时更有效地避免了错误的发生,使程序更加稳健。实现了标准化C#已由欧洲计算机制造商协会标准化,成为标准化的程序开发语言。灵活性和兼容性在简化语法的同时,C#并没有失去灵活性。C#允许将某些类或者类的某些方法声明为非安全的。例如C#不支持类的多继承,但是通过对接口的继承,可以实现这种多重继承[16]。本章小结目前,开发在线考试系统的技术有很多,选择合适的技术对开发在线考试系统的性能有着决定性的作用。因此,在开发本系统前,对技术的选择具有很关键的作用。本章概述了开发本系统所需求的一些技术,首先介绍了软件工程的应用及其常见的模型,其次介绍了什么是B/S及其特点。然后介绍了开发在线考试系统中所使用到的各种软件,如ASP、SQLServer、ADO和面向对象的语言C#。这些技术是本系统开发的理论依据和技术基础。第3章系统需求分析3.1系统的目标分析本系统主要实现的目标如下:1、整个考试系统界面美观,操作简单,实用性强,能够对考生注册信息进行管理,能对试题进行管理、使添加、修改试题的操作简单化。2、无地区限制,对于已经注册的考生来说,可以随时随地通过Internet浏览器登录进行考试及查询成绩等操作,不受地区的限制。3、对于参加在线考试系统的考生,提供一个公平合理的考试,在考生参加考试过程中提供考试时间倒计时功能,让考生随时了解考试剩余时间。4、本系统具有自动交卷的功能,通过随机选取算法提供组卷的功能。并且能自动阅卷,为学生快速、公平、准确地提供考试成绩。5、本系统运行良好、状态稳定、安全性较高[17]。3.2可行性分析在线考试系统的推广应用,从狭义上看,它实现了计算机基础教育现代化;从广义上看,推广本项研究提出的在线考试系统,对推进教育改革、加快教学现代化进程都具有重要意义,有着广阔的应用前景和显著的社会效益。在政府部门推广和应用在线考试系统组织和普及计算机知识活动,可以推动“数字北京工程”;同时,通过考核手段,可以促进公务员提高计算机操作水平和业务水平面,进而提高工作效率。在线考试系统在学校的使用,是对校园网建设的补充和使用情况的检验,促进“校校通工程”的实施。在线考试系统在培训机构的使用,可直接服务于首都人才培训体系。“无纸化”模式的采用,能节约大量的纸张,为“环保工程”做出实际贡献。实施在线考试能极大推动信息技术教育的普及,基本建立起信息技术教室,彻底扫清了少数学校在黑板上讲计算机的死角,并基本配备了专用教室,在一定程度上保证了学生的上机时间,为培养学生实践能力提供了基础设施的保障。而且在安装高度在线考试软件过程中,通过对一定量的专职老师进行集中培训,专职教师的计算机专业知识水平,特别是对网络和系统维护能力普遍有所提高。为更迅速地获取有关考试的信息,各校纷纷加快实现“校校通”工程的步伐,使基础教育信息化建设又有了长足的进展[18]。技术可行性在开发某一项目时,必须确定实施定义的问题在技术上是否可行,研究可能影响完成一个可接受系统的能力的功能、性能和约束。以本系统为例,我们可以从二个方面来分析:1、软件:本系统在开发过程中,根据预想设定目标,结合本人的知识水平,可以熟练就等各种软件,而且这些软件足可以保证实现本系统的目标。2、硬件:做出以上软件的清单之后,找出用于开发解决方案的软件对硬件的要求,确定我校现有的硬件可以满足这些软件对硬件的要求。由此可见,从技术角度来看,本系统开发是可行的经济可行性根所我校实际情况:学生人数众多、班级数目多、学生考试的科目较多,而教师相对来说又较少,每年的各种考试只能按照不同的年级在不同的时间段进行,既费时又费力。在线考试系统,可以很好地解决中职学校人员不足问题;利用考试系统还可以不断地充实题库,解决教师反复出题的工作压力;利用考试系统可以由计算机来完成阅卷,减少人工阅卷的工作量并充分保证了阅卷的公平性与客观性。在线考试系统改变了现状、提高了效率、充分利用学校现有的计算机软、硬件资源和网络资源。由此可见,从经济角度来看,本系统开发是可行的[19]。3.2.3操作可行性本系统可以运行于各种操作平台,界面友好,操作方便,用户可以很快熟悉操作。本系统稳定性强,易于维护。由此可见,从操作角度来看,本系统开发是可行的。3.3系统需求问题描述为了开发出真正满足用户需求的软件产品,首先必须知道用户的需求。在收集需求时,开发人员努力从用户的角度来理解问题,而不是考虑技术或系统设计。对软件需求的深入理解是软件开发工作获得成功的前提条件,不论我们把设计和编码工作做得如何出色,不能真正满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,他的基本任务是准确回答“系统必须做什么?”这个问题。在线考试系统中生成题目、提交试卷、评阅成绩等全部都有计算机自动完成。只要提前拥有一套完整的题库就可以实现考试的自动化。需求分析的结果是系统开发的基础,需求分析在软件开发生命周期中的作用非常重要。无论软件的实现做多么好,如果需求分析阶段在某个点上没能准确地传达用户的需求,该实现就存在缺陷[20]。通过讨论,将得到“在线考试系统”的一系列情景,以及对每个情景的详细描述。这些情景共同组成了系统的一个通俗易懂完整的需求。此需求对于相关人员复审用户需求,项目的工作量估算和设计、测试系统都是十分重要的。系统功能需求通过与用户的面谈,并结合我校的实际情况可以确定该在线系统中共有三个实体对象:管理员、教师和学生。管理员参与的情景有:学生信息管理、教师信息管理、试题信息管理、考试结果管理、管理员信息维护。教师参与的情景有:创建考试、增加考题、修改考题等。学生参与的情景有:登录模块、随机抽取试题和查询本人成绩。此外,所用的用户必须能“登录”到系统。系统的功能需求如下:(1)考生信息功能:主要是实现显示考生的注册信息,以及考生信息的加、删除和修改密码的功能。(2)在线考试功能:主要是实现管理员生成试卷、控制考试、考生在线题、提交答案等功能。(3)管理员功能:主要是实现添加、删除管理员的功能。(4)成绩统计功能:主要是实现显示考试成绩、控制查看成绩的等功能(5)题目管理功能:主要是实现添加、删除、修改题目功能。3.系统非功能性需求功能性需求定义系统应该提供的服务和功能,而非功能需求描述它必须具备的质量和特性。这些是对系统所提供的服务或功能的约束,其中包括时间的约束、对开发过程和标准的约束。在线考试系统在充分考虑到了功能需求外,还应该具有如下非功能性需求[21]:实用性开发在线考试系统的首要任务就是实用性,它能够满足选择题、填空题和判断题等题型在线开始考试的要求。准确性在线考试系统应该具有准确性,在考生参加完考试后能够及时给出准确的成绩,并在学生考试过程中准确地计时,为每一个考生提供一个公平、准确无误的考试环境。3、安全性在线考试系统充分地考虑到了非正常情况的出现,使数据不丢失或者是尽可能地少丢失数据。例如考试过程中遇到网络突然中断、机器故障、电源断电等,可以采用一定的技术手段,将学生答题情况进行保存,在考生恢复考试后能够重新调用数据还原试卷接着答题,不用在重新开始,充分保证了学生考试的公平性。4.、系统的简单易用性在线考试系统要本着让用户很容易找到他们期望进行的各种操作;易学需要软件系统通过在线帮助,导航,向导等各种方式保证软件是可自学习的;易用的重点则在软件在熟练使用后应该可以更快的进行各项操作。这三者相互间也存在冲突,需要平衡,而平衡的一个重点就是真正的做到以用户为中心进行设计,需要去细分场景和用户[22]。3.4系统开发环境选择何种开发工具是软件开发成功的要素之一。开发工具的选择主要决定于系统的最终用户和开发人员。评估一种开发工具的好坏,不仅要看它的设计模式、对象结构以及管理的支撑情况,还要适应具体的使用环境、开发方法、结构体系等。3.4.1硬件平台主要功能:处理考试系统的WEB请求,集中存储和管理数据库的数据。配置要求:PentiumIVCPU及其以上产品;4GB内存;100M网卡;120G主要功能:通过IE浏览器访问考试系统,完成各项操作。配置要求:PentiumⅢCPU或与之相当的CPU产品;256M内存;硬盘空间4GB以上;10/100M网卡;支持1024*768显示器。3、网络要求考试用计算机需要安装网络适配器(网卡),并保证其能正常浏览Internet。考室应使用稳定的网络接入方式,如专线、光纤等。3.4.2软件平台与开发工具Web服务器:IIS5.0及其以上版本;服务器核心组件:.NETFramework。服务器数据库:SOLServe2005中文企业版及其以上产品。服务器操作系统:Windows2000Server及其以上产品客户机操作系统:MicrosoftWindows2000/XPSP2及其以上产品;开发语言:C#语言,技术框架编写。5及其以上产品。本章小结在本章中首先简述了本系统所要实现的目标、然后从技术可行性和经济可行性论证了开发本系统的必要性。并进一步叙述了开发本系统所要满足的功能需求和非功能需求。根所需求分析选择系统合适的软、硬件运行环境。第4章系统的设计与实现考试系统的系统结构图根据需求分析阶段对在线考试系统的功能分析,系统软件模块可划分为:管理员登录,题库管理,考试管理,新生注册,学生登录,在线考试,成绩查询,密码修改,教师登录等模块[23]。系统层次图如图4-1所示:前台功能结构图前台功能结构图随机抽取试题自动评分模块选择考试科目开始考试登录模块阅读考试规则在线考试系统在线考试系统教师登录教师登录试题添加选择题管理试题添加选择题管理试题修改填空题管理试题修改填空题管理判断题管理试题管理模块判断题管理试题管理模块试题删除试题删除后台管理结构图后台管理结构图考试结果管理管理员登录管理员登录学生信息管理学生信息管理教师信息管理教师信息管理试题信息管理后台管理员模块试题信息管理后台管理员模块考试结果管理考试结果管理管理员信息维护管理员信息维护图4-1系统结构图Fig4-1systemstructure4.2系统实现4.2.1实现过程概述本系统的总体设计思想是:在线考试系统设计目标是用基于Internet的无纸张考试模式代替传统的纸张考试模式。因此在线考试系统应具备传统考试的所有功能,如出题、判分、阅卷、成绩查询等功能,除此之外,还应具有用户管理、系统管理和系统安全等功能[24]。通过调查了解我校教学工作和学生考核的基本情况,结合软件项目开发的理论知识,提出一套合理可行的技术解决方案,实现教学管理工作的信息化与网络化,将学校教学管理中成绩考核工作通过网络在线考试系统来完成,为全校师生提供了现代化的教学管理服务[25]。4.2.2主要功能模块设计在线考试系统的合法用户有三类:分别是学生、教师和管理员。三类不同的用户具有不同的访问权限,成功登录以后可以访问相应的页面。下面我们根所用户的类型不同,把它们分为三个模块:即学生模块、教师模块和管理员模块。1、学生模块概述结束学生用户参与的事件是登录、考试、查询成绩。考生必须输入正确的学号、姓名和密码才能登录到系统中,学生成功登录后,选择考试科目,系统自动抽题组卷,开始考试[26]。学生参加活动时序如图4-2所示。在开始考试过程中,页面会出现计时器,提醒考生考时间,考生答完试题或是考试时间到,系统会自动结束考试。学生参加考试考生在结束考试后,可以查到考试成绩。系统自动计算出学生考试的正确率,最终得出学生分数,学生可在任何时间查询自己的考试结果,包括姓名、时间和分数[27]。结束学生登录界面和参加考试界面分别如图4-3、4-4所示。2、教师模块概述教师登录本系统后:能对考试科目进行管理,对试题进行浏览、增加、修改和删除等操作,设置考题的答案及分数,对试题库进行扩展或精简,以适应不同的考试人群。教师参加活动时序如图4-5所示。试题库在本系统中占有举足轻重的地位,它的好坏直接关系到考试的质量。一般情况来说,只有教师这种用户类型,才能对试题库进行管理,以此来避免其它用户对数据库进行非法的操作,对数据进行破坏,影响整个考试系统[28]。教师活动界面如图4-6所示。开始开始验证合法性验证身份管理员模块教师模块考试模块答题交卷查询本次成绩学生图4-2学生活动时序图Fig4-2studentoperationsequence图4-3学生登录图Fig4-3studentlogin图4-4在线考试图Fig4-4on-lineexam试题管理试题管理考试科目及题型选择身份验证开始增加、删除修改数据库表教师确认图4-5教师活动时序图Fig4-5teacheroperationsequence图4-6教师界面Fig4-6teacherinterface(1)增加考题教师用户每增加一道考试题时,都需要填写题目的科目、问题描述、分数及标准答案。教师输入后,可以点击保存按钮,将试题存入到题库中,待遇到创建考试时就可以使用它出卷。但是如果教师输入的试题编号或是内容已经存在于试题库中,或是输入的内容不完整,系统会将错误及其详细信息通知教师用户,以便教师及时改正。考虑到如果教师在新增加考题中包含图片的可能,可以在服务器上建立指定的文件夹,用于存放终端的这些图片[29]。如果教师需要新增加考试科目,系统会根据已经设定的字段建立新的科目考试表,教师只需要添写好新增加的科目名称及表名。添加试题界面如图4-7所示:图4-7添加试题图Fig4-7additionexamination(2)修改考题教师可以修改系统的一个或多个已有试题的信息,并将修改后试题重新存入到试题库中。其操作过程是:教师用户按科目或问题描述所含关键字查询出所有的试题列表,教师选择一个试题,修改其问题的描述或是答案选项,教师还可以继续选择其他试题进行修改,并将修改的试题信息保存到数据库中[30]。但是,对于试题各表中的主键中不用修改,以免造成数据库中数据混乱的现象。如果教师执行了非法操作,系统无法查询出试题列表或无法保存修改结果,系统将错误及其详细信息通知教师用户。(3)删除考题教师可以根据情况来删除不再需要的一个或是多个试题,在删除操作后,系统会出一个确认信息,来确认是否真的要删除此试题,一旦删除后,将通过SQL语句从数据库中删除该题,无法恢复[31]。试题管理界面如图4-8所示。图4-8试题管理图Fig4-8examinationmanagement(4)查找考题教师用户可以根据试题序号、试题科目、试题类型等条件在数据库中进行查询。3、管理员模块概述在线考试系统中只能有一名管理员,它属于考试系统中最高级的用户类型,它拥有本系统的最高权限。可以管理学生、教师这两类用户,并能指定用户类型,它对用户权限限制是通过对用户信息管理来实现的。对教师和学生两类用户信息,具有增加、修改、删除等操作;它还可以管理本系统的试题库。同时,管理员还能监控在线考试的全过程,包括考生参加考试情况、考生信息、考生成绩、考试科目的管理等多方面查询[32]。4.3关键技术4.3.1常见的组卷算法1、随机选取算法随机选取算法的核心:随机选取法根据利用计算机提供的随机函数或随机量,由计算机随机的抽取一道试题放入试卷表中,计算机不断地重复这种过程,直到完成组卷,或者是无法从试题库中得到满足控制参数的试题为止[33]。由些可见,随机选取算法结构简单,它对于单道题的抽取运行速度较快,非常适合于小型的试题库。2、回溯试探算法回溯试探法的核心:它是一种深度优先算法,它可以系统地搜索一个问题的所有解或任一解,它是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法,它是将随机选取法产生的每一状态类型纪录下来,按照深度优先方式继续搜索,当搜索失败时把上次记录的状态类型释放掉,然后再依据一定的规律变换一种新的状态类型进行试探,通过不断地回溯试探直到试卷生成完毕或退回至出发点为止[34]。这种算法,对于出题量和试题类型等条件比较少的系统而言,组卷成功率较好。但是在具体到一个应用时我们会看到这种算法对内存的占用量比较大,而且选取试题缺乏了随机性,组卷时间较长,因此它并不算是一种很好的用来自动组卷的算法。其算法可以描述为:①建立2个数组:Z(S)和U(X),线性表LIST,含义同上文中随机算法中的Z(S)、U(X),LIST。②如U(X)>Z(S),则按一定策略减少状态为S的U(X)值,并且增加与之相近的另一状态U(X)的值,并修改相应的LIST值,直到U(X)<Z(S)为止,否则,产生随机数N1,N1=INT(RAND(-1)×Z(S)),其值小于Z(S),读取N1记录,并对该记录作读取标志,抽取下一道题目时,有读取标志的记录不再有效。③若U(X)不等于0,则U(X)=U(X)-1,重复步骤2。④若LIST未满,则转向步骤1;否则,组卷成功。⑤算法结束[35]。3、遗传算法遗传算法的核心:它是一种并行的、能够有效优化的算法,具有运算快捷、容错性强等特点。它是进化算法的一种,最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、优胜劣汰的自然选择以及适者生存的进化机制等。在解决各类非线性问题时表现出的全局最优性、可并行处理性及高效率而深受喜爱[36]。运用遗传算法求解问题与变量无关,首先需将所要求解的问题表示成二进制编码,然后根据环境进行基本的操作。搜索过程时处理得出的解,降低了局部最优解的可能性,最后收敛到一个最适应环境条件的个体上,得到问题的最优解。遗传算法具有简单通用、全局寻优、收敛速度快等特点,并且适用于并

温馨提示

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

评论

0/150

提交评论