网络考试系统的设计与实现(共25页).doc

上传人:飞****2 文档编号:13630735 上传时间:2022-04-30 格式:DOC 页数:25 大小:838.50KB
返回 下载 相关 举报
网络考试系统的设计与实现(共25页).doc_第1页
第1页 / 共25页
网络考试系统的设计与实现(共25页).doc_第2页
第2页 / 共25页
点击查看更多>>
资源描述

《网络考试系统的设计与实现(共25页).doc》由会员分享,可在线阅读,更多相关《网络考试系统的设计与实现(共25页).doc(25页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上网络考试系统的设计与实现考号: 姓名:内容摘要随着计算机科学与互联网技术的发展,网络考试显示出其广阔前景。由于考试本身所具有的公正性及特殊要求再加之技术原因,在线考试系统一直未得到提倡。本系统在分析了传统考试与在线考试的特点之后,尝试给出一个包括试卷生成与管理及阅卷与成绩管理的在线考试解决方案。本文重点分析了系统实现过程中几个关键问题:将组卷抽象为组合优化问题,并设置试题属性,依据属性建立试题库;采用改进编码的遗传算法作为组卷方法,取代传统二进制编码,提高了组卷的效率与成功率;阅卷采用计算机阅卷与人工阅卷相结合的方法,减轻教师的负担;成绩自动生成、分析、发布,方便老师

2、和学生。本系统采用B/S三层结构作为系统的开发结构,使用ASP.NET技术进行开发,后台数据库使用SQL Server 2005,实现了网络考试系统。关键词自动组卷 在线考试 遗传算法 ASP.NET SQL C#第一章 绪论1.1背景目前我校大多数课程进行的考试都采用传统的考试方式,组织一次考试至少要经过几个步骤,即人工出题、教研组组长与主管教学的系领导审核批准制卷、试卷打印、考生考试、人工阅卷、成绩评定、试卷分析,并且在出试卷时必须要求制作一套完整的试卷(包括A卷和B卷)及相应的评分标准和参考答案,再加上考试教室的安排、监考老师的分配等,使学校消耗大量的人力、物力、财力、时间。显然,随着学

3、生人数的增多,考试类型的不断增加及考试要求的不断提高,学校的开支越来越大,教师的工作量也将会越来越大,从而严重影响学校的工作效率,并且考试本身就是一件十分繁琐和非常容易出错的事情,传统的考试方式已经越来越不能适应现代教学要求,应改变传统的纸张考试的方式,充分利用计算机和网络技术,实现计算机考试,从而使考试更加公正、客观。随着新校区学生数量越来越大,学校在计算机和网络方面的投入也越来越大,学生上网越来越方便。因此,本课题拟用学校现有的软硬件资源设计并开发一个适合我校管理实际,能针对不同课程科目进行考试的网络考试系统,从而提高学校在考试组织和考务管理方面的工作效率和工作质量,减轻教师和考务人员的工

4、作负担,降低学校开销,对推动学校管理机制的进一步完善,充分体现高校管理工作的先进性,具有重要意义。1.2 国内外研究状况计算机网络考试在美国诞生,历经多年,在国外得到广泛的运用。目前,世界上许多国际考试都采用网络考试的方式,比如微软认证,思科认证,惠普认证,以及TOFEL,GRE,这些考试都是通过网络实时进行的。并且国际电气和电子工程师协会的一些工作小组,开展了相关标准的制定和修订工作。在我国,将计算机与网络运用在考试上比较晚,但也有一些投入使用的考试系统,如计算机等级考试,驾驶员理论考试,以及最近投入使用的大学英语四六级考试等。我国教育部于2000年5月推出现代远程教育资源建设技术规范,其中

5、对网络题库、考试系统的建设规范进行了定义。教育部组织国内8所重点高校的有关专家成立教育部教育信息化技术标准委员会,开展网络教育技术标准研制,制定中国现代教育技术标准CELTS。1.3 考试系统的设计的目的和意义近几年来我校教学体制不断改革,对检验教师教学效果和学生学习效果的手段也一直在探讨中,但是除了计算机文化基础之外,其他科目还是利用教师手工出卷学生答卷的传统模式进行考试,而且多数情况下对试卷的处理还是沿用传统的手工处理的方式,虽然传统的手工方式对处理主观性试卷有一定的优越性,但是从整个考试环节看,又不可避免的出现以下几个问题。1试卷缺乏随机性:由教师手工编写具体的试卷,其中每道题均由教师指

6、定,每次考试学生面临的试卷相同。试卷从老师向学生传递的过程中会发生不同程度和形式的泄密,并且考生在考试时难以从技术上避免作弊行为的发生。2教师工作量极大,负担重:这主要表现在出卷和阅卷环节上。教师需要花费时间总结、整理本学期课程的内容和知识点,然后还要手工出题组卷。考试完毕后,还需教师评阅,登记,分析。在整个过程中工作量大,效率低。3考试场所缺乏灵活性:参加同一门考试的学生必须在同一时间内参加考试,需要教务部门专门安排考场和监考人员,这是一笔不小的开销。相比传统考试形式,网络考试系统的主要好处是一方面可以动态管理各种考试信息,只要准备试题量足够大、试题足够标准的试题库,老师便可以根据该课程的教

7、学大纲和教学内容制定组卷策略,设计试题的编制要求,计算机则可以根据一定算法按照要求从题库中取出满足条件的试题并生成试卷;另一方面利用该系统考试时间灵活,可以充分利用网络无限广阔的空间,随时对学生进行考试。简化传统考试过程,减轻繁重的考务工作,避免考试过称中的人为因素,提高考试考核水平和管理水平。此外,网上考试系统阅卷速度快,迅速给出客观题成绩,减轻老师阅卷负担。目前我校在许多方面都实现了信息化、网络化,但是期末考试大多数科目仍是传统考试模式。大量时间浪费在重复劳动上。计算机网络考试系统不但充分发挥校园网的功能,而且可以节约考试用纸,是考试方便、灵活,有效防止作弊,提高学校在考试组织和考务方面的

8、工作效率和质量。1.4 课题研究的主要内容目前常见的网络考试系统有两种,一种是基于客户机/服务器(即Client/Server,简称C/S)模式。另一种是基于浏览器/服务器(即Brower/Server,简称B/S)模式。采用C/S模式的考试系统,需在考试前在客户机安装考试应用程序、对数据库进行配置,系统维护困难,成本较高。在B/S模式下,用户界面是通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑在服务器端(Server)实现,减轻系统维护与升级的成本和工作量。在比较两种体系结构的优缺点的基础上,本系统设计采用B/S模式,将SQL Server 2005与ASP

9、.NET 2.0技术结合起来,实现系统的主要功能。本课题主要解决问题如下:1建立标准化试题库,方便实现试题的数字化管理。所谓题库就是试题的仓库,把经过教师认真编制或者仔细挑选出来的题目集合到一起,供试卷编制者随时查询和使用的集合,为题目的保存、分类和检索提供了便利,为试卷编制提供了高效率和低成本的手段。试题库是网络考试系统重要组成部分。2按照科学的策略智能组卷,从而提高出卷效率。网络考试系统试题库为依托,系统可以按照教师制定的组卷策略自动抽题组卷,从而提高出卷效率。3实现自动组卷、人工阅卷相结合和数据的有效保存。4实现管理员、老师、学生、试卷的信息管理。管理员维护系统,不同的老师具有不同的权限

10、去查看、修改、添加试题库,老师可以批改试卷、管理学生成绩,学生可以查看考试成绩。1.5本文章节安排本文包含以下几个部分:第一章 介绍课题选题背景、国内外研究现状、考试系统设计的目的和意义以及本文的工作内容。第二章 对系统所用开发技术进行相关介绍。第三章 对系统进行需求分析和总体设计。第四章 在线考试系统的实现。专心-专注-专业第二章 系统开发所用的相关技术2.1 SQL Server 2005在该考试系统设计中,选择SQL Server 2005作为后台数据库工具。SQL Server 2005是Microsoft公司SQL Server系列产品的第九版即SQL Server 9.0。它继承了

11、SQL Server以前版本的优点,同时又增加了许多功能,如企业数据管理,开发工作效率和商务智能等。与Microsoft公司的其他产品有良好的兼容性。它提供的几十种向导,覆盖了几乎所以的数据库操作(数据库的创建、维护、作业、警告、数据复制、转换等)。SQL Server 2005是微软公司开发的一个高性能的、多用户的关系型数据库管理系统。它是专为客户服务器计算环境设计的,是当前最流行的数据库服务器系统之一,它提供的内置数据复制功能、强大的管理工具和开放式的系统体系结构为基于事务的信息管理方案提供了一个卓越的平台。它是一个全面的数据库平台,使用集成的商业智能工具提供了企业级的数据管理。MS SQ

12、L Server 2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用性和高性能的数据应用程序。它有一套很好的安全性控制机制,可以保证数据库和数据库中数据的安全。采用SQL Server 2005为后台数据库,在库记录检索中,用简单查询、多条件组合式查询和基于内容的搜索式查询;在记录集显示中,采用记录集多页显示技术、数据库访问直接采用,这方便系统移植,数据库访问效率更高。2.2 ADO.NET技术ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问。数据共

13、享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、处理和更新所包含的数据。ADO.NET是.NET Framework的一部分,可以让应用更加容易的管理和维护基于文件的或者基于服务器的数据存储。ADO.NET类在System.Data命名空间下,这些类包括连接到数据源,执行命令,存储,控制,获取数据的功能。所用ADO.NET技术如下:ADO.NET对象模型中有五个主要的部件,分别是:Connection物件:Connection对象主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,书无法从数据库中取得数据的,这个物件在ADO.NET的最底层。Command物件

14、:Command对象主要可以用来对数据库发出一些指令(查询、新增、修改、删除等)。DataAdapter物件:DataAdapter对象主要是在数据源以及DataSet之间执行数据传输工作,他可以通过Command对象下达命令后,并将取得的数据放入DataSet对象中。这个对象是架构在Command对象上,并提供了许多配合DataSet使用的功能。DataSet物件:DataSet对象可以视为一个暂存区(Cache),可以把从数据库中查询到的数据保留起来,甚至可以将这个数据库显示出来。Dataset不仅可以存储多个数据表,而且可以通过DataAdapter取得数据表的结构,并可以记录数据表之间

15、的关联。DataSet对象是ADO.NET中的重要对象,架构在DataAdapter上。DataReader物件:当只需要读取数据而不需要其他操作时,使用DataReader对象。DataReader对象一次只读取一笔数据,并且这些数据是只读的,不允许其他操作。这样节约资源,效率很高,并且不用把数据全部传回,可以降低网络负载。2.3 ASP.NET技术ASP.NET是一项功能强大的、非常灵活的服务器端技术,他用于创建动态Web页面。ASP.NET是微软公司的ASP 和.NET Franmework在两项技术的结合。ASP.NET允许使用.NET Franmework的任何语言(如VB.NET,

16、C#等)创建Web应用程序。与更高级的编程语言相比,一个主要区别是ASP.NET提供了完整的服务器端对象模型,可以在运行期间使用。ASP.NET可以在环境中把页面上的所有控件作为对象来访问。在服务器端,还可以访问其他.NET类,与许多有用的服务集成起来。在页面上使用的控件有许多功能,实际上可以完成Windows Form类的几乎所有功能,有非常大的灵活性。因此,生成HTML内容的ASP.NET通常称为Web窗体。ASP.NET提供许多比过去的Web开发模型更加优异的功能。第一,ASP.NET实现了应用程序代码与HTML分离,产生易于阅读的代码模块。在传统的ASP页中两种代码是混合在一起的,非常

17、不利于开发人员纠错和系统后期维护和扩展。ASP.NET已经很好的解决了这个问题,HTML代码*.aspx文件中,而事件的 处理代码保存在*.aspx.cs中。这样使前台后台分离,同时增加了系统的安全性。第二,ASP.NET是一个编译式的.NET环境,开发者可以使用.NET Framework下的语言编写ASP.NET,从而开发出快速可靠的动态网页。本设计选择C#语言。第三,ASP.NET不仅能够享受到.NET Framework运行时在效率上的诸多强化,他本身也是经过重新设计,使其效率大幅超越ASP和其他Web开发平台。第三章 在线考试系统需求和总体设计3.1对系统的综合要求本系统是一个基于校

18、园网的考试系统,系统设计必须满足一下要求:1安全性操作人员进入系统时首先应进行登录,只有通过身份验证后才能操作,以防止误权限的人员进入系统。2保密性考试系统中的试题是要严格保密的,信息不得泄露。这是考试系统最重要的要求。3完整性考试系统的信息在存储或传输过程中保持不会被修改、不被破坏和不丢失的特性。4可用性可用性是指系统中的数据可被合法用于访问并按照要求的特性使用,当操作人员使用时应能够正常准确无误地存取。5可控性可控性是指对在线考试的信息及系统实施安全监控。3.2用户需求分析要设计一个性能良好的管理系统,明确用户的应用环境对系统的要求是首要的和基本的。本系统从以下几个方面对用户的需求进行了分

19、析:1用户的信息需求:考生能查询有关考试通知、考试成绩;系统管理员和教师都能够查询题库信息、系别班级信息、考生成绩信息;2用户的处理需求:教师能对题库执行增加、删除可修改操作,可以按照一定策略组卷,批改试卷;管理员能对考试科目、试题类型、人员信息进行增加、删除和修改,可以设置考试信息,经考试主管领导的审核后就可考试;在考试时,系统根据考试信息的设置自动生成试卷;系统控制考试时间、考试成绩自动生成、多功能查询等。3对系统的适应性、通用性要求:要求系统能够不受未来课程设置变化的影响,仍然能照常使用。通用性方面,要求系统不仅能够进行计算机考试,而且其他系或专业稍作设置或改动也能使用本系统进行无纸化网

20、络考试。4对系统的安全性要求:要求进入系统必须进行口令校验。3.3系统的功能需求分析本系统的用可分为管理员,教师,学生三类。考虑到系统的安全性,本系统供分为两个界面:一个界面用于管理员和教师登录,主要负责进行基本资料、题库、试卷、成绩的管理和查询等;另一个界面用于考生登录,主要负责在线考试、成绩查询等。总体上考虑,该考试系统应该实现下列功能:对管理员来说,主要包括管理基本资料(包括教师、学生资料的增、删、改以及个人资料修改)、控制与分配用户的访问权限,保障系统的安全性,防止非法访问。对教师来说,包括试卷管理、题库管理、成绩管理。1试卷管理:教师可以从课程,难度系数,各种题型的数量等方面对某份试

21、卷提出一定要求生成若干份试卷,在学生考试时,由系统根据学生信息随机选一份试卷分发给学生,不需要手工组卷。同时,教师还可以对生成的试卷进行修改删除。2题库管理:教师可以根据教学需求对题库中进行添加新的考题,删除旧的考题,修改原有考题,其中试题类型包括判断题、填空题、单选题、多选题、简答题、计算题等;对于每种题型,教师可以设置题干、答案、难度系数、所属科目、所属章节、估计答题时间等属性。3成绩管理:对于计算机无法判断的主观题,由人工批阅,然后系统自动将成绩统计出来进行分析,包括各个分数段人数、及格人数、不及格人数等 。对于学生来说,包括查询考试信息、在线考试、查询以往考试成绩。1考生可以查询即将开

22、始的考试。 2在线考试:考虑到我院实际情况,学生必须在计算中心集中参加考试,答完一种题型,就将试题答案提交到服务器,不允许返回修改。本系统添加考试计时器,一方面提醒考生注意考试时间,一方面当考试结束时,强制提交试卷。3查询以往考试成绩:学生可以在线查询以前参加过的考试的成绩。3.4系统的体系结构本系统的体系结构设计主要采用B/S的三层结构:表示层、应用层、数据层。其中,表示层是客户端浏览器;应用层是具有应用程序扩展功能的Web服务器,包括事物处理逻辑,位于服务器端;数据层即数据库服务器。这种结构的工作流程是:用户通过浏览器向网络中的某一Web服务器提出请求,Web服务器对用户验明身份后,首先执

23、行相应的扩展应用程序与数据库联通,通过SQL语句向数据库发出数据处理申请,然后将数据库处理结果交给Web服务器后,在由Web服务器传送到客户端浏览器。三层体系结构如下图3-1所示。图3-1三层体系结构3.5系统的功能模块划分本考试系统可分为管理员模块、教师模块、学生模块。系统总体模块划分如图3-2所示。图3-2 系统功能模块图下面对本考试系统的主要功能模块进行详细介绍。一、管理员模块1管理员登录:管理员通过验证登录进入系统管理界面。2考试信息管理:管理员发布最近一段时间的考试信息,方便考生查询。3科目管理:管理员可以对考试科目进行添加、修改删除。4用户管理:管理员可以对用户账号、用户信息、用户

24、权限进行管理。5题型管理:考虑到本考试系统的通用性,允许添加新的题型,但是需要以管理员身份添加。二、教师模块1教师登录:通过验证身份,教师进入教师界面。2题库管理:教师可以对试题库进行添加、编辑、删除。3学生管理:教师可以管理参加考试的学生信息。考生信息包账号、密码、姓名、院系等。考生信息来自教务部门,考生无需注册。4试卷管理:教师可以按照一定组卷策略,从试题库中抽取试题,组成试卷,并且可以对试卷进行修改和删除。5成绩管理:包括试卷主观题批阅功能。系统会将计算机阅卷部分与人工阅卷部分的分值相加,存储在数据库中。系统对考试成绩进行统计和分析,教师、学生可以查看成绩。三、学生模块1学生登录:首先对

25、考生进行身份验证,才能进入系统。2在线考试:学生选择自己将要参加的的考试科目,到考试时间后,学生开始考试,客户端时间与服务器时间同步。考试方式为做完一种题型,便将答案提交至服务器,不允许返回修改。考试结束,强制提交试卷。客观题由系统批阅,主观题由教师批阅。3成绩查看:阅卷完毕后,考生可以查看考试成绩信息。3.6数据库设计网络考试系统的数据库功能主要体现在对各种信息的提供、保存、更新和查询上,包括用户信息、试题信息、试卷信息、学生成绩信息等。本文参与设计的数据表如下:一、题目表(problem)3-1:表3-1题目表字段名数据类型字段说明键引用备注problemidint题目编号PK主键(自动增

26、1)problemvarchar(2000)题干chooseavarchar(100)选项Achoosebvarchar(100)选项Bchoosecvarchar(100)选项Cchoosedvarchar(100)选项Danswervarchar(2000)参考答案diffleveldouble难度系数estimatetimesmallint估计答题时间scoresmallint分值chapteridsmallint章节problemtypeidsmallint试题类型号FK引用试题类型表的problemtypeidcourseidsmallint科目FK引用课程表的courseid二、考

27、生答题表(stuproblemscore) 3-2:表3-2考生答题表字段名数据类型字段说明键引用备注indexnointPK主键(自动增1)stuidint学生号FK引用学生表的stuidproblemidint题目编号FK引用题目表的problemidstuanswervarchar(2000)学生答案papernamevarchar(10)试卷名称stugetscoresmallint应得分数problemtypeidsmallint试题类型FK引用试题类型表的problemtypeidanswervarchar(2000)参考答案ifchangebit标志是否批改scoresmalli

28、nt分值problemvarchar(2000)题干courseidsmallint科目FK引用科目表的courseid三、试卷信息表(paperinformation)3-3:表3-3试卷信息表字段名数据类型字段说明键引用备注papernamevarchar(10)试卷名称PK主键courseidsmallint课程号FK引用课程表的courseidmaketimedatetime制作时间tarttimedatetime开始考试时间studepartmentnchar(20)院系参加考试考生的院系papertypenchar(20)试卷类型testtypenachar(20)测试方式endt

29、imedatetime考试结束时间stumajornchar(20)考生专业diffleveldouble难度系数ifchangebit标志此卷是否批改ifcommisionbit标志此卷是否批准使用coursenamevarchar(20)课程名称四、学生成绩表(studentscore)3-4:表3-4学生成绩表字段名数据类型字段说明键引用备注stuidint学生号PK,FK引用学生表的stuidcourseidsmallint课程号PK,FK引用课程表的courseidscoresmallint分数五、题目类型表(problemtype)3-5:表3-5题目类型表字段名数据类型字段说明键

30、引用备注problemtypeidsmallint试题类型号PK主键(自动增1)problemnamevarchar(20)试题类型名称六、试卷表(temper)3-6表3-6试卷表字段名数据类型字段说明键引用备注numberintPK主键(自动增1)papernamevarchar(10)试卷名称FK引用试卷信息表的papernameproblemidint试题编号FK引用题目表的problemidproblemvarchar(2000)题目chooseavarchar(100)选项Achoosebvarchar(100)选项Bchoosecvarchar(100)选项Cchoosedvar

31、char(100)选项Danswervarchar(2000)参考答案scoresmallint分值problemnamevarchar(20)试题类型名称diffleveldouble难度系数estimatetimesmallint估计答题时间chapteredsmallint章节problemtypeidsmallint题目类型FK引用试题类型表的problemtypeidcourseidsmallint课程号FK引用课程表的courseid3.7数据表的逻辑结构在本系统中,设计到多个数据表的操作,其中有些表会与多个表有关联,各表的逻辑结构见图 3-3所示。第四章 在线考试系统的实现4.1

32、在线考试子系统功能实现在线考试子系统的主要功能:(1) 考生登录。(2) 考生在线作答试题。(3) 系统计时并在考试临近结束时给出提示。(4) 考生提交试卷。这里考生提交试卷实现为:做完一种题型就将本题型所有试题提交,若要返回修改,则需要重新作答。若考生掉线,则返回重新登录,已经提交的试题则会保存起来,未提交的试题,则需要重新作答。在线考试子系统流程图如图4-1所示。图 3-3 数据表逻辑结构图图4-1在线考试子系统流程图学生登录考试系统后,进入考试界面,点击“开始考试”,则本次考试出现的大题类型将进入下拉框,没有将所有题型一次列举出来,是因为考虑到系统扩展性,每次考试题型可以不同。学生选择相

33、应题型之后,点击“确定”,则该大题所有小题将出现。做完本大题之后,点击提交,则学生所做答案将提交至服务器。考试界面显示考生信息、服务器时间等。在线考试界面如图4-2所示。图4-2在线考试界面4.2试卷管理子系统功能实现教师登录系统后,选择进入出题规则界面,制定试卷总体控制参数,如总分、难度系数、章节、分值以及题量等。设定设置后,点击“确定”后,系统采用遗传算法出题,试题将放入试卷表中,试卷信息将放入试卷信息表中。出题规则界面如图4-3所示。图4-3出题规则界面4.3成绩管理子系统的实现学生提交的答案将保存在考生答题表中。教师进入成绩管理子系统时,点击“计算机阅卷”之后,系统自动判阅客观题。系统

34、将计算机不能判阅的题目以及其参考答案、标准答案、分值显示出来,供教员判阅。最后生成考试成绩。阅卷管理界面如图4-4所示。图4-4阅卷管理界面生成成绩后,教师可以进入查询界面查看学生成绩。同时本次考试不及格人数、不及格人员的姓名、各分数段人数等奖显示出来,供教师参考,同时可以生成考试分析报告格式,部分内容由教师亲自填写。成绩查询分析界面如图4-5所示。图4-5成绩查询分析界面4.4遗传算法的实现基于遗传算法的组卷方法在实现时,首先选择出符合出卷人要求章节、题型的试题,设定试题号、试题难度系数、章节号、题目类型号、估计时间、分值等属性作为参数,然后对各项数据进行处理。算法编码采用C#语言。一、数据

35、的获取遗传算法进行操作时,需要用到试题号、试题难度系数、章节号、题目类型号、估计时间、分值。这些属性需要导入内存,遗传算法才能运行。试题库中的题量是巨大的,所以,先选择出符合出卷人所要求的章节、题型的试题,再将这些属性导入内存,才能提高效率。数据获取的流程如图4-6所示。图4-6数据获取流程图二、数据处理数据处理步骤如下:1. 数据预处理由于染色体编码采用整数编码,所以对内存中的记录进行重新编号后,才能使用随机函数。使用ADO.NET技术中的DataTable,增加一列作为主键,从1开始,以1为步长增长,并记录题目总量problemno。这些数据存放在数据集DataSet中的数据表中,表示为d

36、s.Tables“problem”。数据预处理部分代码如下:public void getproblem()/获取试题并编号DataTable fun = new DataTable(problem);DataColumn primarykey = new DataColumn();primarykey.DataType = System.Type.GetType(System.Int32);primarykey.AutoIncrement = true;primarykey.AutoIncrementSeed = 1;primarykey.ColumnName = key;fun.Colum

37、ns.Add(primarykey); fun.PrimaryKey = new DataColumn fun.Columnskey ;2种群初始化种群初始化就是要构造若干条染色体,每条染色体长度为试卷题目总量questionno,由出卷人指定。染色体中的基因为试题在内存中的编号,在1problemno中随机产生。本系统将染色体个数设为20条,并将这些染色体存放在一个DataTable中,表示为gadatattable(“ga”)。种群初始化部分代码如下:public void initialize()/种群初始化Random ra = new Random();for (int k = 0;

38、 k 20; k+) DataRow dr = gadatattable.NewRow(); for (int j = 0; j question; j+) drj = ra.Next(1, problemno); gadatattable.Rows.Add(dr); 3计算评价值扫描gadatattable(“ga”)中一条染色体的基因,表示为t,然后采用ds.Tables“problem”.Rows.Find(t)方法从ds.Tables“problem”找到相应记录。将章节号、试题类型号、难度系数、估计时间、分值存入一张DataTable中。一条染色体的属性需要一张DataTable存储

39、,表示为temptable。使用方法getchapter、probtype、getdifficult、gettime、scor分别评价该条染色体在章节、试题类型、难度系数、估计时间、分值方面是否达到要求。最后将这些评价值按照各自权重wi计算出整卷指标F。评价值计算流程图如图4-7所示。图4-7评价值计算流程图4轮盘选择按照轮盘选择法,产生新的种群。轮盘选择流程图如图4-8所示。图4-8轮盘选择流程图5杂交首先根据杂交概率=0.25,随机产生杂交染色体,染色体个数须为偶数个。然后再随机产生每对染色体杂交的位置,俩个染色体对该位置之后的片段进行交换。杂交流程图如图4-9所示。图4-9杂交流程图6变

40、异种群中每个染色体中的每个基因变异的概率是相等的,产生20*questionno个随机数,如果小于=0.01则变异此位。变异流程图如图4-10所示。图4-10变异流程图三、数据保存将循环最后一次种群中最好的染色体选出,根据试题号,将完整的题目从数据库中导出,存放到试卷表中。数据保存流程图如图4-11所示。图4-11数据保存流程图4.5算法总控制程序算法总控制程序部分代码如下:public void ga() farray =this.f();/计算评价值 this.lunpan(farray, gadatattable);/新的染色体 this.zaijiao(gadatattable);/杂

41、交 this.bianyi(gadatattable);/变异public void chujuan() /出卷 ArrayList temper = new ArrayList(); this.initialize(); for (int I = 0; I problemno/2; I+) this.ga(); temper=this.lastchoose(); this.getpapter(temper);public void lunpan()/轮盘选择法public void zaijiao()/杂交public void bianyi()/变异 考试在教育中起着举足轻重的作用,它为教

42、育者提供检测教学效果的手段。利用计算机取代传统纸张考试模式,具有公正、快捷、高效的特点。本文对组卷部分进行了重点研究,将组卷问题抽象为组合优化问题,通过对其建立数学模型,详细阐述如何利用该模型将遗传算法应用到组卷当中去。本系统以C#语言作为编程语言,以ASP.NET 2.0为开发平台,采用B/S结构,进行了系统开发与部分功能实现。参考文献1、 Z.米凯利维茨.演化程序遗传算法和数据编码的结合.科学出版社,2001:25-262、Sahil Malik. Pro ADO.NET 2.0.Apress, 2005:1-103、Christian Nagel,Bill Evjen,Jay Glynn

43、.C#高级编程.清华大学出版社,2005:3-164、萨师煊,王珊.数据库系统概论.高等教育出版社,2006:3-205、朱玉祥,苗春生,孙承佼.基于遗传算法的试题库智能组卷系统研究.南京气象学院学报.2006.46、仇明.基于改进遗传算法的组卷研究.湘南学院学报.2009.107、杨青.基于遗传算法的试题库自动组卷问题的研究.济南大学学报.2004.98、李涛.网络在线考试系统研究与实现.昆明理工大学.2007:1-3;40-469、Bill Evjen等.ASP.NET 2.0高级编程.清华大学出版社,2005:1-1710、王小平,曹立明.遗传算法理论、应用与软件实现.西安交通大学出版社.2001:38-4911、郭素蓉.学校通用考试系统的设计与实现.电子科技大学.2007:1-512、兰秀芹.基于WEB的题库系统的设计与实现.大连海事大学.2007:39-43

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁